dns

package
v9.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2024 License: Apache-2.0 Imports: 21 Imported by: 2

Documentation

Overview

Package dns provides access to the Akamai DNS V2 APIs

See: https://techdocs.akamai.com/edge-dns/reference/edge-dns-api

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrGetAuthorities is returned when GetAuthorities fails
	ErrGetAuthorities = errors.New("get authorities")
	// ErrGetNameServerRecordList is returned when GetNameServerRecordList fails
	ErrGetNameServerRecordList = errors.New("get name server record list")
)
View Source
var (
	// ErrCreateRecord is returned when CreateRecord fails
	ErrCreateRecord = errors.New("create record")
	// ErrUpdateRecord is returned when UpdateRecord fails
	ErrUpdateRecord = errors.New("update record")
	// ErrDeleteRecord is returned when UpdateRecord fails
	ErrDeleteRecord = errors.New("delete record")
)
View Source
var (
	// ErrGetRecord is returned when GetRecord fails
	ErrGetRecord = errors.New("get record")
	// ErrGetRecordList is returned when GetRecordList fails
	ErrGetRecordList = errors.New("get record list")
)
View Source
var (
	// ErrCreateRecordSets is returned when CreateRecordSets fails
	ErrCreateRecordSets = errors.New("create record sets")
	// ErrGetRecordSets is returned when GetRecordSets fails
	ErrGetRecordSets = errors.New("get record sets")
	// ErrUpdateRecordSets is returned when UpdateRecordSets fails
	ErrUpdateRecordSets = errors.New("update record sets")
)
View Source
var (
	// ErrGetTSIGKey is returned when GetTSIGKey fails
	ErrGetTSIGKey = errors.New("get tsig key")
	// ErrDeleteTSIGKey is returned when DeleteTSIGKey fails
	ErrDeleteTSIGKey = errors.New("delete tsig key")
	// ErrGetTSIGKeyAliases is returned when GetTSIGKeyAliases fails
	ErrGetTSIGKeyAliases = errors.New("get tsig key aliases")
	// ErrUpdateTSIGKey is returned when UpdateTSIGKey fails
	ErrUpdateTSIGKey = errors.New("updated tsig key")
	// ErrUpdateTSIGKeyBulk is returned when UpdateTSIGKeyBulk fails
	ErrUpdateTSIGKeyBulk = errors.New("update tsig key for multiple zones")
	// ErrGetTSIGKeyZones is returned when GetTSIGKeyZones fails
	ErrGetTSIGKeyZones = errors.New("list zones using tsig key")
	// ErrListTSIGKeys is returned when ListTSIGKeys fails
	ErrListTSIGKeys = errors.New("get a list of the tsig keys")
)
View Source
var (
	// ErrGetZone is returned when GetZone fails
	ErrGetZone = errors.New("get zone")
	// ErrGetChangeList is returned when GetChangeList fails
	ErrGetChangeList = errors.New("get change list")
	// ErrGetMasterZoneFile is returned when GetMasterZoneFile fails
	ErrGetMasterZoneFile = errors.New("get master zone file")
	// ErrPostMasterZoneFile is returned when PostMasterZoneFile fails
	ErrPostMasterZoneFile = errors.New("post master zone file")
	// ErrCreateZone is returned when CreateZone fails
	ErrCreateZone = errors.New("create zone")
	// ErrSaveChangeList is returned when SaveChangeList fails
	ErrSaveChangeList = errors.New("save change list")
	// ErrSubmitChangeList is returned when SubmitChangeList fails
	ErrSubmitChangeList = errors.New("submit change list")
	// ErrGetZoneNames is returned when GetZoneNames fails
	ErrGetZoneNames = errors.New("get zone names")
	// ErrGetZoneNameTypes is returned when GetZoneNameTypes fails
	ErrGetZoneNameTypes = errors.New("get zone name types")
)
View Source
var (
	// ErrGetBulkZoneCreateStatus is returned when GetBulkZoneCreateStatus fails
	ErrGetBulkZoneCreateStatus = errors.New("get bulk zone create status")
	// ErrGetBulkZoneDeleteStatus is returned when GetBulkZoneDeleteStatus fails
	ErrGetBulkZoneDeleteStatus = errors.New("get bulk zone delete status")
	// ErrGetBulkZoneCreateResult is returned when GetBulkZoneCreateResult fails
	ErrGetBulkZoneCreateResult = errors.New("get bulk zone create result")
	// ErrGetBulkZoneDeleteResult is returned when GetBulkZoneDeleteResult fails
	ErrGetBulkZoneDeleteResult = errors.New("get bulk zone delete result")
	// ErrCreateBulkZones is returned when CreateBulkZones fails
	ErrCreateBulkZones = errors.New("create bulk zones")
	// ErrDeleteBulkZones is returned when DeleteBulkZones fails
	ErrDeleteBulkZones = errors.New("delete bulk zones")
)
View Source
var (
	// ErrBadRequest is returned when a required parameter is missing
	ErrBadRequest = errors.New("missing argument")
)
View Source
var (
	// ErrListGroups is returned in case an error occurs on ListGroups operation
	ErrListGroups = errors.New("list groups")
)
View Source
var (
	// ErrStructValidation is returned when given struct validation failed.
	ErrStructValidation = errors.New("struct validation")
)

Functions

func ValidateZone

func ValidateZone(zone *ZoneCreate) error

ValidateZone validates ZoneCreate Object

Types

type AuthorityResponse

type AuthorityResponse struct {
	Contracts []Contract `json:"contracts"`
}

AuthorityResponse contains response with a list of one or more Contracts

type BulkCreateResultResponse

type BulkCreateResultResponse struct {
	RequestID                string           `json:"requestId"`
	SuccessfullyCreatedZones []string         `json:"successfullyCreatedZones"`
	FailedZones              []BulkFailedZone `json:"failedZones"`
}

BulkCreateResultResponse contains the response from a completed bulk-create request

