diff options
Diffstat (limited to 'mailgun/resource_mailgun_domain.go')
-rw-r--r-- | mailgun/resource_mailgun_domain.go | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/mailgun/resource_mailgun_domain.go b/mailgun/resource_mailgun_domain.go index 86531c6..e2bfe73 100644 --- a/mailgun/resource_mailgun_domain.go +++ b/mailgun/resource_mailgun_domain.go | |||
@@ -366,7 +366,7 @@ func DeleteDomain(d *schema.ResourceData, meta interface{}) error { | |||
366 | 366 | ||
367 | func ReadDomain(d *schema.ResourceData, meta interface{}) error { | 367 | func ReadDomain(d *schema.ResourceData, meta interface{}) error { |
368 | mg := meta.(*mailgun.MailgunImpl) | 368 | mg := meta.(*mailgun.MailgunImpl) |
369 | ctx, cancel := context.WithTimeout(context.Background(), time.Second*30) | 369 | ctx, cancel := context.WithTimeout(context.Background(), time.Second*120) |
370 | defer cancel() | 370 | defer cancel() |
371 | domainName := d.Id() | 371 | domainName := d.Id() |
372 | mg = mailgun.NewMailgun(domainName, mg.APIKey()) | 372 | mg = mailgun.NewMailgun(domainName, mg.APIKey()) |
@@ -425,9 +425,7 @@ func ReadDomain(d *schema.ResourceData, meta interface{}) error { | |||
425 | d.Set("unsubscribe_tracking_settings_html_footer", domainTracking.Unsubscribe.HTMLFooter) | 425 | d.Set("unsubscribe_tracking_settings_html_footer", domainTracking.Unsubscribe.HTMLFooter) |
426 | d.Set("unsubscribe_tracking_settings_text_footer", domainTracking.Unsubscribe.TextFooter) | 426 | d.Set("unsubscribe_tracking_settings_text_footer", domainTracking.Unsubscribe.TextFooter) |
427 | 427 | ||
428 | time.Sleep(25 * time.Second) | 428 | ipAddress, err := getIps(ctx, mg) |
429 | |||
430 | ipAddress, err := mg.ListDomainIPS(ctx) | ||
431 | 429 | ||
432 | if err != nil { | 430 | if err != nil { |
433 | return fmt.Errorf("Error Getting mailgun domain ips1 for %s: Error: %s", d.Id(), err) | 431 | return fmt.Errorf("Error Getting mailgun domain ips1 for %s: Error: %s", d.Id(), err) |
@@ -493,3 +491,15 @@ func ImportStatePassthroughDomain(d *schema.ResourceData, meta interface{}) ([]* | |||
493 | } | 491 | } |
494 | return []*schema.ResourceData{d}, nil | 492 | return []*schema.ResourceData{d}, nil |
495 | } | 493 | } |
494 | |||
495 | func getIps(ctx context.Context,mg *mailgun.MailgunImpl) ([]mailgun.IPAddress, error){ | ||
496 | start := time.Now() | ||
497 | t := time.Now() | ||
498 | ipAddress, err := mg.ListDomainIPS(ctx) | ||
499 | for (err != nil && t.Sub(start)< 120 * time.Second) { | ||
500 | ipAddress, err = mg.ListDomainIPS(ctx) | ||
501 | time.Sleep(5 * time.Second) | ||
502 | t = time.Now() | ||
503 | } | ||
504 | return ipAddress, err | ||
505 | } | ||