epp

package
v0.0.0-...-7667956 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2020 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EPPNamespace       = "urn:ietf:params:xml:ns:epp-1.0"
	ContactNamespace   = "urn:ietf:params:xml:ns:contact-1.0"
	DomainNamespace    = "urn:ietf:params:xml:ns:domain-1.0"
	HostNamespace      = "urn:ietf:params:xml:ns:host-1.0"
	SecDNSNamespace    = "urn:ietf:params:xml:ns:secDNS-1.1"
	DomainExtNamespace = "urn:ietf:params:xml:ns:domain-ext-1.0"
	DomainXsiNamespace = "http://www.w3.org/2001/XMLSchema-instance"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIBalance

type APIBalance struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Check struct {
			Balance string `xml:"balance"`
		} `xml:"check"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIContactCheck

type APIContactCheck struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Check struct {
			ContactCheck struct {
				Xmlns string   `xml:"xmlns:contact,attr"`
				ID    []string `xml:"contact:id"`
			} `xml:"contact:check"`
		} `xml:"check"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIContactCreation

type APIContactCreation struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Create struct {
			CreateContact ContactInfo `xml:"contact:create"`
		} `xml:"create"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIContactDeletion

type APIContactDeletion struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Delete struct {
			ContactDelete struct {
				Xmlns string `xml:"xmlns:contact,attr"`
				ID    string `xml:"contact:id"`
			} `xml:"contact:delete"`
		} `xml:"delete"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIContactInfo

type APIContactInfo struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Info struct {
			ContactInfo struct {
				Xmlns string `xml:"xmlns:contact,attr"`
				ID    string `xml:"contact:id"`
			} `xml:"contact:info"`
		} `xml:"info"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIContactInfoResponse

type APIContactInfoResponse struct {
	XMLName  xml.Name `xml:"epp"`
	Xmlns    string   `xml:"xmlns,attr"`
	Response struct {
		Result  Result `xml:"result"`
		ResData struct {
			ContactInfo ContactResponse `xml:"infData"`
		} `xml:"resData"`
		TrID Transaction `xml:"trID"`
	} `xml:"response"`
}

type APIContactUpdate

type APIContactUpdate struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Update struct {
			ContactUpdate struct {
				Xmlns string      `xml:"xmlns:contact,attr"`
				ID    string      `xml:"contact:id"`
				Add   string      `xml:"contact:add"`
				Rem   string      `xml:"contact:rem"`
				Chg   ContactInfo `xml:"contact:chg"`
			} `xml:"contact:update"`
		} `xml:"update"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIDomainCheck

type APIDomainCheck struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Check struct {
			DomainCheck struct {
				Xmlns string   `xml:"xmlns:domain,attr"`
				Name  []string `xml:"domain:name"`
			} `xml:"domain:check"`
		} `xml:"check"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIDomainCreation

type APIDomainCreation struct {
	XMLName  xml.Name `xml:"epp"`
	Xmlns    string   `xml:"xmlns,attr"`
	XmlnsXsi string   `xml:"xmlns:xsi,attr"`
	Command  struct {
		Create struct {
			DomainCreate DomainDetails `xml:"domain:create"`
		} `xml:"create"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIDomainDeletion

