Is there a reason why `deleteBeforeReplace` is not...
# general
Is there a reason why
is not part of
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.
for example doesn't have it
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.
interesting, thank you for the explanation tenwit
it is not the first time or last time
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.