dns

package
v8.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2024 License: Apache-2.0 Imports: 21 Imported by: 4

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 (
	// 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 Authorities

type Authorities 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, string) (*AuthorityResponse, error)
	// GetNameServerRecordList provides a list of name server records.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-data-authorities
	GetNameServerRecordList(context.Context, string) ([]string, error)
}

Authorities contains operations available on Authorities data sources.

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 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 ChangeListResponse

type ChangeListResponse 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"`
}

ChangeListResponse contains metadata about a change list

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 DNS

type DNS interface {
	Authorities
	Data
	Recordsets
	Records
	TSIGKeys
	Zones
}

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 Data

type Data interface {
	// 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)
}

Data contains operations available on Data resources.

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 GetZonesDNSSecStatusRequest added in v8.3.0

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

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

func (GetZonesDNSSecStatusRequest) Validate added in v8.3.0

func (r GetZonesDNSSecStatusRequest) Validate() error

Validate validates GetZonesDNSSecStatusRequest

type GetZonesDNSSecStatusResponse added in v8.3.0

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 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, param *BulkZonesCreate, param2 ZoneQueryString) (*BulkZonesResponse, error)

func (*Mock) CreateRecord

func (d *Mock) CreateRecord(ctx context.Context, param *RecordBody, param2 string, param3 ...bool) error

func (*Mock) CreateRecordSets

func (d *Mock) CreateRecordSets(ctx context.Context, param *RecordSets, param2 string, param3 ...bool) error

func (*Mock) CreateZone

func (d *Mock) CreateZone(ctx context.Context, param1 *ZoneCreate, param2 ZoneQueryString, param3 ...bool) error

func (*Mock) DeleteBulkZones

func (d *Mock) DeleteBulkZones(ctx context.Context, param *ZoneNameListResponse, param2 ...bool) (*BulkZonesResponse, error)

func (*Mock) DeleteRecord

func (d *Mock) DeleteRecord(ctx context.Context, param *RecordBody, param2 string, param3 ...bool) error

func (*Mock) DeleteTSIGKey

func (d *Mock) DeleteTSIGKey(ctx context.Context, param1 string) error

func (*Mock) DeleteZone

func (d *Mock) DeleteZone(ctx context.Context, param1 *ZoneCreate, param2 ZoneQueryString) error

func (*Mock) GetAuthorities

func (d *Mock) GetAuthorities(ctx context.Context, param string) (*AuthorityResponse, error)

func (*Mock) GetBulkZoneCreateResult

func (d *Mock) GetBulkZoneCreateResult(ctx context.Context, param string) (*BulkCreateResultResponse, error)

func (*Mock) GetBulkZoneCreateStatus

func (d *Mock) GetBulkZoneCreateStatus(ctx context.Context, param string) (*BulkStatusResponse, error)

func (*Mock) GetBulkZoneDeleteResult

func (d *Mock) GetBulkZoneDeleteResult(ctx context.Context, param string) (*BulkDeleteResultResponse, error)

func (*Mock) GetBulkZoneDeleteStatus

func (d *Mock) GetBulkZoneDeleteStatus(ctx context.Context, param string) (*BulkStatusResponse, error)

func (*Mock) GetChangeList

func (d *Mock) GetChangeList(ctx context.Context, param string) (*ChangeListResponse, error)

func (*Mock) GetMasterZoneFile

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

func (*Mock) GetNameServerRecordList

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

func (*Mock) GetRdata

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

func (*Mock) GetRecord

func (d *Mock) GetRecord(ctx context.Context, param string, param2 string, param3 string) (*RecordBody, error)

func (*Mock) GetRecordList

func (d *Mock) GetRecordList(ctx context.Context, param string, param2 string, param3 string) (*RecordSetResponse, error)

func (*Mock) GetRecordSets

func (d *Mock) GetRecordSets(ctx context.Context, param string, param2 ...RecordSetQueryArgs) (*RecordSetResponse, error)

func (*Mock) GetTSIGKey

func (d *Mock) GetTSIGKey(ctx context.Context, param string) (*TSIGKeyResponse, error)

func (*Mock) GetTSIGKeyAliases

