From 25b58c36e13fbdd4969ed1c1bcb35a8f410dce11 Mon Sep 17 00:00:00 2001 From: Michele Cereda Date: Tue, 24 Jun 2025 23:45:01 +0200 Subject: [PATCH] chore(pulumi): operate on specific resources only --- snippets/pulumi/commands.fish | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/snippets/pulumi/commands.fish b/snippets/pulumi/commands.fish index b2f8eb0..0697db6 100644 --- a/snippets/pulumi/commands.fish +++ b/snippets/pulumi/commands.fish @@ -109,10 +109,24 @@ pulumi state move --source 'organization/utils/dev' --dest 'organization/iam/dev 'urn:pulumi:dev::utils::aws:iam/role:Role::rdsToS3Exporter' \ 'urn:pulumi:dev::utils::aws:iam/rolePolicy:RolePolicy::rdsToS3Exporter-allowExportingSnapshotsToS3' -# Upgrade providers' versions +# Upgrade providers' versions in projects' definition files. jq '.dependencies."@pulumi/aws" |= "6.66.2"' 'package.json' | sponge 'package.json' \ && pulumi install && pulumi update --suppress-outputs +# Update only resources with a specific provider version. +pulumi update --suppress-output ( \ + pulumi stack export \ + | jq -r '.deployment.resources[]|select(.provider)|select(.provider|test("6.80.0")).urn' \ + | sed 's/^/-t /g' \ + | xargs \ +) + +# Limit the update run to only execute the 'delete' operations. +pulumi pre --suppress-outputs --json \ +| jq -r '.steps[]|select(.op=="delete").urn' - \ +| sed 's/^/-t /g' \ +| xargs -o pulumi update --suppress-outputs + # Enable patch force for target resources (k8s-helm only) PULUMI_K8S_ENABLE_PATCH_FORCE='true' \ pulumi up --target 'urn:pulumi:someStack::someProj::kubernetes:helm.sh/v4:Chart$kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition::awsLoadBalancerController:targetgroupbindings.elbv2.k8s.aws'