type BulkDeleteResultResponse

type BulkDeleteResultResponse struct {
	RequestID                string           `json:"requestId"`
	SuccessfullyDeletedZones []string         `json:"successfullyDeletedZones"`
	FailedZones              []BulkFailedZone `json:"failedZones"`
}

BulkDeleteResultResponse contains the response from a completed bulk-delete request

type BulkFailedZone

type BulkFailedZone struct {
	Zone          string `json:"zone"`
	FailureReason string `json:"failureReason"`
}

BulkFailedZone contains information about failed zone

type BulkRequest

type BulkRequest struct {
	RequestID string
}

BulkRequest contains request parameter

type BulkStatusResponse

type BulkStatusResponse struct {
	RequestID      string `json:"requestId"`
	ZonesSubmitted int    `json:"zonesSubmitted"`
	SuccessCount   int    `json:"successCount"`
	FailureCount   int    `json:"failureCount"`
	IsComplete     bool   `json:"isComplete"`
	ExpirationDate string `json:"expirationDate"`
}

BulkStatusResponse contains current status of a running or completed bulk-create request

type BulkZonesCreate

type BulkZonesCreate struct {
	Zones []ZoneCreate `json:"zones"`
}

BulkZonesCreate contains a list of one or more new Zones to create

type BulkZonesResponse

type BulkZonesResponse struct {
	RequestID      string `json:"requestId"`
	ExpirationDate string `json:"expirationDate"`
}

BulkZonesResponse contains response from bulk-create request

type ClientFunc

type ClientFunc func(sess session.Session, opts ...Option) DNS

ClientFunc is a dns client new method, this can used for mocking

type Contract

type Contract struct {
	ContractID  string   `json:"contractId"`
	Authorities []string `json:"authorities"`
}

Contract contains contractID and a list of currently assigned Akamai authoritative nameservers

type CreateBulkZonesRequest

type CreateBulkZonesRequest struct {
	BulkZones       *BulkZonesCreate
	ZoneQueryString ZoneQueryString
}

CreateBulkZonesRequest contains request parameters for CreateBulkZones

func (CreateBulkZonesRequest) Validate

func (r CreateBulkZonesRequest) Validate() error

Validate validates CreateBulkZonesRequest

type CreateBulkZonesResponse

type CreateBulkZonesResponse struct {
	RequestID      string `json:"requestId"`
	ExpirationDate string `json:"expirationDate"`
}

CreateBulkZonesResponse contains the response data from CreateBulkZones operation

type CreateRecordRequest

type CreateRecordRequest RecordRequest

CreateRecordRequest contains request parameters for CreateRecord

func (CreateRecordRequest) Validate

func (r CreateRecordRequest) Validate() error

Validate validates CreateRecordRequest

type CreateRecordSetsRequest

type CreateRecordSetsRequest RecordSetsRequest

CreateRecordSetsRequest contains request parameters for CreateRecordSets

func (CreateRecordSetsRequest) Validate

func (r CreateRecordSetsRequest) Validate() error

Validate validates CreateRecordSetsRequest

type CreateZoneRequest

type CreateZoneRequest struct {
	CreateZone      *ZoneCreate
	ZoneQueryString ZoneQueryString
	ClearConn       []bool
}

CreateZoneRequest contains request parameters for CreateZone

func (CreateZoneRequest) Validate

func (r CreateZoneRequest) Validate() error

Validate validates CreateZoneRequest

type DNS