func (d *Mock) GetTSIGKeyAliases(ctx context.Context, param string) (*ZoneNameListResponse, error)

func (*Mock) GetTSIGKeyZones

func (d *Mock) GetTSIGKeyZones(ctx context.Context, param *TSIGKey) (*ZoneNameListResponse, error)

func (*Mock) GetZone

func (d *Mock) GetZone(ctx context.Context, name string) (*ZoneResponse, error)

func (*Mock) GetZoneNameTypes

func (d *Mock) GetZoneNameTypes(ctx context.Context, param1 string, param2 string) (*ZoneNameTypesResponse, error)

func (*Mock) GetZoneNames

func (d *Mock) GetZoneNames(ctx context.Context, param string) (*ZoneNamesResponse, error)

func (*Mock) GetZonesDNSSecStatus added in v8.3.0

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, param *TSIGQueryString) (*TSIGReportResponse, error)

func (*Mock) ListZones

func (d *Mock) ListZones(ctx context.Context, query ...ZoneListQueryArgs) (*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, param string, param2 string) 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, param *ZoneCreate) error

func (*Mock) SubmitChangelist

func (d *Mock) SubmitChangelist(ctx context.Context, param *ZoneCreate) error

func (*Mock) TSIGKeyBulkUpdate

func (d *Mock) TSIGKeyBulkUpdate(ctx context.Context, param1 *TSIGKeyBulkPost) error

func (*Mock) UpdateRecord

func (d *Mock) UpdateRecord(ctx context.Context, param *RecordBody, param2 string, param3 ...bool) error

func (*Mock) UpdateRecordSets

func (d *Mock) UpdateRecordSets(ctx context.Context, param *RecordSets, param2 string, param3 ...bool) error

func (*Mock) UpdateTSIGKey

func (d *Mock) UpdateTSIGKey(ctx context.Context, param1 *TSIGKey, param2 string) error

func (*Mock) UpdateZone

func (d *Mock) UpdateZone(ctx context.Context, param1 *ZoneCreate, param2 ZoneQueryString) error

type Option

type Option func(*dns)

Option defines a DNS option

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 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 RecordSetResponse

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

RecordSetResponse contains a response with a list of record sets

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 Records

type Records interface {
	// GetRecordList retrieves recordset list based on type.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-recordsets
	GetRecordList(context.Context, string, string, string) (*RecordSetResponse, error)
	// GetRdata retrieves record rdata, e.g. target.
	GetRdata(context.Context, string, string, string) ([]string, error)
	// ProcessRdata process rdata.
	ProcessRdata(context.Context, []string, string) []string
	// ParseRData parses rdata. returning map.
	ParseRData(context.Context, string, []string) map[string]interface{}
	// GetRecord retrieves a recordset and returns as RecordBody.
	//
	// See:  https://techdocs.akamai.com/edge-dns/reference/get-zone-name-type
	GetRecord(context.Context, string, string, string) (*RecordBody, error)
	// CreateRecord creates recordset.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-zone-names-name-types-type
	CreateRecord(context.Context, *RecordBody, string, ...bool) error
	// DeleteRecord removes recordset.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/delete-zone-name-type
	DeleteRecord(context.Context, *RecordBody, string, ...bool) error
	// UpdateRecord replaces the recordset.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zones-zone-names-name-types-type
	UpdateRecord(context.Context, *RecordBody, string, ...bool) error
}

Records contains operations available on a Record resource.

type Recordsets

type Recordsets 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, string, ...RecordSetQueryArgs) (*RecordSetResponse, error)
	// CreateRecordSets creates multiple record sets.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-zone-recordsets
	CreateRecordSets(context.Context, *RecordSets, string, ...bool) error
	// UpdateRecordSets replaces list of record sets.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zones-zone-recordsets
	UpdateRecordSets(context.Context, *RecordSets, string, ...bool) error
}

Recordsets contains operations available on a record sets.

type SecRecords added in v8.3.0

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 added in v8.3.0

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 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 TSIGKeyResponse

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

TSIGKeyResponse contains TSIG key GET response

type TSIGKeys