type APIDomainDeletion struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Delete struct {
			DomainDelete struct {
				Xmlns string `xml:"xmlns:domain,attr"`
				Name  string `xml:"domain:name"`
			} `xml:"domain:delete"`
		} `xml:"delete"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIDomainInfo

type APIDomainInfo struct {
	XMLName xml.Name `xml:"epp"`
	Text    string   `xml:",chardata"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Info struct {
			DomainInfo struct {
				Xmlns string `xml:"xmlns:domain,attr"`
				Name  struct {
					DomainName string `xml:",chardata"`
					Hosts      string `xml:"hosts,attr"`
				} `xml:"domain:name"`
			} `xml:"domain:info"`
		} `xml:"info"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIDomainInfoResponse

type APIDomainInfoResponse struct {
	XMLName  xml.Name `xml:"epp"`
	Xmlns    string   `xml:"xmlns,attr"`
	Response struct {
		Result  Result `xml:"result"`
		ResData struct {
			DomainInfo DomainInfoResp `xml:"infData"`
		} `xml:"resData"`
		TrID Transaction `xml:"trID"`
	} `xml:"response"`
}

type APIDomainRenewal

type APIDomainRenewal struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Renew struct {
			DomainRenew struct {
				Xmlns      string `xml:"xmlns:domain,attr"`
				Name       string `xml:"domain:name"`
				CurExpDate string `xml:"domain:curExpDate"`
				Period     struct {
					Years int    `xml:",chardata"`
					Unit  string `xml:"unit,attr"`
				} `xml:"domain:period"`
			} `xml:"domain:renew"`
		} `xml:"renew"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIDomainTransfer

type APIDomainTransfer struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Transfer struct {
			Text           string `xml:",chardata"`
			Op             string `xml:"op,attr"`
			DomainTransfer struct {
				Xmlns    string `xml:"xmlns:domain,attr"`
				Name     string `xml:"domain:name"`
				AuthInfo struct {
					TransferKey string `xml:"domain:pw"`
				} `xml:"domain:authInfo"`
				Ns *DomainNameservers `xml:"domain:ns,omitempty"`
			} `xml:"domain:transfer"`
		} `xml:"transfer"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIDomainUpdate

type APIDomainUpdate struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Update struct {
			DomainUpdate DomainUpdate `xml:"domain:update"`
		} `xml:"update"`
		Extension *DomainExtension `xml:"extension,omitempty"`
		ClTRID    string           `xml:"clTRID"`
	} `xml:"command"`
}

type APIGreeting

type APIGreeting struct {
	XMLName  xml.Name `xml:"epp"`
	Host     string   `xml:"host,attr"`
	Domain   string   `xml:"domain,attr"`
	Contact  string   `xml:"contact,attr"`
	Obj      string   `xml:"obj,attr"`
	Xmlns    string   `xml:"xmlns,attr"`
	Greeting Greeting `xml:"greeting"`
}

type APIHello

type APIHello struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Hello   string   `xml:"hello"`
}

type APIHostCheck

type APIHostCheck struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Check struct {
			HostCheck struct {
				Xmlns string   `xml:"xmlns:host,attr"`
				Name  []string `xml:"host:name"`
			} `xml:"host:check"`
		} `xml:"check"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIHostCreation

type APIHostCreation struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Create struct {
			HostCreate struct {
				Xmlns    string          `xml:"xmlns:host,attr"`
				Hostname string          `xml:"host:name"`
				Addr     []HostIPAddress `xml:"host:addr"`
			} `xml:"host:create"`
		} `xml:"create"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIHostDeletion

type APIHostDeletion struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Delete struct {
			HostDelete struct {
				Xmlns    string `xml:"xmlns:host,attr"`
				Hostname string `xml:"host:name"`
			} `xml:"host:delete"`
		} `xml:"delete"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIHostInfo

type APIHostInfo struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Info struct {
			HostInfo struct {
				Xmlns string `xml:"xmlns:host,attr"`
				Name  string `xml:"host:name"`
			} `xml:"host:info"`
		} `xml:"info"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIHostInfoResponse

type APIHostInfoResponse struct {
	XMLName  xml.Name `xml:"epp"`
	Xmlns    string   `xml:"xmlns,attr"`
	Response struct {
		Result struct {
			Code int    `xml:"code,attr"`
			Msg  string `xml:"msg"`
		} `xml:"result"`
		ResData struct {
			HostInfo HostInfoResp `xml:"infData"`
		} `xml:"resData"`
		TrID Transaction `xml:"trID"`
	} `xml:"response"`
}

type APIHostUpdate

type APIHostUpdate struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Update struct {
			HostUpdate struct {
				Xmlns    string `xml:"xmlns:host,attr"`
				Hostname string `xml:"host:name"`
				Add      struct {
					Addr []HostIPAddress `xml:"host:addr,omitempty"`
				} `xml:"host:add"`
				Rem struct {
					Addr []HostIPAddress `xml:"host:addr,omitempty"`
				} `xml:"host:rem"`
			} `xml:"host:update"`
		} `xml:"update"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APILogin

type APILogin struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Login  Login  `xml:"login"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APILogout

type APILogout struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Logout string `xml:"logout"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIPoll

type APIPoll struct {
	XMLName xml.Name `xml:"epp"`
	Xmlns   string   `xml:"xmlns,attr"`
	Command struct {
		Poll struct {
			Op    string `xml:"op,attr"`
			MsgID string `xml:"msgID,attr,omitempty"`
		} `xml:"poll"`
		ClTRID string `xml:"clTRID"`
	} `xml:"command"`
}

type APIPollResponse

type APIPollResponse struct {
	XMLName  xml.Name `xml:"epp"`
	Obj      string   `xml:"obj,attr"`
	Xmlns    string   `xml:"xmlns,attr"`
	Response struct {
		Result  Result      `xml:"result"`
		MsgQ    PollMessage `xml:"msgQ"`
		ResData struct {
			TrnData struct {
				Name string `xml:"name"`
			} `xml:"trnData"`
		} `xml:"resData"`
		TrID struct {
			ClTRID string `xml:"clTRID"`
			SvTRID string `xml:"svTRID"`
		} `xml:"trID"`
	} `xml:"response"`
}

type APIResult

type APIResult struct {
	XMLName  xml.Name `xml:"epp"`
	Xmlns    string   `xml:"xmlns,attr"`
	Response struct {
		Result  Result      `xml:"result"`
		ResData ResData     `xml:"resData"`
		TrID    Transaction `xml:"trID"`
	} `xml:"response"`
}

type ContactDisclosure

type ContactDisclosure struct {
	Flag    int `xml:"flag,attr"`
	Email   int `xml:"contact:email"`
	Address int `xml:"contact:address"`
}

type ContactInfo

type ContactInfo struct {
	Xmlns      string            `xml:"xmlns:contact,attr"`
	Role       int               `xml:"contact:role"`
	Type       int               `xml:"contact:type"`
	PostalInfo ContactPostalInfo `xml:"contact:postalInfo"`
	Phone      string            `xml:"contact:voice"`
	Email      string            `xml:"contact:email"`
	LegalEmail string            `xml:"contact:legalemail"`
	Disclose   ContactDisclosure `xml:"contact:disclose"`
}

func NewBusinessContact

func NewBusinessContact(role int, finnish bool, orgName, registerNumber, contactName, city, countryCode string, street []string, postalCode string, email, phone string) (ContactInfo, error)

func NewPrivatePersonContact

func NewPrivatePersonContact(role int, finnish bool, firstName, lastName, idNumber, city, countryCode string, street []string, postalCode string, email, phone string, birthDate string) (ContactInfo, error)

func (*ContactInfo) Validate

func (s *ContactInfo) Validate() error

type ContactPostalInfo

type ContactPostalInfo struct {
	PostalInfoType string               `xml:"type,attr"`
	IsFinnish      int                  `xml:"contact:isfinnish"`
	FirstName      string               `xml:"contact:firstname,omitempty"`
	LastName       string               `xml:"contact:lastname,omitempty"`
	Name           string               `xml:"contact:name,omitempty"`
	Org            string               `xml:"contact:org,omitempty"`
	BirthDate      string               `xml:"contact:birthDate,omitempty"`
	Identity       string               `xml:"contact:identity,omitempty"`
	RegisterNumber string               `xml:"contact:registernumber,omitempty"`
	Addr           ContactUpdateAddress `xml:"contact:addr"`
}

