routedns

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddGroupParams

type AddGroupParams struct {
	AccountNumber string
	Group         DnsRouteGroup
}

func NewAddGroupParams

func NewAddGroupParams() *AddGroupParams

type AddMasterServerGroupParams

type AddMasterServerGroupParams struct {
	AccountNumber     string
	MasterServerGroup MasterServerGroupAddRequest
}

func NewAddMasterServerGroupParams

func NewAddMasterServerGroupParams() *AddMasterServerGroupParams

type AddSecondaryZoneGroupParams

type AddSecondaryZoneGroupParams struct {
	AccountNumber      string
	SecondaryZoneGroup SecondaryZoneGroup
}

func NewAddSecondaryZoneGroupParams

func NewAddSecondaryZoneGroupParams() *AddSecondaryZoneGroupParams

type AddTSIGParams

type AddTSIGParams struct {
	AccountNumber string
	TSIG          TSIG
}

func NewAddTSIGParams

func NewAddTSIGParams() *AddTSIGParams

type AddZoneParams

type AddZoneParams struct {
	AccountNumber string
	Zone          Zone
}

func NewAddZoneParams

func NewAddZoneParams() *AddZoneParams

type DNSGroupRecord

type DNSGroupRecord struct {
	Record DNSRecord `json:"Record,omitempty"`

	// Define a record's health check configuration within this request
	// parameter.
	HealthCheck *HealthCheck `json:"HealthCheck"`

	// Defines whether the current record is the primary server/hostname to
	// which traffic will be directed. Applies only to a Failover group.
	IsPrimary bool `json:"IsPrimary,omitempty"`
}

DNSGroupRecord -

type DNSGroupRecords

type DNSGroupRecords struct {
	// Group of A records that map hostnames to IPv4 addresses.
	A []DNSGroupRecord `json:"A,omitempty"`

	// Group of AAAA records that map hostnames to IPv6 addresses.
	AAAA []DNSGroupRecord `json:"AAAA,omitempty"`

	// Group of Canonical Name records that map hostnames to another hostname
	// or FQDN.
	CNAME []DNSGroupRecord `json:"CName,omitempty"`
}

DNSGroupRecords -

type DNSRecord

type DNSRecord struct {
	// Identifies a DNS Record by its system-defined ID.
	RecordID int `json:"RecordId,omitempty"`

	// Reserved for future use.
	FixedRecordID int `json:"FixedRecordId,omitempty"`

	// Reserved for future use.
	FixedGroupID int `json:"FixedGroupId,omitempty"`

	// Identifies the group this record is assoicated with by its system-defined
	// ID.
	GroupID int `json:"GroupId,omitempty"`

	// Reserved for future use.
	IsDeleted bool `json:"IsDelete,omitempty"`

	// Defines a record's name. Required.
	Name string `json:"Name,omitempty"`

	// Defines a record's TTL. Required.
	TTL int `json:"TTL,omitempty"`

	// Defines a record's value. Required
	Rdata string `json:"Rdata,omitempty"`

	// Reserved for future use.
	VerifyID int `json:"VerifyId,omitempty"`

	// Defines a record's weight. Used to denote preference for a load balancing
	// or failover group.
	Weight int `json:"Weight,omitempty"`

	// Indicates the system-defined ID assigned to the record type.
	// (e.g. A, AAAA, CNAME). Required
	RecordTypeID RecordType `json:"RecordTypeID,omitempty"`

	// Indicates the name of the record type.
	RecordTypeName string `json:"RecordTypeName,omitempty"`
}

DNSRecord defines a record that will be associated with the zone.

type DNSRecords

