Initialize Terraform GoDaddy provider with API client and DNS record resource
10 files · 550+

GoDaddy API client

3 files changed
  • client.go HTTP client with GoDaddy API auth, domain fetch, record get/update, and response validation
  • types.go Domain and DomainRecord types with record type validation (A, AAAA, CNAME, NS, SOA, TXT)
  • client_test.go Integration tests for API client including auth failure and rate limit scenarios
  • Built GoDaddy API client with SSO key authentication, HTTP transport with 10s timeout, and domain record CRUD operations instantiate architectural
    1 file
    • client.go
  • Defined Domain and DomainRecord structs with NewDomainRecord constructor enforcing name/data length and type validation instantiate behavioral
    1 file
    • types.go

Terraform provider and resource

5 files changed
  • plugin.go Main entry point serving the Terraform provider plugin
  • provider.go Provider schema with key, secret, and baseurl configuration
  • config.go Config struct bridging provider schema to API client construction
  • resource_dns_record.go Domain record resource with create, read, update, delete operations
  • provider_test.go Provider validation and acceptance test scaffolding
  • Implemented godaddy_domain_record resource supporting customer, domain, and record set with name/type/data/ttl fields instantiate architectural
    2 files
    • resource_dns_record.go
    • provider.go
  • Provider defaults to OTE (test) API endpoint with environment variable fallback for key and secret instantiate behavioral
    1 file
    • provider.go

Project setup

2 files changed
  • README.md Installation instructions and API key documentation
  • .gitignore Go gitignore configuration
  • README documents manual plugin installation into ~/.terraform/plugins and API key provisioning from developer.godaddy.com specify errata
    1 file
    • README.md