type ContactResponse

type ContactResponse struct {
	Id         string                    `xml:"id" json:"id"`
	Role       int                       `xml:"role" json:"role"`
	Type       int                       `xml:"type" json:"type"`
	PostalInfo ContactResponsePostalInfo `xml:"postalInfo" json:"postal_info"`
	Phone      string                    `xml:"voice" json:"voice"`
	Email      string                    `xml:"email" json:"email"`
	LegalEmail string                    `xml:"legalemail" json:"legal_email"`
	ClID       string                    `xml:"clID" json:"-"`
	CrID       string                    `xml:"crID" json:"creator"`
	CrDate     string                    `xml:"crDate" json:"creation_date"`
	UpDate     string                    `xml:"upDate" json:"update_date"`
	Disclose   struct {
		DisclosedData ResponseInfoDisclosure `xml:"infDataDisclose" json:"information_disclosure"`
	} `xml:"disclose" json:"disclosure"`
}

type ContactResponsePostalInfo

type ContactResponsePostalInfo struct {
	Type           string `xml:"type,attr" json:"-"`
	IsFinnish      int    `xml:"isFinnish" json:"is_finnish"`
	FirstName      string `xml:"firstname" json:"first_name"`
	LastName       string `xml:"lastname" json:"last_name"`
	Name           string `xml:"name" json:"name"`
	Org            string `xml:"org" json:"org"`
	BirthDate      string `xml:"birthDate" json:"birth_date"`
	Identity       string `xml:"identity" json:"identity"`
	RegisterNumber string `xml:"registernumber" json:"register_number"`
	Addr           struct {
		Street     []string `xml:"street" json:"street"`
		City       string   `xml:"city" json:"city"`
		State      string   `xml:"sp" json:"state"`
		PostalCode string   `xml:"pc" json:"postal_code"`
		Country    string   `xml:"cc" json:"country"`
	} `xml:"addr"`
}

type ContactUpdateAddress

type ContactUpdateAddress struct {
	Street     []string `xml:"contact:street"`
	City       string   `xml:"contact:city"`
	State      string   `xml:"contact:sp,omitempty"`
	PostalCode string   `xml:"contact:pc"`
	Country    string   `xml:"contact:cc"`
}

type CreateData

type CreateData struct {
	ID        string `xml:"id"`
	Name      string `xml:"name"`
	RawCrDate string `xml:"crDate"`
	CrDate    time.Time
	RawExDate string `xml:"exDate"`
	ExDate    time.Time
}

type DomainAuthInfo

type DomainAuthInfo struct {
	BrokerChangeKey    string `xml:"domain:pw,omitempty"`
	OwnershipChangeKey string `xml:"domain:pwregistranttransfer,omitempty"`
}

type DomainAuthInfoResp

type DomainAuthInfoResp struct {
	BrokerChangeKey    string `xml:"pw,omitempty" json:"broker_change_key,omitempty"`
	OwnershipChangeKey string `xml:"pwregistranttransfer,omitempty" json:"ownership_change_key,omitempty"`
}

type DomainContact

type DomainContact struct {
	AccountId string `xml:",chardata" json:"account"`
	Type      string `xml:"type,attr,omitempty" json:"type"`
}

type DomainDSData

type DomainDSData struct {
	KeyTag     int             `xml:"secDNS:keyTag"`
	Alg        int             `xml:"secDNS:alg"`
	DigestType int             `xml:"secDNS:digestType"`
	Digest     string          `xml:"secDNS:digest"`
	KeyData    DomainDSKeyData `xml:"secDNS:keyData"`
}

func NewDomainDNSSecRecord

func NewDomainDNSSecRecord(keyTag, alg, digestType int, digest string, flags, protocol, keyAlg int, pubKey string) (DomainDSData, error)

