aboutsummaryrefslogtreecommitdiffhomepage
path: root/mailgun/resource_mailgun_domain.go
diff options
context:
space:
mode:
Diffstat (limited to 'mailgun/resource_mailgun_domain.go')
-rw-r--r--mailgun/resource_mailgun_domain.go18
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
367func ReadDomain(d *schema.ResourceData, meta interface{}) error { 367func 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
495func 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}