rhythmic-sunset-53997
07/28/2023, 2:02 PMServer XYZ
Firewalls
[0] (A) 157.168.42.6:443
[1] (B) 15.6.7.8
[2] (C) 66.7.8.7
...
To delete a firewall entry, the request is
DELETE /api/server/XYZ/firewall/0
The problem is that the delete operation has two steps:
• GET request to determine what index the firewall rule I want to delete has
• DELETE request of that index
Pulumi seems to run the requests for resource creation in parallel. There is a race condition which can lead to incorrect behavior when I want to delete firewalls A, B from the example above:
GET idx A -> 0
GET idx B -> 1
DELETE idx 0 -> deleted A
DELETE idx 1 -> deleted C (!!! - because the list is now just B,C)