type TSIGKeys interface {
	// 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, *TSIGQueryString) (*TSIGReportResponse, error)
	// GetTSIGKeyZones retrieves DNS Zones using TSIG key.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-keys-used-by
	GetTSIGKeyZones(context.Context, *TSIGKey) (*ZoneNameListResponse, 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, string) (*ZoneNameListResponse, error)
	// TSIGKeyBulkUpdate updates Bulk Zones TSIG key.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-keys-bulk-update
	TSIGKeyBulkUpdate(context.Context, *TSIGKeyBulkPost) error
	// GetTSIGKey retrieves a TSIG key for zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-key
	GetTSIGKey(context.Context, string) (*TSIGKeyResponse, error)
	// DeleteTSIGKey deletes TSIG key for zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/delete-zones-zone-key
	DeleteTSIGKey(context.Context, string) error
	// UpdateTSIGKey updates TSIG key for zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zones-zone-key
	UpdateTSIGKey(context.Context, *TSIGKey, string) error
}

TSIGKeys contains operations available on TSIKeyG resource.

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 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"`
}

ZoneCreate contains zone create request

type ZoneListQueryArgs

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

ZoneListQueryArgs contains parameters for List Zones query

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 ZoneNameTypesResponse

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

ZoneNameTypesResponse contains record set types for zone

type ZoneNamesResponse

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

ZoneNamesResponse contains record set names for zone

type ZoneQueryString

type ZoneQueryString struct {
	Contract string
	Group    string
}

ZoneQueryString contains zone query 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"`
}

ZoneResponse contains zone create response

type Zones

type Zones interface {
	// ListZones retrieves a list of all zones user can access.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones
	ListZones(context.Context, ...ZoneListQueryArgs) (*ZoneListResponse, error)
	// GetZone retrieves Zone metadata.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zone
	GetZone(context.Context, string) (*ZoneResponse, error)
	//GetChangeList retrieves Zone changelist.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-changelists-zone
	GetChangeList(context.Context, string) (*ChangeListResponse, error)
	// GetMasterZoneFile retrieves master zone file.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-zone-zone-file
	GetMasterZoneFile(context.Context, string) (string, error)
	// PostMasterZoneFile updates master zone file.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-zone-zone-file
	PostMasterZoneFile(context.Context, string, string) error
	// CreateZone creates new zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zone
	CreateZone(context.Context, *ZoneCreate, ZoneQueryString, ...bool) 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, *ZoneCreate) 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, *ZoneCreate) error
	// UpdateZone updates zone.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/put-zone
	UpdateZone(context.Context, *ZoneCreate, ZoneQueryString) 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, string) (*ZoneNamesResponse, error)
	// GetZoneNameTypes retrieves a zone name's record types.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zone-name-types
	GetZoneNameTypes(context.Context, string, string) (*ZoneNameTypesResponse, error)
	// CreateBulkZones submits create bulk zone request.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-create-requests
	CreateBulkZones(context.Context, *BulkZonesCreate, ZoneQueryString) (*BulkZonesResponse, error)
	// DeleteBulkZones submits delete bulk zone request.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/post-zones-delete-requests
	DeleteBulkZones(context.Context, *ZoneNameListResponse, ...bool) (*BulkZonesResponse, error)
	// GetBulkZoneCreateStatus retrieves submit request status.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-create-requests-requestid
	GetBulkZoneCreateStatus(context.Context, string) (*BulkStatusResponse, error)
	//GetBulkZoneDeleteStatus retrieves submit request status.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-delete-requests-requestid
	GetBulkZoneDeleteStatus(context.Context, string) (*BulkStatusResponse, error)
	// GetBulkZoneCreateResult retrieves create request result.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-create-requests-requestid-result
	GetBulkZoneCreateResult(ctx context.Context, requestid string) (*BulkCreateResultResponse, error)
	// GetBulkZoneDeleteResult retrieves delete request result.
	//
	// See: https://techdocs.akamai.com/edge-dns/reference/get-zones-delete-requests-requestid-result
	GetBulkZoneDeleteResult(context.Context, string) (*BulkDeleteResultResponse, 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)
}

Zones contains operations available on Zone resources.

Jump to

Keyboard shortcuts

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