Is there a reason why `deleteBeforeReplace` is not...
# general
c
Is there a reason why
deleteBeforeReplace
is not part of
pulumi/awsx
?
l
Where are you seeing that? deleteBeforeReplace is a member of a base class provided by pulumi/pulumi; pulumi/awsx builds custom and component resources on top of pulumi/pulumi. There's no reason for the opt not to be there. Perhaps you're looking at a ComponentResourceOptions instance? Component resources don't have this option. It's not specific to awsx.
You can pass it into the various CustomResources constructed within the ComponentResources, if you need to.
c
awsx.ec2.Vpc
for example doesn't have it
l
That's a ComponentResource. It doesn't get deleted at any point, because it is a virtual resource that doesn't mirror anything in any cloud. This isn't special to awsx, this is true of all ComponentResources.
It is strongly opinionated: it has decided which resources it creates should be deleteBeforeReplace, or not. If you disagree with it, you need to create your own ComponentResource.
awsx isn't a basic tool, it's an opinionated library. Its purpose is to simplify the road to getting started with AWS and Pulumi by working in a specific way. If you need to work in a different way, then you can't use awsx (without going through all sorts of hoops).
Technically, you could use a resource transformation to change the deleteBeforeReplace opt in specific resources, but it's probably not what you want. If your opinion and awsx's opinion are sufficiently different, then you should just dump awsx and go your own way.
c
interesting, thank you for the explanation tenwit
g
it is not the first time or last time
awsx
is in the way. It's great for a quick start but too opinionated for modifications - so you'd have to maintain your own fork. Or create a similar solution yourself.