type DNS interface {

	// GetAuthorities provides a list of structured read-only list of name servers.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-data-authorities
	GetAuthorities(context.Context, GetAuthoritiesRequest) (*GetAuthoritiesResponse, error)

	// GetNameServerRecordList provides a list of name server records.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-data-authorities
	GetNameServerRecordList(context.Context, GetNameServerRecordListRequest) ([]string, error)

	// ListGroups returns group list associated with particular user
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-data-groups
	ListGroups(context.Context, ListGroupRequest) (*ListGroupResponse, error)

	// GetRdata retrieves record rdata, e.g. target.
	GetRdata(ctx context.Context, params GetRdataRequest) ([]string, error)
	// ProcessRdata process rdata.
	ProcessRdata(context.Context, []string, string) []string
	// ParseRData parses rdata. returning map.
	ParseRData(context.Context, string, []string) map[string]interface{}

	// GetRecordSets retrieves record sets with Query Args. No formatting of arg values.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-recordsets
	GetRecordSets(context.Context, GetRecordSetsRequest) (*GetRecordSetsResponse, error)
	// CreateRecordSets creates multiple record sets.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-zone-recordsets
	CreateRecordSets(context.Context, CreateRecordSetsRequest) error
	// UpdateRecordSets replaces list of record sets.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zones-zone-recordsets
	UpdateRecordSets(context.Context, UpdateRecordSetsRequest) error

	// GetRecordList retrieves recordset list based on type.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-recordsets
	GetRecordList(context.Context, GetRecordListRequest) (*GetRecordListResponse, error)

	// GetRecord retrieves a recordset and returns as RecordBody.
	//
	// See:  https://techdocs.akamai.com/edge-dns/reference/get-zone-name-type
	GetRecord(context.Context, GetRecordRequest) (*GetRecordResponse, error)
	// CreateRecord creates recordset.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-zone-names-name-types-type
	CreateRecord(context.Context, CreateRecordRequest) error
	// DeleteRecord removes recordset.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/delete-zone-name-type
	DeleteRecord(context.Context, DeleteRecordRequest) error
	// UpdateRecord replaces the recordset.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zones-zone-names-name-types-type
	UpdateRecord(context.Context, UpdateRecordRequest) error

	// ListTSIGKeys lists the TSIG keys used by zones that you are allowed to manage.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-keys
	ListTSIGKeys(context.Context, ListTSIGKeysRequest) (*ListTSIGKeysResponse, error)
	// GetTSIGKeyZones retrieves DNS Zones using TSIG key.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-keys-used-by
	GetTSIGKeyZones(context.Context, GetTSIGKeyZonesRequest) (*GetTSIGKeyZonesResponse, error)
	// GetTSIGKeyAliases retrieves a DNS Zone's aliases.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-key-used-by
	GetTSIGKeyAliases(context.Context, GetTSIGKeyAliasesRequest) (*GetTSIGKeyAliasesResponse, error)
	// UpdateTSIGKeyBulk updates Bulk Zones TSIG key.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-keys-bulk-update
	UpdateTSIGKeyBulk(context.Context, UpdateTSIGKeyBulkRequest) error
	// GetTSIGKey retrieves a TSIG key for zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-key
	GetTSIGKey(context.Context, GetTSIGKeyRequest) (*GetTSIGKeyResponse, error)
	// DeleteTSIGKey deletes TSIG key for zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/delete-zones-zone-key
	DeleteTSIGKey(context.Context, DeleteTSIGKeyRequest) error
	// UpdateTSIGKey updates TSIG key for zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zones-zone-key
	UpdateTSIGKey(context.Context, UpdateTSIGKeyRequest) error

	// ListZones retrieves a list of all zones user can access.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones
	ListZones(context.Context, ListZonesRequest) (*ZoneListResponse, error)

	// GetZone retrieves Zone metadata.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zone
	GetZone(context.Context, GetZoneRequest) (*GetZoneResponse, error)
	//GetChangeList retrieves Zone changelist.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-changelists-zone
	GetChangeList(context.Context, GetChangeListRequest) (*GetChangeListResponse, error)
	// GetMasterZoneFile retrieves master zone file.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-zone-file
	GetMasterZoneFile(context.Context, GetMasterZoneFileRequest) (string, error)
	// PostMasterZoneFile updates master zone file.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-zone-zone-file
	PostMasterZoneFile(context.Context, PostMasterZoneFileRequest) error
	// CreateZone creates new zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zone
	CreateZone(context.Context, CreateZoneRequest) error
	// SaveChangeList creates a new Change List based on the most recent version of a zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-changelists
	SaveChangeList(context.Context, SaveChangeListRequest) error
	// SubmitChangeList submits changelist for the Zone to create default NS SOA records.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-changelists-zone-submit
	SubmitChangeList(context.Context, SubmitChangeListRequest) error
	// UpdateZone updates zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zone
	UpdateZone(context.Context, UpdateZoneRequest) error

	// GetZoneNames retrieves a list of a zone's record names.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zone-names
	GetZoneNames(context.Context, GetZoneNamesRequest) (*GetZoneNamesResponse, error)
	// GetZoneNameTypes retrieves a zone name's record types.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zone-name-types
	GetZoneNameTypes(context.Context, GetZoneNameTypesRequest) (*GetZoneNameTypesResponse, error)
	// CreateBulkZones submits create bulk zone request.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-create-requests
	CreateBulkZones(context.Context, CreateBulkZonesRequest) (*CreateBulkZonesResponse, error)
	// DeleteBulkZones submits delete bulk zone request.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-delete-requests
	DeleteBulkZones(context.Context, DeleteBulkZonesRequest) (*DeleteBulkZonesResponse, error)
	// GetBulkZoneCreateStatus retrieves submit request status.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-create-requests-requestid
	GetBulkZoneCreateStatus(context.Context, GetBulkZoneCreateStatusRequest) (*GetBulkZoneCreateStatusResponse, error)
	//GetBulkZoneDeleteStatus retrieves submit request status.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-delete-requests-requestid
	GetBulkZoneDeleteStatus(context.Context, GetBulkZoneDeleteStatusRequest) (*GetBulkZoneDeleteStatusResponse, error)
	// GetBulkZoneCreateResult retrieves create request result.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-create-requests-requestid-result
	GetBulkZoneCreateResult(ctx context.Context, request GetBulkZoneCreateResultRequest) (*GetBulkZoneCreateResultResponse, error)
	// GetBulkZoneDeleteResult retrieves delete request result.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-delete-requests-requestid-result
	GetBulkZoneDeleteResult(context.Context, GetBulkZoneDeleteResultRequest) (*GetBulkZoneDeleteResultResponse, error)
	// GetZonesDNSSecStatus returns the current DNSSEC status for one or more zones.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-dns-sec-status
	GetZonesDNSSecStatus(context.Context, GetZonesDNSSecStatusRequest) (*GetZonesDNSSecStatusResponse, error)
}

DNS is the dns api interface

func Client

func Client(sess session.Session, opts ...Option) DNS

Client returns a new dns Client instance with the specified controller

type DeleteBulkZonesRequest

type DeleteBulkZonesRequest struct {
	ZonesList          *ZoneNameListResponse
	BypassSafetyChecks *bool
}

DeleteBulkZonesRequest contains request parameters for DeleteBulkZones

func (DeleteBulkZonesRequest) Validate

func (r DeleteBulkZonesRequest) Validate() error

Validate validates DeleteBulkZonesRequest

type DeleteBulkZonesResponse

type DeleteBulkZonesResponse struct {
	RequestID      string `json:"requestId"`
	ExpirationDate string `json:"expirationDate"`
}

DeleteBulkZonesResponse contains the response data from DeleteBulkZones operation

type DeleteRecordRequest

type DeleteRecordRequest struct {
	Zone       string
	Name       string
	RecordType string
	RecLock    []bool
}

DeleteRecordRequest contains request parameters for DeleteRecord

func (DeleteRecordRequest) Validate

func (r DeleteRecordRequest) Validate() error

Validate validates DeleteRecordRequest

type DeleteTSIGKeyRequest

type DeleteTSIGKeyRequest TSIGKeyRequest

DeleteTSIGKeyRequest contains request parameters for DeleteTSIGKey

func (DeleteTSIGKeyRequest) Validate

