gidinet

package
v4.34.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResultCodeSuccess        = 0 // Operation succeeded
	ResultCodeAuthFailed     = 1 // Authentication failed
	ResultCodeReadOnly       = 2 // Cannot modify read-only value
	ResultCodeInvalidParams  = 3 // Invalid parameters
	ResultCodeUndefinedError = 4 // Undefined error
	ResultCodeNotFound       = 5 // Object not found
	ResultCodeInUse          = 6 // Object in use
)

Result codes from Gidinet API.

View Source
const (
	DomainStatusActive           = 0   // Active
	DomainStatusRegistering      = 1   // In registration
	DomainStatusTransferring     = 2   // In transfer
	DomainStatusExpired          = 3   // Expired
	DomainStatusRedemptionPeriod = 4   // Redemption period or deleting
	DomainStatusDeleting         = 5   // Deleting
	DomainStatusTransferringOut  = 6   // Transferring to another registrar
	DomainStatusTransferredOut   = 7   // Transferred to another registrar
	DomainStatusUndefined        = 255 // Undefined state or error
)

Domain status codes.

Variables

This section is empty.

Functions

func AuditRecords

func AuditRecords(records []*models.RecordConfig) []error

AuditRecords returns a list of errors corresponding to the records that aren't supported by this provider. If all records are supported, an empty list is returned.

func NewGidinet

func NewGidinet(m map[string]string, metadata json.RawMessage) (providers.DNSServiceProvider, error)

NewGidinet creates a new Gidinet DNS provider.

Types

type BaseResponse

type BaseResponse struct {
	ResultCode    int    `xml:"resultCode"`
	ResultSubCode int    `xml:"resultSubCode"`
	ResultText    string `xml:"resultText"`
}

BaseResponse contains the common response fields.

type DNSRecord

type DNSRecord struct {
	DomainName string `xml:"DomainName"`
	HostName   string `xml:"HostName"`
	RecordType string `xml:"RecordType"`
	Data       string `xml:"Data"`
	TTL        int    `xml:"TTL"`
	Priority   int    `xml:"Priority"`
}

DNSRecord represents a DNS record in the Gidinet API.

type DNSRecordListItem

type DNSRecordListItem struct {
	DomainName       string `xml:"DomainName"`
	HostName         string `xml:"HostName"`
	RecordType       string `xml:"RecordType"`
	Data             string `xml:"Data"`
	TTL              int    `xml:"TTL"`
	Priority         int    `xml:"Priority"`
	ReadOnly         bool   `xml:"ReadOnly"`
	Suspended        bool   `xml:"Suspended"`
	SuspensionReason string `xml:"SuspensionReason"`
}

DNSRecordListItem represents a DNS record returned from recordGetList.

type RecordAddRequest

type RecordAddRequest struct {
	XMLName            xml.Name   `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordAdd"`
	AccountUsername    string     `xml:"accountUsername"`
	AccountPasswordB64 string     `xml:"accountPasswordB64"`
	Record             *DNSRecord `xml:"record"`
}

RecordAddRequest is the request for recordAdd.

type RecordAddResponse

type RecordAddResponse struct {
	XMLName       xml.Name `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordAddResponse"`
	ResultCode    int      `xml:"recordAddResult>resultCode"`
	ResultSubCode int      `xml:"recordAddResult>resultSubCode"`
	ResultText    string   `xml:"recordAddResult>resultText"`
}

RecordAddResponse is the response from recordAdd.

type RecordDeleteRequest

type RecordDeleteRequest struct {
	XMLName            xml.Name   `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordDelete"`
	AccountUsername    string     `xml:"accountUsername"`
	AccountPasswordB64 string     `xml:"accountPasswordB64"`
	Record             *DNSRecord `xml:"record"`
}

RecordDeleteRequest is the request for recordDelete.

type RecordDeleteResponse

type RecordDeleteResponse struct {
	XMLName       xml.Name `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordDeleteResponse"`
	ResultCode    int      `xml:"recordDeleteResult>resultCode"`
	ResultSubCode int      `xml:"recordDeleteResult>resultSubCode"`
	ResultText    string   `xml:"recordDeleteResult>resultText"`
}

RecordDeleteResponse is the response from recordDelete.

type RecordGetListRequest

type RecordGetListRequest struct {
	XMLName            xml.Name `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordGetList"`
	AccountUsername    string   `xml:"accountUsername"`
	AccountPasswordB64 string   `xml:"accountPasswordB64"`
	DomainName         string   `xml:"domainName"`
}

RecordGetListRequest is the request for recordGetList.

type RecordGetListResponse

type RecordGetListResponse struct {
	XMLName       xml.Name             `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordGetListResponse"`
	ResultCode    int                  `xml:"recordGetListResult>resultCode"`
	ResultSubCode int                  `xml:"recordGetListResult>resultSubCode"`
	ResultText    string               `xml:"recordGetListResult>resultText"`
	ResultItems   []*DNSRecordListItem `xml:"recordGetListResult>resultItems>DNSRecordListItem"`
}

RecordGetListResponse is the response from recordGetList.

type RecordUpdateRequest

type RecordUpdateRequest struct {
	XMLName            xml.Name   `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordUpdate"`
	AccountUsername    string     `xml:"accountUsername"`
	AccountPasswordB64 string     `xml:"accountPasswordB64"`
	OldRecord          *DNSRecord `xml:"oldRecord"`
	NewRecord          *DNSRecord `xml:"newRecord"`
}

RecordUpdateRequest is the request for recordUpdate.

type RecordUpdateResponse

type RecordUpdateResponse struct {
	XMLName       xml.Name `xml:"https://api.quickservicebox.com/DNS/DNSAPI recordUpdateResponse"`
	ResultCode    int      `xml:"recordUpdateResult>resultCode"`
	ResultSubCode int      `xml:"recordUpdateResult>resultSubCode"`
	ResultText    string   `xml:"recordUpdateResult>resultText"`
}

RecordUpdateResponse is the response from recordUpdate.

type SOAPBody

type SOAPBody struct {
	XMLName  xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Body"`
	Content  any
	Fault    *SOAPFault `xml:"Fault,omitempty"`
	InnerXML []byte     `xml:",innerxml"`
}

SOAPBody represents the SOAP body.

type SOAPEnvelope

type SOAPEnvelope struct {
	XMLName xml.Name  `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
	Body    *SOAPBody `xml:"http://schemas.xmlsoap.org/soap/envelope/ Body"`
}

SOAPEnvelope represents the SOAP envelope wrapper.

type SOAPFault

type SOAPFault struct {
	XMLName     xml.Name `xml:"Fault"`
	FaultCode   string   `xml:"faultcode"`
	FaultString string   `xml:"faultstring"`
	Detail      string   `xml:"detail,omitempty"`
}

SOAPFault represents a SOAP fault.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL