wgebis / terraform-provider-mailgun

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support for `resource.Retry` on mailgun API calls

tseho opened this issue · comments

short version:

Are you interested into receiving a PR with resource.Retry on top of mailgun API calls, to improve robustness when their API have availability issues?


long version:

Hello,

Since a few days, mailgun is apparently under a DDOS attack.
https://status.mailgun.com/
Screenshot_2023-02-24_14-25-32

While using this terraform provider for mailgun, we ended up with a few errors:

Error: while making http request: Get "https://api.mailgun.net/v3/domains/[redacted]/credentials?limit=100": dial tcp [redacted]:443: i/o timeout

or

Error: while making http request: Get "https://api.mailgun.net/v3/domains/[redacted]/credentials?limit=100": net/http: TLS handshake timeout

Even in DDOS conditions, we noticed that mailgun API was still available but with a higher error rate. (Which is understandable)
Nonetheless, encountering it at least once in automated workflows is an annoyance when a retry mechanism would have saved us from manually relaunching.

Would you be interested into having the terraform retry helper, at least on read operations like this one ?

func resourceMailgunCredentialRead(d *schema.ResourceData, meta interface{}) error {

If that's the case, I will try to find the time to open a PR with a proposal.

Thanks