func (r DeleteTSIGKeyRequest) Validate() error

Validate validates DeleteTSIGKeyRequest

type Error

type Error struct {
	Type          string `json:"type"`
	Title         string `json:"title"`
	Detail        string `json:"detail"`
	Instance      string `json:"instance,omitempty"`
	BehaviorName  string `json:"behaviorName,omitempty"`
	ErrorLocation string `json:"errorLocation,omitempty"`
	StatusCode    int    `json:"-"`
}

Error is a papi error interface

func (*Error) Error

func (e *Error) Error() string

func (*Error) Is

func (e *Error) Is(target error) bool

Is handles error comparisons

type GetAuthoritiesRequest

type GetAuthoritiesRequest struct {
	ContractIDs string
}

GetAuthoritiesRequest contains request parameters for GetAuthorities

func (GetAuthoritiesRequest) Validate

func (r GetAuthoritiesRequest) Validate() error

Validate validates GetAuthoritiesRequest

type GetAuthoritiesResponse

type GetAuthoritiesResponse struct {
	Contracts []Contract `json:"contracts"`
}

GetAuthoritiesResponse contains the response data from GetAuthorities operation

type GetBulkZoneCreateResultRequest

type GetBulkZoneCreateResultRequest BulkRequest

GetBulkZoneCreateResultRequest contains request parameters for GetBulkZoneCreateResult

func (GetBulkZoneCreateResultRequest) Validate

Validate validates GetBulkZoneCreateResultRequest

type GetBulkZoneCreateResultResponse

type GetBulkZoneCreateResultResponse struct {
	RequestID                string           `json:"requestId"`
	SuccessfullyCreatedZones []string         `json:"successfullyCreatedZones"`
	FailedZones              []BulkFailedZone `json:"failedZones"`
}

GetBulkZoneCreateResultResponse contains the response data from GetBulkZoneCreateResult operation

type GetBulkZoneCreateStatusRequest

type GetBulkZoneCreateStatusRequest BulkRequest

GetBulkZoneCreateStatusRequest contains request parameters for GetBulkZoneCreateStatus

func (GetBulkZoneCreateStatusRequest) Validate

Validate validates GetBulkZoneCreateStatusRequest

type GetBulkZoneCreateStatusResponse

type GetBulkZoneCreateStatusResponse struct {
	RequestID      string `json:"requestId"`
	ZonesSubmitted int    `json:"zonesSubmitted"`
	SuccessCount   int    `json:"successCount"`
	FailureCount   int    `json:"failureCount"`
	IsComplete     bool   `json:"isComplete"`
	ExpirationDate string `json:"expirationDate"`
}

GetBulkZoneCreateStatusResponse contains the response data from GetBulkZoneCreateStatus operation

type GetBulkZoneDeleteResultRequest

type GetBulkZoneDeleteResultRequest BulkRequest

GetBulkZoneDeleteResultRequest contains request parameters for GetBulkZoneDeleteResult

func (GetBulkZoneDeleteResultRequest) Validate

Validate validates GetBulkZoneDeleteResultRequest

type GetBulkZoneDeleteResultResponse

type GetBulkZoneDeleteResultResponse struct {
	RequestID                string           `json:"requestId"`
	SuccessfullyDeletedZones []string         `json:"successfullyDeletedZones"`
	FailedZones              []BulkFailedZone `json:"failedZones"`
}

GetBulkZoneDeleteResultResponse contains the response data from GetBulkZoneDeleteResult operation

type GetBulkZoneDeleteStatusRequest

type GetBulkZoneDeleteStatusRequest BulkRequest

GetBulkZoneDeleteStatusRequest contains request parameters for GetBulkZoneDeleteStatus

func (GetBulkZoneDeleteStatusRequest) Validate

Validate validates GetBulkZoneDeleteStatusRequest

type GetBulkZoneDeleteStatusResponse

type GetBulkZoneDeleteStatusResponse struct {
	RequestID      string `json:"requestId"`
	ZonesSubmitted int    `json:"zonesSubmitted"`
	SuccessCount   int    `json:"successCount"`
	FailureCount   int    `json:"failureCount"`
	IsComplete     bool   `json:"isComplete"`
	ExpirationDate string `json:"expirationDate"`
}

GetBulkZoneDeleteStatusResponse contains the response data from GetBulkZoneDeleteStatus operation

type GetChangeListRequest

type GetChangeListRequest ZoneRequest

GetChangeListRequest contains request parameters for GetChangeList

func (GetChangeListRequest) Validate

func (r GetChangeListRequest) Validate() error

Validate validates GetChangeListRequest

type GetChangeListResponse

type GetChangeListResponse struct {
	Zone             string `json:"zone,omitempty"`
	ChangeTag        string `json:"changeTag,omitempty"`
	ZoneVersionID    string `json:"zoneVersionId,omitempty"`
	LastModifiedDate string `json:"lastModifiedDate,omitempty"`
	Stale            bool   `json:"stale,omitempty"`
}

GetChangeListResponse contains metadata about a change list

type GetMasterZoneFileRequest

type GetMasterZoneFileRequest ZoneRequest

GetMasterZoneFileRequest contains request parameters for GetMasterZoneFile

func (GetMasterZoneFileRequest) Validate

func (r GetMasterZoneFileRequest) Validate() error

Validate validates GetMasterZoneFileRequest

type GetNameServerRecordListRequest

type GetNameServerRecordListRequest struct {
	ContractIDs string
}

GetNameServerRecordListRequest contains request parameters for GetNameServerRecordList

func (GetNameServerRecordListRequest) Validate

Validate validates GetNameServerRecordListRequest

type GetRdataRequest

type GetRdataRequest RdataRequest

GetRdataRequest contains request parameters for GetRdata

func (GetRdataRequest) Validate

func (r GetRdataRequest) Validate() error

Validate validates GetRdataRequest

type GetRecordListRequest

type GetRecordListRequest struct {
	Zone       string
	RecordType string
}

