providers/ionoscloud/dns_zone.go (39 lines of code) (raw):

package ionoscloud import ( "context" "log" "github.com/GoogleCloudPlatform/terraformer/providers/ionoscloud/helpers" "github.com/GoogleCloudPlatform/terraformer/terraformutils" ) type DNSZoneGenerator struct { Service } func (g *DNSZoneGenerator) InitResources() error { client := g.generateClient() dnsAPIClient := client.DNSAPIClient resourceType := "ionoscloud_dns_zone" response, _, err := dnsAPIClient.ZonesApi.ZonesGet(context.TODO()).Execute() if err != nil { return err } if response.Items == nil { log.Printf("[WARNING] expected a response containing DNS Zones, but received 'nil' instead") return nil } zones := *response.Items for _, zone := range zones { if zone.Properties == nil || zone.Properties.ZoneName == nil { log.Printf("[WARNING] 'nil' values in the response for the DNS Zone with ID: %v, skipping this resource", *zone.Id) continue } g.Resources = append(g.Resources, terraformutils.NewResource( *zone.Id, *zone.Properties.ZoneName+"-"+*zone.Id, resourceType, helpers.Ionos, map[string]string{}, []string{}, map[string]interface{}{})) } return nil }