Migrate DeploymentSettings to infer - #835
Draft
iwahbe wants to merge 2 commits into
Draft
Conversation
Contributor
Does the PR have any schema changes?Looking good! No breaking changes found. Maintainer note: consult the runbook for dealing with any breaking changes. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #835 +/- ##
==========================================
+ Coverage 53.93% 55.47% +1.53%
==========================================
Files 82 82
Lines 9537 9379 -158
==========================================
+ Hits 5144 5203 +59
+ Misses 3946 3736 -210
+ Partials 447 440 -7 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Member
Author
|
Metabase confirms that a |
iwahbe
force-pushed
the
iwahbe/migrate-deployment-settings
branch
2 times, most recently
from
June 9, 2026 16:25
494fb7a to
137eab6
Compare
Replaces the manual `PulumiServiceDeploymentSettingsResource` implementation with an infer-based resource. The nested types (executor/source/git/github/vcs/operation/oidc/cache) are re-declared as Go structs. SetToken is used on each nested type so the public schema token names remain stable (`DeploymentSettingsGithub`, `DeploymentSettingsVcs`, `OperationContextOptions`, `OperationContextOIDC`, `AWSOIDCConfiguration`, `GCPOIDCConfiguration`, `AzureOIDCConfiguration`). Secret values are surfaced via `provider:"secret"` field tags. The legacy dual plaintext/cipher dance is replaced by a simpler model: inputs hold the user-supplied plaintext, and on Read we fall back to the previously-known plaintext (preserving infer's intent that input drift detection remains meaningful when the API only returns ciphertext). `sourceContext.git.gitAuth` is write-only — Pulumi Cloud does not echo it on read — so Read preserves the previously-declared gitAuth instead of reconstructing it, preventing a spurious `sourceContext` diff on refresh. The Check method normalizes AWS OIDC `duration` strings to the canonical `XhYmZs` form, matching the legacy behavior. SDKs regenerated from the updated schema.
iwahbe
force-pushed
the
iwahbe/migrate-deployment-settings
branch
from
June 10, 2026 08:30
137eab6 to
9cff04b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
DeploymentSettingsresource from the manual gRPC framework to theinferframework.Notes
DeploymentSettingsGithub,DeploymentSettingsVcs,OperationContextOptions,OperationContextOIDC,AWSOIDCConfiguration,GCPOIDCConfiguration,AzureOIDCConfiguration) keep their original schema tokens viaSetToken, so the public surface is unchanged.provider:"secret"), andReadfalls back to the previously-known plaintext when the API returns ciphertext, so refresh on an unchanged secret does not appear to drift.Checkmethod normalizes the AWS OIDCdurationfield to the canonical1h0m0sform, matching the legacy behavior.Test plan
make provider(schema regen)make build_sdksgo test ./...inprovider/pkgmake lint(provider, sdk, examples)