GetRecordListRequest contains request parameters for GetRecordList

func (GetRecordListRequest) Validate

func (r GetRecordListRequest) Validate() error

Validate validates GetRecordListRequest

type GetRecordListResponse

type GetRecordListResponse struct {
	Metadata   Metadata    `json:"metadata"`
	RecordSets []RecordSet `json:"recordsets"`
}

GetRecordListResponse contains the response data from GetRecordList operation

type GetRecordRequest

type GetRecordRequest RdataRequest

GetRecordRequest contains request parameters for GetRecord

func (GetRecordRequest) Validate

func (r GetRecordRequest) Validate() error

Validate validates GetRecordRequest

type GetRecordResponse

type GetRecordResponse struct {
	Name       string   `json:"name"`
	RecordType string   `json:"type"`
	TTL        int      `json:"ttl"`
	Active     bool     `json:"active"`
	Target     []string `json:"rdata"`
}

GetRecordResponse contains the response data from GetRecord operation

type GetRecordSetsRequest

type GetRecordSetsRequest struct {
	Zone      string
	QueryArgs *RecordSetQueryArgs
}

GetRecordSetsRequest contains request parameters for GetRecordSets

func (GetRecordSetsRequest) Validate

func (r GetRecordSetsRequest) Validate() error

Validate validates GetRecordSetsRequest

type GetRecordSetsResponse

type GetRecordSetsResponse struct {
	Metadata   Metadata    `json:"metadata"`
	RecordSets []RecordSet `json:"recordsets"`
}

GetRecordSetsResponse contains the response data from GetRecordSets operation

type GetTSIGKeyAliasesRequest

type GetTSIGKeyAliasesRequest TSIGKeyRequest

GetTSIGKeyAliasesRequest contains request parameters for GetTSIGKeyAliases

func (GetTSIGKeyAliasesRequest) Validate

func (r GetTSIGKeyAliasesRequest) Validate() error

Validate validates GetTSIGKeyAliasesRequest

type GetTSIGKeyAliasesResponse

type GetTSIGKeyAliasesResponse struct {
	Zones   []string `json:"zones"`
	Aliases []string `json:"aliases"`
}

GetTSIGKeyAliasesResponse contains the response data from GetTSIGKeyAliases operation

type GetTSIGKeyRequest

type GetTSIGKeyRequest TSIGKeyRequest

GetTSIGKeyRequest contains request parameters for GetTSIGKey

func (GetTSIGKeyRequest) Validate

func (r GetTSIGKeyRequest) Validate() error

Validate validates GetTSIGKeyRequest

type GetTSIGKeyResponse

type GetTSIGKeyResponse struct {
	TSIGKey
	ZoneCount int64 `json:"zonesCount,omitempty"`
}

GetTSIGKeyResponse contains the response data from GetTSIGKey operation

type GetTSIGKeyZonesRequest

type GetTSIGKeyZonesRequest struct {
	TsigKey *TSIGKey
}

GetTSIGKeyZonesRequest contains request parameters for GetTSIGKeyZones

func (GetTSIGKeyZonesRequest) Validate

func (r GetTSIGKeyZonesRequest) Validate() error

Validate validates GetTSIGKeyZonesRequest

type GetTSIGKeyZonesResponse

type GetTSIGKeyZonesResponse struct {
	Zones   []string `json:"zones"`
	Aliases []string `json:"aliases"`
}

GetTSIGKeyZonesResponse contains the response data from GetTSIGKeyZones operation

type GetZoneNameTypesRequest

type GetZoneNameTypesRequest struct {
	Zone     string
	ZoneName string
}

GetZoneNameTypesRequest contains request parameters for GetZoneNameTypes

func (GetZoneNameTypesRequest) Validate

func (r GetZoneNameTypesRequest) Validate() error

Validate validates GetZoneNameTypesRequest

type GetZoneNameTypesResponse

type GetZoneNameTypesResponse struct {
	Types []string `json:"types"`
}

GetZoneNameTypesResponse contains record set types for zone

type GetZoneNamesRequest

type GetZoneNamesRequest ZoneRequest

GetZoneNamesRequest contains request parameters for GetZoneNames

func (GetZoneNamesRequest) Validate

func (r GetZoneNamesRequest) Validate() error

Validate validates GetZoneNamesRequest

type GetZoneNamesResponse

type GetZoneNamesResponse struct {
	Names []string `json:"names"`
}

GetZoneNamesResponse contains record set names for zone

type GetZoneRequest

type GetZoneRequest ZoneRequest

GetZoneRequest contains request parameters for GetZone

func (GetZoneRequest) Validate

func (r GetZoneRequest) Validate() error

Validate validates GetZoneRequest

type GetZoneResponse

type GetZoneResponse ZoneResponse

GetZoneResponse contains the response data from GetZone operation

type GetZonesDNSSecStatusRequest

type GetZonesDNSSecStatusRequest struct {
	Zones []string `json:"zones"`
}

GetZonesDNSSecStatusRequest is used to get the DNSSEC status for one or more zones

func (GetZonesDNSSecStatusRequest) Validate

func (r GetZonesDNSSecStatusRequest) Validate() error

Validate validates GetZonesDNSSecStatusRequest

type GetZonesDNSSecStatusResponse

type GetZonesDNSSecStatusResponse struct {
	DNSSecStatuses []SecStatus `json:"dnsSecStatuses"`
}

GetZonesDNSSecStatusResponse represents a list of DNSSEC statuses for DNS zones specified in the GetZonesDNSSecStatus request

type Group

type Group struct {
	GroupID     int      `json:"groupId"`
	GroupName   string   `json:"groupName"`
	ContractIDs []string `json:"contractIds"`
	Permissions []string `json:"permissions"`
}

Group contain the information of the particular group

type ListGroupRequest

type ListGroupRequest struct {
	GroupID string
}

ListGroupRequest is a request struct