type DNSRecords struct {
	A          []DNSRecord `json:"A,omitempty"`
	AAAA       []DNSRecord `json:"AAAA,omitempty"`
	CNAME      []DNSRecord `json:"CName,omitempty"`
	MX         []DNSRecord `json:"MX,omitempty"`
	NS         []DNSRecord `json:"NS,omitempty"`
	PTR        []DNSRecord `json:"PTR,omitempty"`
	SOA        []DNSRecord `json:"SOA,omitempty"`
	SPF        []DNSRecord `json:"SPF,omitempty"`
	SRV        []DNSRecord `json:"SRV,omitempty"`
	TXT        []DNSRecord `json:"TXT,omitempty"`
	DNSKEY     []DNSRecord `json:"DNSKEY,omitempty"`
	RRSIG      []DNSRecord `json:"RRSIG,omitempty"`
	DS         []DNSRecord `json:"DS,omitempty"`
	NSEC       []DNSRecord `json:"NSEC,omitempty"`
	NSEC3      []DNSRecord `json:"NSEC3,omitempty"`
	NSEC3PARAM []DNSRecord `json:"NSEC3PARAM,omitempty"`
	DLV        []DNSRecord `json:"DLV,omitempty"`
	CAA        []DNSRecord `json:"CAA,omitempty"`
}

DNSRecords defines the set of records that will be associated with the zone.

type DeleteGroupParams

type DeleteGroupParams struct {
	AccountNumber string
	Group         DnsRouteGroupOK
}

func NewDeleteGroupParams

func NewDeleteGroupParams() *DeleteGroupParams

type DeleteMasterServerGroupParams

type DeleteMasterServerGroupParams struct {
	AccountNumber     string
	MasterServerGroup MasterServerGroupAddGetOK
}

func NewDeleteMasterServerGroupParams

func NewDeleteMasterServerGroupParams() *DeleteMasterServerGroupParams

type DeleteSecondaryZoneGroupParams

type DeleteSecondaryZoneGroupParams struct {
	AccountNumber      string
	SecondaryZoneGroup SecondaryZoneGroupResponseOK
}

func NewDeleteSecondaryZoneGroupParams

func NewDeleteSecondaryZoneGroupParams() *DeleteSecondaryZoneGroupParams

type DeleteTSIGParams

type DeleteTSIGParams struct {
	AccountNumber string
	TSIG          TSIGGetOK
}

func NewDeleteTSIGParams

func NewDeleteTSIGParams() *DeleteTSIGParams

type DeleteZoneParams

type DeleteZoneParams struct {
	AccountNumber string
	Zone          ZoneGetOK
}

func NewDeleteZoneParams

func NewDeleteZoneParams() *DeleteZoneParams

type DnsRouteGroup

type DnsRouteGroup struct {
	// Defines the name of the failover or load balancing group. Required
	Name string `json:"Name,omitempty"`

	// Defines the group type. Valid values are:
	// 1: CNAME group, 2: Subdomain group, 3: Zone group
	GroupTypeID GroupType `json:"GroupTypeId,omitempty"`

	// Defines the group product type. Valid values are:
	// LoadBalancing, Failover, NoGroup
	GroupProductType GroupProductType `json:"GroupProductTypeId,omitempty"`

	// Define the zone's failover or load balancing groups.
	GroupComposition DNSGroupRecords `json:"GroupComposition,omitempty"`
}

DnsRouteGroup defines the group to be created

type DnsRouteGroupOK

type DnsRouteGroupOK struct {
	DnsRouteGroup

	// Identifies the group by its system-defined ID.
	GroupID int `json:"GroupId,omitempty"`

	// Reserved for future use.
	FixedGroupID int `json:"FixedGroupId,omitempty"`

	// Reserved for future use.
	ZoneID int `json:"ZoneId,omitempty"`

	// Reserved for future use.
	FixedZoneID int `json:"FixedZoneId,omitempty"`
}

DnsRouteGroupOK defines the additional parameters returned when retrieving a Group.

type GetAllMasterServerGroupsParams

type GetAllMasterServerGroupsParams struct {
	AccountNumber string
}

func NewGetAllMasterServerGroupsParams

func NewGetAllMasterServerGroupsParams() *GetAllMasterServerGroupsParams

Params MSG