type DomainDSDataResp

type DomainDSDataResp struct {
	KeyTag     int    `xml:"keyTag" json:"key_tag"`
	Alg        int    `xml:"alg" json:"alg"`
	DigestType int    `xml:"digestType" json:"digest_type"`
	Digest     string `xml:"digest" json:"digest"`
	KeyData    struct {
		Flags    int    `xml:"flags" json:"flags"`
		Protocol int    `xml:"protocol" json:"protocol"`
		Alg      int    `xml:"alg" json:"alg"`
		PubKey   string `xml:"pubKey" json:"public_key"`
	} `xml:"keyData" json:"key_data"`
}

type DomainDSKeyData

type DomainDSKeyData struct {
	Flags    int    `xml:"secDNS:flags"`
	Protocol int    `xml:"secDNS:protocol"`
	Alg      int    `xml:"secDNS:alg"`
	PubKey   string `xml:"secDNS:pubKey"`
}

type DomainDetails

type DomainDetails struct {
	Xmlns  string `xml:"xmlns:domain,attr"`
	Name   string `xml:"domain:name"`
	Period struct {
		Amount int    `xml:",chardata"`
		Unit   string `xml:"unit,attr"`
	} `xml:"domain:period"`
	Ns         DomainNameservers `xml:"domain:ns"`
	Registrant string            `xml:"domain:registrant"`
	Contact    []struct {
		Text string `xml:",chardata"`
		Type string `xml:"type,attr"`
	} `xml:"domain:contact,omitempty"`
}

func NewDomainDetails

func NewDomainDetails(domain string, years int, registrant string, dnsServers []string) DomainDetails

func (*DomainDetails) Validate

func (s *DomainDetails) Validate() error

type DomainExtension

type DomainExtension struct {
	SecDNSUpdate DomainSecDNSUpdate `xml:"secDNS:update"`
}

func NewDomainDNSSecUpdateExtension

func NewDomainDNSSecUpdateExtension(newRecords, recordsToRemove []DomainDSData, removeAll bool) DomainExtension

type DomainInfoResp

type DomainInfoResp struct {
	Xmlns         string    `xml:"domain,attr" json:"-"`
	Name          string    `xml:"name" json:"name"`
	RegistryLock  int       `xml:"registrylock" json:"registry_lock"`
	AutoRenew     int       `xml:"autorenew" json:"autorenew"`
	RawRenewDate  string    `xml:"autorenewDate" json:"-"`
	AutoRenewDate time.Time `json:"autorenew_date"`
	DomainStatus  struct {
		Status string `xml:"s,attr" json:"status"`
	} `xml:"status" json:"domain_status"`
	Registrant string          `xml:"registrant" json:"registrant"`
	Contact    []DomainContact `xml:"contact" json:"contact,omitempty"`
	Ns         struct {
		HostObj []string `xml:"hostObj" json:"nameserver"`
	} `xml:"ns" json:"ns"`
	ClID      string             `xml:"clID" json:"-"`
	CrID      string             `xml:"crID" json:"creator"`
	RawCrDate string             `xml:"crDate" json:"-"`
	CrDate    time.Time          `json:"created"`
	RawUpDate string             `xml:"upDate" json:"-"`
	UpDate    time.Time          `json:"updated"`
	RawExDate string             `xml:"exDate" json:"-"`
	ExDate    time.Time          `json:"expires"`
	RawTrDate string             `xml:"trDate" json:"-"`
	TrDate    time.Time          `json:"transferred"`
	AuthInfo  DomainAuthInfoResp `xml:"authInfo" json:"auth_info,omitempty"`
	DsData    []DomainDSDataResp `xml:"dsData" json:"dnssec,omitempty"`
}

type DomainNameservers