type ListGroupResponse

type ListGroupResponse struct {
	Groups []Group `json:"groups"`
}

ListGroupResponse lists the groups accessible to the current user

type ListMetadata

type ListMetadata struct {
	ContractIDs   []string `json:"contractIds"`
	Page          int      `json:"page"`
	PageSize      int      `json:"pageSize"`
	ShowAll       bool     `json:"showAll"`
	TotalElements int      `json:"totalElements"`
}

ListMetadata contains metadata for List Zones request

type ListTSIGKeysRequest

type ListTSIGKeysRequest struct {
	TsigQuery *TSIGQueryString
}

ListTSIGKeysRequest contains request parameters for ListTSIGKeys

type ListTSIGKeysResponse

type ListTSIGKeysResponse struct {
	Metadata *TSIGReportMeta   `json:"metadata"`
	Keys     []TSIGKeyResponse `json:"keys,omitempty"`
}

ListTSIGKeysResponse contains the response data from ListTSIGKeys operation

type ListZonesRequest

type ListZonesRequest struct {
	ContractIDs string
	Page        int
	PageSize    int
	Search      string
	ShowAll     bool
	SortBy      string
	Types       string
}

ListZonesRequest contains request parameters for ListZones

type Metadata

type Metadata struct {
	LastPage      int  `json:"lastPage"`
	Page          int  `json:"page"`
	PageSize      int  `json:"pageSize"`
	ShowAll       bool `json:"showAll"`
	TotalElements int  `json:"totalElements"`
}

Metadata contains metadata of RecordSet response

type Mock

type Mock struct {
	mock.Mock
}

func (*Mock) CreateBulkZones

func (d *Mock) CreateBulkZones(ctx context.Context, req CreateBulkZonesRequest) (*CreateBulkZonesResponse, error)

func (*Mock) CreateRecord

func (d *Mock) CreateRecord(ctx context.Context, req CreateRecordRequest) error

func (*Mock) CreateRecordSets

func (d *Mock) CreateRecordSets(ctx context.Context, req CreateRecordSetsRequest) error

func (*Mock) CreateZone

func (d *Mock) CreateZone(ctx context.Context, req CreateZoneRequest) error

func (*Mock) DeleteBulkZones

func (d *Mock) DeleteBulkZones(ctx context.Context, req DeleteBulkZonesRequest) (*DeleteBulkZonesResponse, error)

func (*Mock) DeleteRecord

func (d *Mock) DeleteRecord(ctx context.Context, req DeleteRecordRequest) error

func (*Mock) DeleteTSIGKey

func (d *Mock) DeleteTSIGKey(ctx context.Context, req DeleteTSIGKeyRequest) error

func (*Mock) GetAuthorities

func (d *Mock) GetAuthorities(ctx context.Context, req GetAuthoritiesRequest) (*GetAuthoritiesResponse, error)

func (*Mock) GetChangeList

func (d *Mock) GetChangeList(ctx context.Context, req GetChangeListRequest) (*GetChangeListResponse, error)

func (*Mock) GetMasterZoneFile

func (d *Mock) GetMasterZoneFile(ctx context.Context, req GetMasterZoneFileRequest) (string, error)

func (*Mock) GetNameServerRecordList

func (d *Mock) GetNameServerRecordList(ctx context.Context, req GetNameServerRecordListRequest) ([]string, error)

func (*Mock) GetRdata

func (d *Mock) GetRdata(ctx context.Context, req GetRdataRequest) ([]string, error)

func (*Mock) GetRecord

func (d *Mock) GetRecord(ctx context.Context, req GetRecordRequest) (*GetRecordResponse, error)

func (*Mock) GetRecordList

func (d *Mock) GetRecordList(ctx context.Context, req GetRecordListRequest) (*GetRecordListResponse, error)

func (*Mock) GetRecordSets

func (d *Mock) GetRecordSets(ctx context.Context, req GetRecordSetsRequest) (*GetRecordSetsResponse, error)

func (*Mock) GetTSIGKey

func (d *Mock) GetTSIGKey(ctx context.Context, req GetTSIGKeyRequest) (*GetTSIGKeyResponse, error)

func (*Mock) GetTSIGKeyAliases

func (d *Mock) GetTSIGKeyAliases(ctx context.Context, req GetTSIGKeyAliasesRequest) (*GetTSIGKeyAliasesResponse, error)

func (*Mock) GetTSIGKeyZones

func (d *Mock) GetTSIGKeyZones(ctx context.Context, req GetTSIGKeyZonesRequest) (*GetTSIGKeyZonesResponse, error)

func (*Mock) GetZone

func (d *Mock) GetZone(ctx context.Context, req GetZoneRequest) (*GetZoneResponse, error)

func (*Mock) GetZoneNameTypes

func (d *Mock) GetZoneNameTypes(ctx context.Context, req GetZoneNameTypesRequest) (*GetZoneNameTypesResponse, error)

func (*Mock) GetZoneNames

func (d *Mock) GetZoneNames(ctx context.Context, req GetZoneNamesRequest) (*GetZoneNamesResponse, error)

func (*Mock) GetZonesDNSSecStatus

func (d *Mock) GetZonesDNSSecStatus(ctx context.Context, params GetZonesDNSSecStatusRequest) (*GetZonesDNSSecStatusResponse, error)

func (*Mock) ListGroups

func (d *Mock) ListGroups(ctx context.Context, request ListGroupRequest) (*ListGroupResponse, error)

func (*Mock) ListTSIGKeys

func (d *Mock) ListTSIGKeys(ctx context.Context, req ListTSIGKeysRequest) (*ListTSIGKeysResponse, error)

func (*Mock) ListZones

func (d *Mock) ListZones(ctx context.Context, req ListZonesRequest) (*ZoneListResponse, error)

func (*Mock) ParseRData

func (d *Mock) ParseRData(ctx context.Context, param string, param2 []string) map[string]interface{}