type GetGroupParams

type GetGroupParams struct {
	AccountNumber    string
	GroupID          int
	GroupProductType GroupProductType
}

func NewGetGroupParams

func NewGetGroupParams() *GetGroupParams

type GetMasterServerGroupParams

type GetMasterServerGroupParams struct {
	AccountNumber       string
	MasterServerGroupID int
}

func NewGetMasterServerGroupParams

func NewGetMasterServerGroupParams() *GetMasterServerGroupParams

type GetSecondaryZoneGroupParams

type GetSecondaryZoneGroupParams struct {
	AccountNumber string
	ID            int
}

func NewGetSecondaryZoneGroupParams

func NewGetSecondaryZoneGroupParams() *GetSecondaryZoneGroupParams

type GetTSIGParams

type GetTSIGParams struct {
	AccountNumber string
	TSIGID        int
}

func NewGetTSIGParams

func NewGetTSIGParams() *GetTSIGParams

type GetZoneParams

type GetZoneParams struct {
	AccountNumber string
	ZoneID        int
}

func NewGetZoneParams

func NewGetZoneParams() *GetZoneParams

type GroupProductType

type GroupProductType int

Defines the system ID and string representation of the different group types.

const (
	// A load balancing configuration allows Edgecast authoritative DNS servers
	// to  distribute requests across various servers or CNAMEs.
	LoadBalancing GroupProductType = iota + 1

	// A failover configuration establishes a primary and backup relationship
	// between two servers or domains. Edgecast authoritative name servers will
	// send all traffic to the primary server/domain until it fails a majority
	// of its health checks. At which point, all traffic will be redirected to
	// the backup server/domain.
	Failover

	// Reserved for future use.
	NoGroup
)

func (GroupProductType) String

func (g GroupProductType) String() string

type GroupType

type GroupType int

Defines the system ID of the various types of load balancing and failover groups.

const (
	// Group that points to a CNAME record in a primary zone hosted on another
	// DNS service provider.
	CName GroupType = iota + 1

	// Group that points to a subdomain of a primary zone hosted on another DNS
	// service provider.
	SubDomain

	// Load balance traffic across A, AAAA, or CNAME records in a primary zone
	// hosted on our Route solution.
	PrimaryZone
)

type HealthCheck

