Give vendors time to update their state before trying again

This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the vendors category.

Last Updated: 2021-05-16

On AWS, I was trying out different iam policies. As soon as I changed one in their web console, I immediately pressed up-and-enter in my shell for an s3 command that would test whether or not I could now upload objects. But in that half-second, Amazon hadn't enough time to update their distributed systems so I got "access denied" results and falsely concluded a certain approach to credentials was not working. Had I tried again 5 seconds alter, it would have been fine.

Ultimately this is because s3 is an eventually consistent system.

Lesson:

After changing a config on a major vendor (e.g. permissions), wait some time before concluding anything about the change's effects or lack thereof.