To close the loop here. The idea is for stack1 and stack2 to start deployment at the same time, but have stack2 to wait for an exported value to become available to then continue on stack2.
Since Pulumi only exports the resulting value (ie, not the Output() object), the wait capability has to be a custom logic implemented in stack2. using a
rather than a
and catching the error should allow for inserting an exponential back-off.