icy-traffic-21460
09/08/2025, 6:56 PMpendingConfirmation
field of an email
aws.sns.TopicSubscription
? pulumi seems to always be returning true
, even if the subscription has been successfully confirmedicy-traffic-21460
09/08/2025, 6:59 PMaws sns list-subscriptions-by-topic --topic-arn MY_TOPIC_ARN
returns
{
"Subscriptions": [
{
"SubscriptionArn": "MY_TOPIC_ARN:SOME_UUID",
"Owner": "MY_ACCOUNT_ID",
"Protocol": "email",
"Endpoint": "MY_EMAIL",
"TopicArn": "MY_TOPIC_ARN"
}
]
}
but when i check pendingConfirmation
for the same subscription in pulumi, it returns true
icy-traffic-21460
09/08/2025, 7:01 PMaws.sns.TopicSubscription.arn
seems to always return a real-looking arn, even though in AWS, the arn retrieved via the cli for a subscription that hasn't been confirmed yet is always the string "PendingConfirmation"
2. it seems the aws.sns package's only method is GetTopic
, so i can't even use list-subscriptions-by-topic
directly to work around this...little-cartoon-10569
09/08/2025, 7:57 PMpulumi refresh
to a specific URN.little-cartoon-10569
09/08/2025, 7:58 PMblue-jelly-20468
09/08/2025, 9:05 PMicy-traffic-21460
09/08/2025, 9:48 PMicy-traffic-21460
09/08/2025, 9:55 PMrefresh
says no changes
, but after running the refresh anyway, up
now sees pendingConfirmation=false
icy-traffic-21460
09/08/2025, 9:57 PMpendingConfirmation
is an output (but not an input)? i guess i'm a little surprised refresh
doesn't report changes in outputs...little-cartoon-10569
09/08/2025, 11:20 PMblue-jelly-20468
09/09/2025, 4:33 PMblue-jelly-20468
09/09/2025, 4:34 PMblue-jelly-20468
09/09/2025, 4:34 PMicy-traffic-21460
09/09/2025, 5:56 PMrefresh
to log output changes as well!icy-traffic-21460
09/09/2025, 6:25 PMicy-traffic-21460
09/09/2025, 6:27 PMAnd of course you can use the AWS SDK in your Pulumi projects, when necessary.is there a guide on that? i'd like to use it for deleting resources (for example, to delete the default VPC)
little-cartoon-10569
09/09/2025, 8:00 PMapply()
, or I prefer to expose Pulumi's promise()
method and use that:
declare module "@pulumi/pulumi" {
export interface OutputInstance<T> {
promise(withUnknowns?: boolean): Promise<T>;
}
}
That allows you to call yourresource.itsproperty.promise()
and your Output is now a Promise. Which plenty of SDK functions work with.
https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.htmlicy-traffic-21460
09/09/2025, 10:44 PMPlan
reporting to report changes to unmanaged resources?
for example, i want to use the AWS SDK to delete the default VPC. i have something like the following:
if pulumi.runtime.is_dry_run:
pulumi.log.info('preview delete default VPC')
else:
ec2.delete_vpc(VpcId=default_vpc_id)
pulumi.log.info(f'Deleted default VPC {default_vpc_id}')
instead of using pulumi.log
, is there any way to integrate into change reporting (so in this case pulumi would report 1 deleted
)?
do i need to do something like... manually call pulumi.runtime.registerResource
and then somehow mark it for deletion? or is this just not really something that's supported?little-cartoon-10569
09/09/2025, 11:03 PMicy-traffic-21460
09/09/2025, 11:05 PMup
? i'd need to add the code, run up
, then delete the code (with force_destroy
) and run up
again? that's not really a tenable process...little-cartoon-10569
09/09/2025, 11:10 PMicy-traffic-21460
09/09/2025, 11:13 PMicy-traffic-21460
09/09/2025, 11:13 PMlittle-cartoon-10569
09/09/2025, 11:13 PMicy-traffic-21460
09/09/2025, 11:14 PMlittle-cartoon-10569
09/09/2025, 11:15 PMicy-traffic-21460
09/09/2025, 11:17 PMblue-jelly-20468
09/10/2025, 9:01 PMicy-traffic-21460
09/10/2025, 9:02 PMicy-traffic-21460
09/10/2025, 9:03 PM--show-state-changes
or something, doesn't necessarily have to be enabled by default - i feel like there just needs to be SOME way to have visibility into it!blue-jelly-20468
09/10/2025, 9:03 PMblue-jelly-20468
09/10/2025, 9:04 PMblue-jelly-20468
09/10/2025, 9:04 PMicy-traffic-21460
09/10/2025, 9:04 PMrefresh
rather than preview
right?blue-jelly-20468
09/10/2025, 9:05 PMblue-jelly-20468
09/10/2025, 9:05 PMicy-traffic-21460
09/10/2025, 9:05 PMrefresh
runs a preview
or if it goes directly to the state file...blue-jelly-20468
09/10/2025, 9:06 PMicy-traffic-21460
09/10/2025, 9:15 PMup
will work against the state file rather than fresh values. i wonder if there should be a flag --refresh
or something on up
that performs a refresh before proceeding (and maybe it just fails the operation if the refresh would make any changes). that way you're guaranteed that up
is seeing the latest "real" state. i guess what i think would make sense is something like pulumi refresh --preview-only --expect-no-changes && pulumi up
... except the docs for --expect-no-changes
say This check happens after the refresh is applied
which i think is kind of silly, there should be a way to do it before applying?
2. refresh
making changes to the state without reporting itblue-jelly-20468
09/10/2025, 9:16 PMblue-jelly-20468
09/10/2025, 9:16 PMblue-jelly-20468
09/10/2025, 9:17 PMblue-jelly-20468
09/10/2025, 9:17 PMicy-traffic-21460
09/10/2025, 9:18 PMlittle-cartoon-10569
09/10/2025, 9:20 PM--refresh
flag on the up
command? It's like your mind has been read! ;)icy-traffic-21460
09/10/2025, 9:22 PMicy-traffic-21460
09/10/2025, 9:23 PMpulumi refresh -y
?icy-traffic-21460
09/10/2025, 9:27 PMrefresh
supports it directly, i don't mind too much whether or not it's available on up
since i can always run pulumi refresh && pulumi up