func (*Mock) PostMasterZoneFile

func (d *Mock) PostMasterZoneFile(ctx context.Context, req PostMasterZoneFileRequest) error

func (*Mock) ProcessRdata

func (d *Mock) ProcessRdata(ctx context.Context, param []string, param2 string) []string

func (*Mock) SaveChangeList

func (d *Mock) SaveChangeList(ctx context.Context, req SaveChangeListRequest) error

func (*Mock) SubmitChangeList

func (d *Mock) SubmitChangeList(ctx context.Context, req SubmitChangeListRequest) error

func (*Mock) UpdateRecord

func (d *Mock) UpdateRecord(ctx context.Context, req UpdateRecordRequest) error

func (*Mock) UpdateRecordSets

func (d *Mock) UpdateRecordSets(ctx context.Context, req UpdateRecordSetsRequest) error

func (*Mock) UpdateTSIGKey

func (d *Mock) UpdateTSIGKey(ctx context.Context, req UpdateTSIGKeyRequest) error

func (*Mock) UpdateTSIGKeyBulk

func (d *Mock) UpdateTSIGKeyBulk(ctx context.Context, req UpdateTSIGKeyBulkRequest) error

func (*Mock) UpdateZone

func (d *Mock) UpdateZone(ctx context.Context, req UpdateZoneRequest) error

type Option

type Option func(*dns)

Option defines a DNS option

type OutboundZoneTransfer added in v9.1.0

type OutboundZoneTransfer struct {
	ACL           []string `json:"ACL"`
	Enabled       bool     `json:"enabled"`
	NotifyTargets []string `json:"notifyTargets"`
	TSIGKey       *TSIGKey `json:"tsigKey,omitempty"`
}

OutboundZoneTransfer contains OutboundZoneTransfer request parameters

type PostMasterZoneFileRequest

type PostMasterZoneFileRequest struct {
	Zone     string
	FileData string
}

PostMasterZoneFileRequest contains request parameters for PostMasterZoneFile

func (PostMasterZoneFileRequest) Validate

func (r PostMasterZoneFileRequest) Validate() error

Validate validates PostMasterZoneFileRequest

type RdataRequest

type RdataRequest struct {
	Zone       string
	Name       string
	RecordType string
}

RdataRequest contains request parameters

type RecordBody

type RecordBody struct {
	Name       string   `json:"name,omitempty"`
	RecordType string   `json:"type,omitempty"`
	TTL        int      `json:"ttl,omitempty"`
	Active     bool     `json:"active,omitempty"`
	Target     []string `json:"rdata,omitempty"`
}

RecordBody contains request body for dns record

func (*RecordBody) Validate

func (rec *RecordBody) Validate() error

Validate validates RecordBody

type RecordRequest

type RecordRequest struct {
	Record  *RecordBody
	Zone    string
	RecLock []bool
}

RecordRequest contains request parameters

type RecordSet

type RecordSet struct {
	Name  string   `json:"name"`
	Type  string   `json:"type"`
	TTL   int      `json:"ttl"`
	Rdata []string `json:"rdata"`
}

RecordSet contains record set metadata

type RecordSetQueryArgs

type RecordSetQueryArgs struct {
	Page     int
	PageSize int
	Search   string
	ShowAll  bool
	SortBy   string
	Types    string
}

RecordSetQueryArgs contains query parameters for recordset request

type RecordSets

type RecordSets struct {
	RecordSets []RecordSet `json:"recordsets"`
}

RecordSets Struct. Used for Create and Update record sets. Contains a list of RecordSet objects

func (*RecordSets) Validate

func (rs *RecordSets) Validate() error

Validate validates RecordSets

type RecordSetsRequest

type RecordSetsRequest struct {
	RecordSets *RecordSets
	Zone       string
	RecLock    []bool
}

RecordSetsRequest contains request parameters

type SaveChangeListRequest

type SaveChangeListRequest ZoneCreate

SaveChangeListRequest contains request parameters for SaveChangelist

func (SaveChangeListRequest) Validate

func (r SaveChangeListRequest) Validate() error

Validate validates SaveChangelistRequest

type SecRecords

type SecRecords struct {
	DNSKeyRecord     string    `json:"dnskeyRecord"`
	DSRecord         string    `json:"dsRecord"`
	ExpectedTTL      int64     `json:"expectedTtl"`
	LastModifiedDate time.Time `json:"lastModifiedDate"`
}

SecRecords represents a set of DNSSEC records for a DNS zone

type SecStatus

type SecStatus struct {
	Zone           string      `json:"zone"`
	Alerts         []string    `json:"alerts"`
	CurrentRecords SecRecords  `json:"currentRecords"`
	NewRecords     *SecRecords `json:"newRecords"`
}

SecStatus represents the DNSSEC status for a DNS zone

type SubmitChangeListRequest

type SubmitChangeListRequest ZoneCreate

SubmitChangeListRequest contains request parameters for SubmitChangeList

func (SubmitChangeListRequest) Validate

func (r SubmitChangeListRequest) Validate() error

Validate validates SubmitChangeListRequest

type TSIGKey

type TSIGKey struct {
	Name      string `json:"name"`
	Algorithm string `json:"algorithm,omitempty"`
	Secret    string `json:"secret,omitempty"`
}

TSIGKey contains TSIG key POST response

func (*TSIGKey) Validate

func (key *TSIGKey) Validate() error

Validate validates TSIGKey

type TSIGKeyBulkPost

type TSIGKeyBulkPost struct {
	Key   *TSIGKey `json:"key"`
	Zones []string `json:"zones"`
}

TSIGKeyBulkPost contains TSIG key and a list of names of zones that should use the key. Used with update function.

func (*TSIGKeyBulkPost) Validate

func (bulk *TSIGKeyBulkPost) Validate() error

Validate validates TSIGKeyBulkPost

type TSIGKeyRequest

type TSIGKeyRequest struct {
	Zone string
}

