mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
CLOUDFLARE: Fix domain list cache error (#1662)
* Fix broken test * CLOUDFLARE: Fix missing nameserver bug * CSCGLOBAL: Catch more status states * wip! * remove extra print
This commit is contained in:
@@ -61,7 +61,7 @@ When you do a `dnscontrol preview`, you should see changes for t1 and t2.
|
||||
```
|
||||
|
||||
If you don't see those changes, that's a bug. For example, we found that
|
||||
Cloudflare leave t2 alone but would try to add double-quotes to t3! This was
|
||||
Cloudflare left t2 alone but would try to add double-quotes to t3! This was
|
||||
fixed in https://github.com/StackExchange/dnscontrol/pull/1543.
|
||||
|
||||
Step 3: Push
|
||||
|
@@ -63,7 +63,7 @@ func init() {
|
||||
|
||||
// cloudflareProvider is the handle for API calls.
|
||||
type cloudflareProvider struct {
|
||||
domainIndex map[string]string
|
||||
domainIndex map[string]string // Call c.fetchDomainList() to populate before use.
|
||||
nameservers map[string][]string
|
||||
ipConversions []transform.IPConversion
|
||||
ignoredLabels []string
|
||||
@@ -708,6 +708,11 @@ func getProxyMetadata(r *models.RecordConfig) map[string]string {
|
||||
|
||||
// EnsureDomainExists returns an error of domain does not exist.
|
||||
func (c *cloudflareProvider) EnsureDomainExists(domain string) error {
|
||||
if c.domainIndex == nil {
|
||||
if err := c.fetchDomainList(); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if _, ok := c.domainIndex[domain]; ok {
|
||||
return nil
|
||||
}
|
||||
|
@@ -326,7 +326,7 @@ func (client *providerClient) getDomains() ([]string, error) {
|
||||
json.Unmarshal(bodyString, &dr)
|
||||
|
||||
if dr.Meta.Pages > 1 {
|
||||
return nil, fmt.Errorf("cscglobal getDomains: unimplemented paganation")
|
||||
return nil, fmt.Errorf("cscglobal getDomains: unimplemented paganation")
|
||||
}
|
||||
|
||||
var r []string
|
||||
@@ -483,7 +483,7 @@ func (client *providerClient) clearRequests(domain string) error {
|
||||
}
|
||||
}
|
||||
switch ze.Status {
|
||||
case "PROPAGATING":
|
||||
case "NEW", "SUBMITTED", "PROCESSING", "PROPAGATING":
|
||||
printer.Printf("INFO: Waiting for id=%s status=%s\n", ze.ID, ze.Status)
|
||||
client.waitRequest(ze.ID)
|
||||
case "FAILED":
|
||||
|
Reference in New Issue
Block a user