type HealthCheck struct {
	// Identifies the health check by its system-defined ID.
	ID int `json:"Id,omitempty"`

	// Reserved for future use.
	FixedID int `json:"FixedId,omitempty"`

	// Defines the number of seconds between health checks.
	CheckInterval int `json:"CheckInterval,omitempty"`

	// Defines the type of health check by its system-defined ID. Refer to the
	// following URL for additional information:
	// https://developer.edgecast.com/cdn/api/Content/Media_Management/DNS/Get_A_HC_Types.htm
	CheckTypeID int `json:"CheckTypeId,omitempty"`

	// Defines the text that will be used to verify the success of the health
	// check.
	ContentVerification string `json:"ContentVerification,omitempty"`

	// Defines the e-mail address to which health check notifications will be
	// sent.
	EmailNotificationAddress string `json:"EmailNotificationAddress,omitempty"`

	// Defines the number of consecutive times that the same result must be
	// returned before a health check agent will indicate a change in status.
	FailedCheckThreshold int `json:"FailedCheckThreshold,omitempty"`

	// Defines an HTTP method by its system-defined ID. An HTTP method is only
	// used by HTTP/HTTPs health checks. Refer to the following URL for
	// additional information:
	// https://developer.edgecast.com/cdn/api/Content/Media_Management/DNS/Get_A_HTTP_Methods.htm
	HTTPMethodID int `json:"HTTPMethodId,omitempty"`

	// Defines the DNS record ID this health check is associated with.
	RecordID int `json:"RecordId,omitempty"`

	// Reserved for future use.
	FixedRecordID int `json:"FixedRecordId,omitempty"`

	// Defines the Group ID this health check is associated with.
	GroupID int `json:"GroupId,omitempty"`

	// Reserved for future use.
	FixedGroupID int `json:"GroupFixedId,omitempty"`

	// Defines the IP address (IPv4 or IPv6) to which TCP health checks will be
	// directed.
	IPAddress string `json:"IPAddress,omitempty"`

	// Defines an IP version by its system-defined ID. This IP version is only
	// used by HTTP/HTTPs health checks. Refer to the following URL for
	// additional information:
	// https://developer.edgecast.com/cdn/api/Content/Media_Management/DNS/Get_A_IP_Versions_HC.htm
	IPVersion int `json:"IPVersion,omitempty"`

	// Defines the port to which TCP health checks will be directed.
	PortNumber int `json:"PortNumber,omitempty"`

	// Defines the endpoint through which an unhealthy server/hostname will be
	// integrated back into a group. Refer to the following URL for additional
	// information:
	// https://developer.edgecast.com/cdn/api/Content/Media_Management/DNS/Get_A_HC_Reintegration_Methods.htm
	ReintegrationMethodID int `json:"ReintegrationMethodId,omitempty"`

	// Indicates the server/hostname's health check status by its
	// system-defined ID.
	Status int `json:"Status,omitempty"`

	// Indicates the server/hostname's health check status.
	StatusName string `json:"StatusName,omitempty"`

	// Reserved for future use.
	UserID int `json:"UserId,omitempty"`

	// Reserved for future use.
	Timeout int `json:"Timeout,omitempty"`

	// Defines the URI to which HTTP/HTTPs health checks will be directed.
	Uri string `json:"Uri,omitempty"`

	// Reserved for future use.
	WhiteListedHc int `json:"WhiteListedHc,omitempty"`
}

HealthCheck -

type MasterServer

type MasterServer struct {
	// Indicates the system-defined ID assigned to an existing master name
	// server that will be associated with the master server group being created.
	ID int `json:"Id,omitempty"`

	// Indicates the name that will be assigned to a new master name server that
	// will be associated with the master server group being created.
	Name string `json:"Name,omitempty"`

	// Indicates the IP address that will be assigned to a new master name
	// server that will be associated with the master server group being created.
	IPAddress string `json:"IPAddress,omitempty"`
}

MasterServer represents a master name server associated with a master server group.

Add a new master name server by including only the IPAddress and Name
  name/value pairs in this struct when associating to a master server group.
Associate an existing master name server with a master server group by
 including only the ID name/value pair in this struct when associated to a
 master server group.

type MasterServerGroup

type MasterServerGroup struct {
	// Indicates the name that will be assigned to the new master server group.
	Name string `json:"Name"`

	// Assign one or more master name servers to the master server group.
	Masters []MasterServer `json:"Masters"`
}

MasterServerGroup identifies one or more master name servers from which the zones identified in a secondary zone group will be transferred.

type MasterServerGroupAddGetOK

type MasterServerGroupAddGetOK struct {
	MasterServerGroup

	// Indicates the system-defined ID assigned to a master server group.
	MasterGroupID int `json:"MasterGroupId"`
}

MasterServerGroupAddGetOK repesents the master server group object returned when creating or retrieving master server groups.

type MasterServerGroupAddRequest

type MasterServerGroupAddRequest struct {
	// Indicates the name that will be assigned to the new master server group.
	Name string `json:"Name"`

	// Assign one or more master name servers to the master server group.
	Masters []MasterServer `json:"MasterServers"`
}

MasterServerGroupAddRequest repesents the structure required to add a new master server group. Master server group identifies one or more master name servers from which the zones identified in a secondary zone group will be transferred.

type MasterServerGroupUpdateRequest

type MasterServerGroupUpdateRequest struct {
	MasterServerGroup

	// Indicates the system-defined ID assigned to a master server group.
	MasterGroupID int `json:"Id"`
}

MasterServerGroupUpdateRequest repesents the structure required to update a master server group.

