Documentation ¶
Overview ¶
Package gohetzner implements Hetzner Public DNS Api client for managing zones and records.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HetznerDNS ¶
type HetznerDNS interface { // Configures API Base URL SetBaseURL(baseUrl string) error // Configures API Token SetToken(token string) error // Returns Zone Service GetZoneService() ZoneService // Returns Record Service GetRecordService() RecordService }
Hetzner DNS Public API interface entry interface Exposes DNS and Record service to manage DNS Zone and records. See api documentation for more information [https://dns.hetzner.com/api-docs]
func NewClient ¶
func NewClient(token string) (HetznerDNS, error)
Creates new Hetzner DNS Public API Client with the given token see [HetznerDNS.setToken] to update token after creation
type Meta ¶ added in v0.2.0
type Meta struct {
Pagination *Pagination `json:"pagination"`
}
type Pagination ¶ added in v0.2.0
type RecordResponse ¶ added in v0.2.0
type RecordService ¶
type RecordService interface { // Returns all records associated with user. [https://dns.hetzner.com/api-docs#operation/GetRecords] GetAllRecords(zone_id *string) ([]*Record, error) //Returns information about a single record. [https://dns.hetzner.com/api-docs#operation/GetRecord] GetRecord(record_id *string) (*Record, error) //Creates a new record. [https://dns.hetzner.com/api-docs#operation/CreateRecord] CreateRecord(request *Record) (*Record, error) //Updates a record. [https://dns.hetzner.com/api-docs#operation/UpdateRecord] UpdateRecord(request *Record) (*Record, error) //Deletes a record. [https://dns.hetzner.com/api-docs#operation/DeleteRecord] DeleteRecord(record_id *string) error }
Client interfaces for the Hetzner DNS Public API Records endpoint See api documentation for more information [https://dns.hetzner.com/api-docs#tag/Records]
type ZoneRequest ¶ added in v0.2.0
type ZoneResponse ¶ added in v0.2.0
type ZoneService ¶
type ZoneService interface { // Returns all zones associated with user. [https://dns.hetzner.com/api-docs#operation/GetAllZones] GetAllZones() ([]*Zone, error) // Returns all zones associated with user matching by name. [https://dns.hetzner.com/api-docs#operation/GetAllZones] GetAllZonesByName(name *string) ([]*Zone, error) // Returns an object containing all information about a zone. [https://dns.hetzner.com/api-docs#operation/GetZone] GetZoneById(zoneId *string) (*Zone, error) // Creates a zone. [https://dns.hetzner.com/api-docs#operation/CreateZone] CreateZone(request *ZoneRequest) (*Zone, error) // Updates a zone. [https://dns.hetzner.com/api-docs#operation/UpdateZone] UpdateZone(zoneId *string, request *ZoneRequest) (*Zone, error) // Deletes a zone. [https://dns.hetzner.com/api-docs#operation/DeleteZone] DeleteZone(zoneId *string) error // Validate a zone file in text/plain format. [https://dns.hetzner.com/api-docs#operation/ValidateZoneFilePlain] ValidateZoneFile(zoneFile *string) error // Export a zone file. [https://dns.hetzner.com/api-docs#operation/ExportZoneFile] ExportZoneFile(zoneId *string) (*string, error) // Import a zone file. [https://dns.hetzner.com/api-docs#operation/ImportZoneFilePlain] ImportZoneFile(zoneId, zoneFile *string) (*Zone, error) }
Client interfaces for the Hetzner DNS Public API Zones endpoint See api documentation for more information [https://dns.hetzner.com/api-docs#tag/Zones]