TSIGKeyRequest contains request parameter

type TSIGKeyResponse

type TSIGKeyResponse struct {
	TSIGKey
	ZoneCount int64 `json:"zonesCount,omitempty"`
}

TSIGKeyResponse contains TSIG key GET response

type TSIGQueryString

type TSIGQueryString struct {
	ContractIDs []string `json:"contractIds,omitempty"`
	Search      string   `json:"search,omitempty"`
	SortBy      []string `json:"sortBy,omitempty"`
	GID         int64    `json:"gid,omitempty"`
}

TSIGQueryString contains TSIG query parameters

type TSIGReportMeta

type TSIGReportMeta struct {
	TotalElements int64    `json:"totalElements"`
	Search        string   `json:"search,omitempty"`
	Contracts     []string `json:"contracts,omitempty"`
	GID           int64    `json:"gid,omitempty"`
	SortBy        []string `json:"sortBy,omitempty"`
}

TSIGReportMeta contains metadata for TSIGReport response

type TSIGReportResponse

type TSIGReportResponse struct {
	Metadata *TSIGReportMeta   `json:"metadata"`
	Keys     []TSIGKeyResponse `json:"keys,omitempty"`
}

TSIGReportResponse contains response with a list of the TSIG keys used by zones.

type TSIGZoneAliases

type TSIGZoneAliases struct {
	Aliases []string `json:"aliases"`
}

TSIGZoneAliases contains list of zone aliases

type UpdateRecordRequest

type UpdateRecordRequest RecordRequest

UpdateRecordRequest contains request parameters for UpdateRecord

func (UpdateRecordRequest) Validate

func (r UpdateRecordRequest) Validate() error

Validate validates UpdateRecordRequest

type UpdateRecordSetsRequest

type UpdateRecordSetsRequest RecordSetsRequest

UpdateRecordSetsRequest contains request parameters for UpdateRecordSets

func (UpdateRecordSetsRequest) Validate

func (r UpdateRecordSetsRequest) Validate() error

Validate validates UpdateRecordSetsRequest

type UpdateTSIGKeyBulkRequest

type UpdateTSIGKeyBulkRequest struct {
	TSIGKeyBulk *TSIGKeyBulkPost
}

UpdateTSIGKeyBulkRequest contains request parameters for UpdateTSIGKeyBulk

func (UpdateTSIGKeyBulkRequest) Validate

func (r UpdateTSIGKeyBulkRequest) Validate() error

Validate validates UpdateTSIGKeyBulkRequest

type UpdateTSIGKeyRequest

type UpdateTSIGKeyRequest struct {
	TsigKey *TSIGKey
	Zone    string
}

UpdateTSIGKeyRequest contains request parameters for UpdateTSIGKey

func (UpdateTSIGKeyRequest) Validate

func (r UpdateTSIGKeyRequest) Validate() error

Validate validates UpdateTSIGKeyRequest

type UpdateZoneRequest

type UpdateZoneRequest struct {
	CreateZone *ZoneCreate
}

UpdateZoneRequest contains request parameters for UpdateZone

type ZoneCreate

type ZoneCreate struct {
	Zone                  string                `json:"zone"`
	Type                  string                `json:"type"`
	Masters               []string              `json:"masters,omitempty"`
	Comment               string                `json:"comment,omitempty"`
	SignAndServe          bool                  `json:"signAndServe"`
	SignAndServeAlgorithm string                `json:"signAndServeAlgorithm,omitempty"`
	TSIGKey               *TSIGKey              `json:"tsigKey,omitempty"`
	Target                string                `json:"target,omitempty"`
	EndCustomerID         string                `json:"endCustomerId,omitempty"`
	ContractID            string                `json:"contractId,omitempty"`
	OutboundZoneTransfer  *OutboundZoneTransfer `json:"outboundZoneTransfer,omitempty"`
}

ZoneCreate contains zone create request

type ZoneListResponse

type ZoneListResponse struct {
	Metadata *ListMetadata  `json:"metadata,omitempty"`
	Zones    []ZoneResponse `json:"zones,omitempty"`
}

ZoneListResponse contains response for List Zones request

type ZoneNameListResponse

type ZoneNameListResponse struct {
	Zones   []string `json:"zones"`
	Aliases []string `json:"aliases,omitempty"`
}

ZoneNameListResponse contains response with a list of zone's names and aliases

type ZoneQueryString

type ZoneQueryString struct {
	Contract string
	Group    string
}

ZoneQueryString contains zone query parameters

type ZoneRequest

type ZoneRequest struct {
	Zone string
}

ZoneRequest contains request parameters

type ZoneResponse

type ZoneResponse struct {
	Zone                  string                `json:"zone,omitempty"`
	Type                  string                `json:"type,omitempty"`
	Masters               []string              `json:"masters,omitempty"`
	Comment               string                `json:"comment,omitempty"`
	SignAndServe          bool                  `json:"signAndServe"`
	SignAndServeAlgorithm string                `json:"signAndServeAlgorithm,omitempty"`
	TSIGKey               *TSIGKey              `json:"tsigKey,omitempty"`
	Target                string                `json:"target,omitempty"`
	EndCustomerID         string                `json:"endCustomerId,omitempty"`
	ContractID            string                `json:"contractId,omitempty"`
	AliasCount            int64                 `json:"aliasCount,omitempty"`
	ActivationState       string                `json:"activationState,omitempty"`
	LastActivationDate    string                `json:"lastActivationDate,omitempty"`
	LastModifiedBy        string                `json:"lastModifiedBy,omitempty"`
	LastModifiedDate      string                `json:"lastModifiedDate,omitempty"`
	VersionID             string                `json:"versionId,omitempty"`
	OutboundZoneTransfer  *OutboundZoneTransfer `json:"outboundZoneTransfer,omitempty"`
}

ZoneResponse contains zone create response

Jump to

Keyboard shortcuts

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