type MasterServerID

type MasterServerID struct {
	// Identifies a master name server by its system-defined ID.
	ID int `json:"Id,omitempty"`
}

MasterServerID defines the structure containing the Master Server ID

type MasterServerTSIG

type MasterServerTSIG struct {
	// Contains the master name server associated with the TSIG key identified
	// in the TSIG object.
	MasterServer MasterServer `json:"MasterServer,omitempty"`

	// Identifies the TSIG key assigned to the master name server defined by the
	// MasterServer object.
	TSIG TSIGGetOK `json:"Tsig,omitempty"`
}

MasterServerTSIG defines the TSIG key(s) through which our name servers will authenticate to master name server(s).

type MasterServerTSIGIDs

type MasterServerTSIGIDs struct {
	// Identifies the master name server to which a TSIG key will be assigned.
	MasterServer MasterServerID `json:"MasterServer,omitempty"`

	// Identifies the TSIG key that will be assigned to the master name server
	// identified by the MasterServer object.
	TSIG TSIGID `json:"Tsig,omitempty"`
}

MasterServerTSIGIDs define TSIG keys to the desired master name servers in the master server group.

type RecordType

type RecordType int

RecordTypeID identifies the available types of DNS records by their system-defined IDs.

const (
	A RecordType = iota + 1
	AAAA
	CNAME
	MX
	NS
	PTR
	SOA
	SPF
	SRV
	TXT
	DNSKEY
	RRSIG
	DS
	NSEC
	NSEC3
	NSEC3PARAM
	DLV
	CAA
)

type RouteDNSService

type RouteDNSService struct {
	// contains filtered or unexported fields
}

RouteDNS service interacts with the EdgeCast API to manage Route DNS configurations

func New

func New(config edgecast.SDKConfig) (*RouteDNSService, error)

New creates a new Route DNS service

func (*RouteDNSService) AddGroup

func (svc *RouteDNSService) AddGroup(params AddGroupParams) (*int, error)

AddGroup creates a new load balanced or failover group.

func (*RouteDNSService) AddMasterServerGroup

func (svc *RouteDNSService) AddMasterServerGroup(
	params AddMasterServerGroupParams,
) (*MasterServerGroupAddGetOK, error)

AddMasterServerGroup creates a master server group.

func (*RouteDNSService) AddSecondaryZoneGroup

func (svc *RouteDNSService) AddSecondaryZoneGroup(
	params AddSecondaryZoneGroupParams,
) (*SecondaryZoneGroupResponseOK, error)

AddSecondaryZoneGroup creates a secondary zone group along with its secondary zones.

func (*RouteDNSService) AddTSIG

func (svc *RouteDNSService) AddTSIG(params AddTSIGParams) (*int, error)

AddTSIG creates a new TSIG.

func (*RouteDNSService) AddZone

func (svc *RouteDNSService) AddZone(params AddZoneParams) (*int, error)

AddZone creates a primary zone.

func (*RouteDNSService) DeleteGroup

func (svc *RouteDNSService) DeleteGroup(params DeleteGroupParams) error

DeleteGroup deletes the provided group.

func (*RouteDNSService) DeleteMasterServerGroup

func (svc *RouteDNSService) DeleteMasterServerGroup(
	params DeleteMasterServerGroupParams,
) error

DeleteMasterServerGroup deletes a master server group.

func (RouteDNSService) DeleteSecondaryZoneGroup

func (svc RouteDNSService) DeleteSecondaryZoneGroup(
	params DeleteSecondaryZoneGroupParams,
) error

DeleteSecondaryZoneGroup deletes a secondary zone group along with its secondary zones.

func (*RouteDNSService) DeleteTSIG

func (svc *RouteDNSService) DeleteTSIG(params DeleteTSIGParams) error

DeleteTSIG deletes an existing TSIG.

func (*RouteDNSService) DeleteZone

func (svc *RouteDNSService) DeleteZone(params DeleteZoneParams) error