type DomainNameservers struct {
	HostObj  []string `xml:"domain:hostObj,omitempty"`
	HostAttr []struct {
		HostName string `xml:"domain:hostName,omitempty"`
		HostAddr []struct {
			Text string `xml:",chardata"`
			Ip   string `xml:"ip,attr,omitempty"`
		} `xml:"domain:hostAddr,omitempty"`
	} `xml:"domain:hostAttr,omitempty"`
}

type DomainRegistryLock

type DomainRegistryLock struct {
	Type         string   `xml:"type,attr"`
	SmsNumber    []string `xml:"domain:smsnumber,omitempty"`
	NumberToSend int      `xml:"domain:numbertosend,omitempty"`
	AuthKey      string   `xml:"domain:authkey,omitempty"`
}

type DomainSecDNSUpdate

type DomainSecDNSUpdate struct {
	Xmlns string `xml:"xmlns:secDNS,attr"`
	Rem   struct {
		DsData    []DomainDSData `xml:"secDNS:dsData"`
		RemoveAll bool           `xml:"secDNS:all,omitempty"`
	} `xml:"secDNS:rem"`
	Add struct {
		DsData []DomainDSData `xml:"secDNS:dsData"`
	} `xml:"secDNS:add"`
	Chg struct {
	} `xml:"secDNS:chg"`
}

type DomainStatus

type DomainStatus struct {
	Reason string `xml:",chardata"`
	Status string `xml:"s,attr"`
	Lang   string `xml:"lang,attr"`
}

type DomainUpdate

type DomainUpdate struct {
	Xmlns string `xml:"xmlns:domain,attr"`
	Name  string `xml:"domain:name"`
	Add   struct {
		Status *DomainStatus      `xml:"domain:status,omitempty"`
		Ns     *DomainNameservers `xml:"domain:ns,omitempty"`
	} `xml:"domain:add"`
	Rem struct {
		Status   *DomainStatus      `xml:"domain:status,omitempty"`
		Ns       *DomainNameservers `xml:"domain:ns,omitempty"`
		AuthInfo *DomainAuthInfo    `xml:"domain:authInfo,omitempty"`
	} `xml:"domain:rem"`
	Chg struct {
		Registrant   string              `xml:"domain:registrant,omitempty"`
		Contact      []DomainContact     `xml:"domain:contact,omitempty"`
		AuthInfo     *DomainAuthInfo     `xml:"domain:authInfo,omitempty"`
		RegistryLock *DomainRegistryLock `xml:"domain:registrylock,omitempty"`
	} `xml:"domain:chg"`
}

func NewDomainUpdateActivateRegistryLock

func NewDomainUpdateActivateRegistryLock(domain string, numberToSend int, phoneNumbers ...string) (DomainUpdate, error)

func NewDomainUpdateChangeOwnership

func NewDomainUpdateChangeOwnership(domain string, newRegistrant, ownershipChangeKey string) DomainUpdate

func NewDomainUpdateContacts

func NewDomainUpdateContacts(domain, newAdminContact, newTechContact string) DomainUpdate

func NewDomainUpdateDeactivateRegistryLock

func NewDomainUpdateDeactivateRegistryLock(domain, authKey string, numberToSend int, phoneNumbers ...string) DomainUpdate

func NewDomainUpdateNameservers

func NewDomainUpdateNameservers(domain string, removedNameservers, newNameservers []string) DomainUpdate

func NewDomainUpdateRemoveTransferKey

func NewDomainUpdateRemoveTransferKey(domain string) DomainUpdate

func NewDomainUpdateRequestKeyForRegistryLock

func NewDomainUpdateRequestKeyForRegistryLock(domain string, numberToSend int) DomainUpdate

func NewDomainUpdateSendOwnershipChangeKey

func NewDomainUpdateSendOwnershipChangeKey(domain string) DomainUpdate

func NewDomainUpdateSetTransferKey

func NewDomainUpdateSetTransferKey(domain, newKey string) (DomainUpdate, error)

type Greeting

