Skip to content
This repository was archived by the owner on Mar 1, 2023. It is now read-only.

Commit 326ca35

Browse files
authored
Fix dns zone (#44)
* support last version of terraform cli for run tests equinix/terraform-provider-metal#155 * add check of dns resource dependency
1 parent 9e0314a commit 326ca35

File tree

4 files changed

+92
-60
lines changed

4 files changed

+92
-60
lines changed

gcore/resource_gcore_dns_zone.go

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,29 @@ func resourceDNSZone() *schema.Resource {
3333
Description: "A name of DNS Zone resource.",
3434
},
3535
},
36-
CreateContext: resourceDNSZoneCreate,
37-
ReadContext: resourceDNSZoneRead,
38-
DeleteContext: resourceDNSZoneDelete,
36+
CreateContext: checkDNSDependency(resourceDNSZoneCreate),
37+
ReadContext: checkDNSDependency(resourceDNSZoneRead),
38+
DeleteContext: checkDNSDependency(resourceDNSZoneDelete),
3939
Description: "Represent DNS zone resource. https://dns.gcorelabs.com/zones",
4040
Importer: &schema.ResourceImporter{
4141
StateContext: schema.ImportStatePassthroughContext,
4242
},
4343
}
4444
}
4545

46+
func checkDNSDependency(next func(context.Context, *schema.ResourceData,
47+
interface{}) diag.Diagnostics) func(context.Context, *schema.ResourceData, interface{}) diag.Diagnostics {
48+
49+
return func(ctx context.Context, data *schema.ResourceData, i interface{}) diag.Diagnostics {
50+
config := i.(*Config)
51+
client := config.DNSClient
52+
if client == nil {
53+
return diag.Errorf("dns api client is null. make sure that you defined gcore_dns_api var in gcore provider section.")
54+
}
55+
return next(ctx, data, i)
56+
}
57+
}
58+
4659
func resourceDNSZoneCreate(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
4760
name := strings.TrimSpace(d.Get(DNSZoneSchemaName).(string))
4861
log.Println("[DEBUG] Start DNS Zone Resource creating")

gcore/resource_gcore_dns_zone_record.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,10 +230,10 @@ func resourceDNSZoneRecord() *schema.Resource {
230230
Description: "An array of contents with meta of DNS Zone Record resource.",
231231
},
232232
},
233-
CreateContext: resourceDNSZoneRecordCreate,
234-
UpdateContext: resourceDNSZoneRecordUpdate,
235-
ReadContext: resourceDNSZoneRecordRead,
236-
DeleteContext: resourceDNSZoneRecordDelete,
233+
CreateContext: checkDNSDependency(resourceDNSZoneRecordCreate),
234+
UpdateContext: checkDNSDependency(resourceDNSZoneRecordUpdate),
235+
ReadContext: checkDNSDependency(resourceDNSZoneRecordRead),
236+
DeleteContext: checkDNSDependency(resourceDNSZoneRecordDelete),
237237
Description: "Represent DNS Zone Record resource. https://dns.gcorelabs.com/zones",
238238
Importer: &schema.ResourceImporter{
239239
StateContext: schema.ImportStatePassthroughContext,

go.mod

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,8 @@ require (
77
github.com/G-Core/gcorelabs-storage-sdk-go v0.0.9
88
github.com/G-Core/gcorelabscdn-go v0.0.0-20210503173228-b4ac8b2402ff
99
github.com/G-Core/gcorelabscloud-go v0.4.15
10-
github.com/google/uuid v1.1.2 // indirect
1110
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320
12-
github.com/hashicorp/terraform-plugin-sdk/v2 v2.4.3
13-
github.com/imdario/mergo v0.3.11 // indirect
11+
github.com/hashicorp/terraform-plugin-sdk/v2 v2.7.0
1412
github.com/mattn/go-colorable v0.1.8 // indirect
1513
github.com/mitchellh/mapstructure v1.4.1
16-
github.com/zclconf/go-cty v1.7.1 // indirect
17-
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect
1814
)

0 commit comments

Comments
 (0)