DeleteZone deletes a primary zone

func (*RouteDNSService) GetAllMasterServerGroups

func (svc *RouteDNSService) GetAllMasterServerGroups(
	params GetAllMasterServerGroupsParams,
) (*[]MasterServerGroupAddGetOK, error)

GetAllMasterServerGroups retrieves all master server groups. TODO: Refactor this GetAll and singular Get methods into one

func (*RouteDNSService) GetGroup

func (svc *RouteDNSService) GetGroup(
	params GetGroupParams,
) (*DnsRouteGroupOK, error)

GetGroup retrieves group information of the provided groupID.

func (*RouteDNSService) GetMasterServerGroup

func (svc *RouteDNSService) GetMasterServerGroup(
	params GetMasterServerGroupParams,
) (*MasterServerGroupAddGetOK, error)

GetMasterServerGroup retrieves a single master server group.

func (*RouteDNSService) GetSecondaryZoneGroup

func (svc *RouteDNSService) GetSecondaryZoneGroup(
	params GetSecondaryZoneGroupParams,
) (*SecondaryZoneGroupResponseOK, error)

GetSecondaryZoneGroup retrieves a secondary zone group along with its secondary zones.

func (*RouteDNSService) GetTSIG

func (svc *RouteDNSService) GetTSIG(
	params GetTSIGParams,
) (*TSIGGetOK, error)

GetTSIG retrieves a TSIG.

func (*RouteDNSService) GetZone

func (svc *RouteDNSService) GetZone(params GetZoneParams,
) (*ZoneGetOK, error)

GetZone retrieves information of the provided ZoneID which includes all dns records, failover servers, and loadbalancing servers if any exists.

func (*RouteDNSService) UpdateGroup

func (svc *RouteDNSService) UpdateGroup(params *UpdateGroupParams) error

UpdateGroup updates the provided group.

func (*RouteDNSService) UpdateMasterServerGroup

func (svc *RouteDNSService) UpdateMasterServerGroup(
	params UpdateMasterServerGroupParams,
) error

UpdateMasterServerGroup updates a master server group.

func (RouteDNSService) UpdateSecondaryZoneGroup

func (svc RouteDNSService) UpdateSecondaryZoneGroup(
	params UpdateSecondaryZoneGroupParams,
) error

UpdateSecondaryZoneGroup updates a secondary zone group along with its secondary zones.

func (*RouteDNSService) UpdateTSIG

func (svc *RouteDNSService) UpdateTSIG(params UpdateTSIGParams) error

UpdateTSIG updates an existing TSIG.

func (*RouteDNSService) UpdateZone

func (svc *RouteDNSService) UpdateZone(params UpdateZoneParams) error

UpdateZone updates a primary zone

type SecondaryZone

type SecondaryZone struct {
	// This parameter is reserved for future use.
	Comment string `json:"Comment,omitempty"`

	// Identifies a secondary zone by its zone name (e.g., example.com).
	// Edgecast name servers will request a zone transfer for this zone. This
	// name must match the one defined on the master name server(s) associated
	// with this secondary zone group.
	DomainName string `json:"DomainName,omitempty"`

	// Defines whether the zone is enabled or disabled. Valid values are:
	// 1 - Enabled, 2 - Disabled
	Status int `json:"Status,omitempty"`
}

SecondaryZone defines the secondary zones that will be associated with the secondary zone group.

type SecondaryZoneGroup

type SecondaryZoneGroup struct {
	// Assigns a name to the new secondary zone group.
	Name string `json:"Name,omitempty"`

	// Contains parameters that define the secondary zone group.
	ZoneComposition ZoneComposition `json:"ZoneComposition,omitempty"`
}

SecondaryZoneGroup defines a secondary zone group along with its secondary zones.

type SecondaryZoneGroupResponseOK