type Greeting struct {
	SvID    string `xml:"svID"`
	RawDate string `xml:"svDate"`
	SvDate  time.Time
	SvcMenu struct {
		Version      string   `xml:"version"`
		Lang         string   `xml:"lang"`
		ObjURI       []string `xml:"objURI"`
		SvcExtension struct {
			ExtURI []string `xml:"extURI,omitempty"`
		} `xml:"svcExtension"`
	} `xml:"svcMenu"`
}

type HostIPAddress

type HostIPAddress struct {
	IP     string `xml:",chardata"`
	Family string `xml:"ip,attr"`
}

func FormatHostIP

func FormatHostIP(rawIp string) (HostIPAddress, error)

type HostInfoResp

type HostInfoResp struct {
	Xmlns    string `xml:"host,attr"`
	Hostname string `xml:"name"`
	Addr     []struct {
		IP     string `xml:",chardata"`
		Family string `xml:"ip,attr"`
	} `xml:"addr"`
	ClID      string `xml:"clID"`
	CrID      string `xml:"crID"`
	RawCrDate string `xml:"crDate"`
	CrDate    time.Time
	RawUpDate string `xml:"upDate"`
	UpDate    time.Time
}

type ItemCheck

type ItemCheck struct {
	Name struct {
		Name  string `xml:",chardata"`
		Avail int    `xml:"avail,attr"`
	} `xml:"name"`
	Id struct {
		Name  string `xml:",chardata"`
		Avail int    `xml:"avail,attr"`
	} `xml:"id"`
	Reason      string `xml:"reason"`
	IsAvailable bool
}

type Login

type Login struct {
	ClID    string `xml:"clID"`
	Pw      string `xml:"pw"`
	NewPW   string `xml:"newPW,omitempty"`
	Options struct {
		Version string `xml:"version"`
		Lang    string `xml:"lang"`
	} `xml:"options"`
	Svcs struct {
		ObjURI       []string `xml:"objURI"`
		SvcExtension struct {
			ExtURI []string `xml:"extURI"`
		} `xml:"svcExtension"`
	} `xml:"svcs"`
}

type PollMessage

type PollMessage struct {
	Count    int       `xml:"count,attr" json:"count"`
	ID       string    `xml:"id,attr" json:"id"`
	RawQDate string    `xml:"qDate" json:"-"`
	QDate    time.Time `json:"date"`
	Msg      string    `xml:"msg" json:"msg"`
	Name     string    `json:"name"`
}

type RenewalData

type RenewalData struct {
	Name      string `xml:"name"`
	RawExDate string `xml:"exDate"`
	ExDate    time.Time
}

type ResData

type ResData struct {
	BalanceAmount int    `xml:"balanceamount"`
	Timestamp     string `xml:"timestamp"`
	ChkData       struct {
		Cd []ItemCheck `xml:"cd"`
	} `xml:"chkData"`
	CreateData   CreateData   `xml:"creData"`
	RenewalData  RenewalData  `xml:"renData"`
	TransferData TransferData `xml:"trnData"`
}

type ResponseInfoDisclosure

type ResponseInfoDisclosure struct {
	Flag    string `xml:"flag,attr" json:"flag"`
	Email   string `xml:"email" json:"email"`
	Address string `xml:"address" json:"address"`
}

type Result

type Result struct {
	Code int    `xml:"code,attr"`
	Msg  string `xml:"msg"`
}

type Transaction

type Transaction struct {
	ClTRID string `xml:"clTRID"`
	SvTRID string `xml:"svTRID"`
}

type TransferData

type TransferData struct {
	Xmlns     string `xml:"obj,attr"`
	Name      string `xml:"name"`
	TrStatus  string `xml:"trStatus"`
	ReID      string `xml:"reID"`
	ReRawDate string `xml:"reDate"`
	ReDate    time.Time
	AcID      string `xml:"acID"`
}

Jump to

Keyboard shortcuts

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