type SecondaryZoneGroupResponseOK struct {
	// Indicates the system-defined ID assigned to the new secondary zone group.
	ID int `json:"Id,omitempty"`

	// Indicates the name assigned to the new secondary zone group.
	Name string `json:"Name,omitempty"`

	// Contains parameters that define the secondary zone group.
	ZoneComposition ZoneCompositionResponse `json:"ZoneComposition,omitempty"`
}

SecondaryZoneGroupResponseOK defines the additional parameters returned when retrieving a SecondaryZoneGroup.

type SecondaryZoneResponse

type SecondaryZoneResponse struct {
	SecondaryZone

	// Indicates the system-defined ID assigned to a secondary zone.
	FixedZoneID int `json:"FixedZoneId,omitempty"`

	// This parameter is reserved for future use. The only supported value for
	// this parameter is true.
	IsCustomerOwned bool `json:"IsCustomerOwned,omitempty"`

	// Indicates the secondary zone's status. The only supported value for this
	// parameter is "Active."
	StatusName string `json:"StatusName,omitempty"`

	// Identifies the current version of the secondary zone by its
	// system-defined ID. This ID will change whenever the secondary zone is
	// updated.
	ZoneID int `json:"ZoneId,omitempty"`

	// This parameter is reserved for future use. The only supported value for
	// this parameter is "2."
	ZoneType int `json:"ZoneType,omitempty"`
}

SecondaryZoneResponse defines the secondary zone(s) associated with this secondary zone group.

type TSIG

type TSIG struct {
	// Indicates a brief description for the TSIG key.
	Alias string `json:"Alias,omitempty"`

	// Identifies the key on the master name server and our Route name servers.
	// This name must be unique.
	KeyName string `json:"KeyName,omitempty"`

	// Identifies a hash value through which our name servers will be
	// authenticated to a master name server.
	KeyValue string `json:"KeyValue,omitempty"`

	// Identifies a cryptographic hash function by its system-defined ID.
	AlgorithmID TSIGAlgorithmType `json:"AlgorithmId,omitempty"`
}

TSIG defines the object used to provide a cryptographically secure method through which zone transfers may take place between a master and slave name server.

type TSIGAlgorithmType

type TSIGAlgorithmType int

TSIGAlgorithmType identifies the cryptographic hash function used to generate the key value.

const (
	HMAC_MD5 TSIGAlgorithmType = iota + 1
	HMAC_SHA1
	HMAC_SHA256
	HMAC_SHA384
	HMAC_SHA224
	HMAC_SHA512
)

type TSIGGetOK

type TSIGGetOK struct {
	TSIG

	// Identifies a TSIG key by its system-defined ID.
	ID int `json:"Id,omitempty"`

	// Identifies the cryptographic hash function used to generate the key
	// value. Valid values are:
	// HMAC-MD5 | HMAC-SHA1 | HMAC-SHA256 | HMAC-SHA384 | HMAC-SHA224 |
	// HMAC-SHA512
	AlgorithmName string `json:"AlgorithmName,omitempty"`
}

TSIGGetOK defines the additional parameters returned when retrieving a TSIG.

type TSIGID

type TSIGID struct {
	// Identifies a TSIG key by its system-defined ID.
	ID int `json:"Id,omitempty"`
}

TSIGID defines the structure containing the TSIG ID

type UpdateGroupParams

type UpdateGroupParams struct {
	AccountNumber string
	Group         *DnsRouteGroupOK
}

func NewUpdateGroupParams

func NewUpdateGroupParams() *UpdateGroupParams

type UpdateMasterServerGroupParams

type UpdateMasterServerGroupParams struct {
	AccountNumber     string
	MasterServerGroup MasterServerGroupUpdateRequest
}

func NewUpdateMasterServerGroupParams

func NewUpdateMasterServerGroupParams() *UpdateMasterServerGroupParams

type UpdateSecondaryZoneGroupParams

type UpdateSecondaryZoneGroupParams struct {
	AccountNumber      string
	SecondaryZoneGroup SecondaryZoneGroupResponseOK
}

func NewUpdateSecondaryZoneGroupParams

func NewUpdateSecondaryZoneGroupParams() *UpdateSecondaryZoneGroupParams

type UpdateTSIGParams

type UpdateTSIGParams struct {
	AccountNumber string
	TSIG          TSIGGetOK
}

func NewUpdateTSIGParams

func NewUpdateTSIGParams() *UpdateTSIGParams

type UpdateZoneParams

type UpdateZoneParams struct {
	AccountNumber string
	Zone          ZoneGetOK
}

func NewUpdateZoneParams

func NewUpdateZoneParams() *UpdateZoneParams

type Zone

type Zone struct {
	// Indicates a zone's name.
	DomainName string `json:"DomainName,omitempty"`

	// Indicates a zone's status by its system-defined ID. Valid Values:
	// 1: Active, 2: Inactive
	Status int `json:"Status,omitempty"`

	// Indicates that a primary zone will be created. Set this request
	// parameter to "1".
	ZoneType int `json:"ZoneType,omitempty"`

	// Indicates the comment associated with a zone.
	Comment string `json:"Comment"`

	// Contains the set of records that will be associated with the zone. This
	// section should only describe records that do not belong to a load
	// balancing or failover group.
	Records DNSRecords `json:"Records"`

	// Fail over or load balanced groups associated with this Zone
	Groups []DnsRouteGroup `json:"groups"`
}

Zone defines a primary zone. A zone can contain any of the following: Records | Load balancing groups | Failover groups | Health check configurations

type ZoneComposition

type ZoneComposition struct {
	// Associates a master server group, as identified by its system-defined
	// ID, with the secondary zone group. Use the below endpoint to retrieve a
	// list of master server groups and their system-defined IDs:
	// https://developer.edgecast.com/cdn/api/Content/Media_Management/DNS/Get-MSGs.htm
	MasterGroupID int `json:"MasterGroupId,omitempty"`

	// Assigns TSIG keys to the desired master name servers in the master server
	// group identified by the MasterGroupId parameter.
	MasterServerTSIGs []MasterServerTSIGIDs `json:"MasterServerTsigs,omitempty"`

	// Contains the secondary zones that will be associated with this secondary
	// zone group.
	Zones []SecondaryZone `json:"Zones,omitempty"`
}

ZoneComposition define parameters of the secondary zone group.

type ZoneCompositionResponse

type ZoneCompositionResponse struct {
	// Indicates the system-defined ID for the master server group associated
	// with the secondary zone group.
	MasterGroupID int `json:"MasterGroupId,omitempty"`

	// Contains the secondary zone(s) associated with this secondary zone group.
	Zones []SecondaryZoneResponse `json:"Zones,omitempty"`

	// Lists the TSIG key(s) through which our name servers will authenticate
	// to master name server(s).
	MasterServerTsigs []MasterServerTSIG `json:"MasterServerTsigs,omitempty"`
}

ZoneCompositionResponse defines parameters of the secondary zone group.

type ZoneGetOK

type ZoneGetOK struct {
	Zone

	// Fail over or load balanced groups associated with this Zone
	Groups []DnsRouteGroupOK `json:"groups"`

	// Indicates a zone's status by its name.
	StatusName string `json:"StatusName,omitempty"`

	// This parameter is reserved for future use. The only supported value for
	// this parameter is "true."
	IsCustomerOwned bool `json:"IsCustomerOwned,omitempty"`

	// Identifies a zone by its system-defined ID.
	FixedZoneID int `json:"FixedZoneId,omitempty"`

	// This is reserved for future use. FixedZoneID should be used as the
	// system-defined ID.
	ZoneID int `json:"ZoneId,omitempty"`

	// Indicates a zone's version. This serial is incremented whenever a change
	// is applied to the zone.
	Serial int `json:"Serial,omitempty"`
}

ZoneGetOK defines the additional parameters returned when retrieving a Zone.

Jump to

Keyboard shortcuts

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