gtm

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: 15 Imported by: 2

Documentation

Overview

Package gtm provides access to the Akamai GTM V1_4 APIs

See: https://techdocs.akamai.com/gtm/reference/api

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrListASMaps is returned when ListASMaps fails
	ErrListASMaps = errors.New("list asmaps")
	// ErrGetASMap is returned when GetASMap fails
	ErrGetASMap = errors.New("get asmap")
	// ErrCreateASMap is returned when CreateASMap fails
	ErrCreateASMap = errors.New("create asmap")
	// ErrUpdateASMap is returned when UpdateASMap fails
	ErrUpdateASMap = errors.New("update asmap")
	// ErrDeleteASMap is returned when DeleteASMap fails
	ErrDeleteASMap = errors.New("delete asmap")
)
View Source
var (
	// ErrListCIDRMaps is returned when ListCIDRMaps fails
	ErrListCIDRMaps = errors.New("list cidrmaps")
	// ErrGetCIDRMap is returned when GetCIDRMap fails
	ErrGetCIDRMap = errors.New("get cidrmap")
	// ErrCreateCIDRMap is returned when CreateCIDRMap fails
	ErrCreateCIDRMap = errors.New("create cidrmap")
	// ErrUpdateCIDRMap is returned when UpdateCIDRMap fails
	ErrUpdateCIDRMap = errors.New("update cidrmap")
	// ErrDeleteCIDRMap is returned when DeleteCIDRMap fails
	ErrDeleteCIDRMap = errors.New("delete cidrmap")
)
View Source
var (
	// ErrListDatacenters is returned when ListDatacenters fails
	ErrListDatacenters = errors.New("list datacenters")
	// ErrGetDatacenter is returned when GetDatacenter fails
	ErrGetDatacenter = errors.New("get datacenter")
	// ErrCreateDatacenter is returned when CreateDatacenter fails
	ErrCreateDatacenter = errors.New("create datacenter")
	// ErrUpdateDatacenter is returned when UpdateDatacenter fails
	ErrUpdateDatacenter = errors.New("update datacenter")
	// ErrDeleteDatacenter is returned when DeleteDatacenter fails
	ErrDeleteDatacenter = errors.New("delete datacenter")
)
View Source
var (
	// MapDefaultDC is a default Datacenter ID for Maps
	MapDefaultDC = 5400
	// Ipv4DefaultDC is a default Datacenter ID for IPv4
	Ipv4DefaultDC = 5401
	// Ipv6DefaultDC is a default Datacenter ID for IPv6
	Ipv6DefaultDC = 5402
)
View Source
var (
	// ErrGetDomainStatus is returned when GetDomainStatus fails
	ErrGetDomainStatus = errors.New("get domain status")
	// ErrGetDomain is returned when GetDomain fails
	ErrGetDomain = errors.New("get domain")
	// ErrCreateDomain is returned when CreateDomain fails
	ErrCreateDomain = errors.New("create domain")
	// ErrUpdateDomain is returned when UpdateDomain fails
	ErrUpdateDomain = errors.New("update domain")
	// ErrDeleteDomain is returned when DeleteDomain fails
	ErrDeleteDomain = errors.New("delete domain")
)
View Source
var (
	// ErrNotFound used when status code is 404 Not Found
	ErrNotFound = errors.New("404 Not Found")

	// ErrNoDatacenterAssignedToMap occurs when no datacenter is assigned to the map target during the creation of a geographic property.
	ErrNoDatacenterAssignedToMap = errors.New("no datacenter is assigned to map target (all others)")
)
View Source
var (
	// ErrListGeoMaps is returned when ListGeoMaps fails
	ErrListGeoMaps = errors.New("list geomaps")
	// ErrGetGeoMap is returned when GetGeoMap fails
	ErrGetGeoMap = errors.New("get geomap")
	// ErrCreateGeoMap is returned when CreateGeoMap fails
	ErrCreateGeoMap = errors.New("create geomap")
	// ErrUpdateGeoMap is returned when UpdateGeoMap fails
	ErrUpdateGeoMap = errors.New("update geomap")
	// ErrDeleteGeoMap is returned when DeleteGeoMap fails
	ErrDeleteGeoMap = errors.New("delete geomap")
)
View Source
var (
	// ErrGetProperty is returned when GetProperty fails.
	ErrGetProperty = errors.New("get property")
	// ErrListProperties is returned when ListProperties fails.
	ErrListProperties = errors.New("list properties")
	// ErrCreateProperty is returned when CreateProperty fails.
	ErrCreateProperty = errors.New("create Property")
	// ErrUpdateProperty is returned when UpdateProperty fails
	ErrUpdateProperty = errors.New("update Property")
	// ErrDeleteProperty is returned when DeleteProperty fails
	ErrDeleteProperty = errors.New("delete Property")
)
View Source
var (
	// ErrListResources is returned when ListResources fails
	ErrListResources = errors.New("list resources")
	// ErrGetResource is returned when GetResource fails
	ErrGetResource = errors.New("get resource")
	// ErrCreateResource is returned when CreateResource fails
	ErrCreateResource = errors.New("create resource")
	// ErrUpdateResource is returned when UpdateResource fails
	ErrUpdateResource = errors.New("update resource")
	// ErrDeleteResource is returned when DeleteResource fails
	ErrDeleteResource = errors.New("delete resource")
)
View Source
var (
	// ErrStructValidation is returned when given struct validation failed.
	ErrStructValidation = errors.New("struct validation")
)

Functions

This section is empty.

Types

type ASAssignment

type ASAssignment struct {
	DatacenterBase
	ASNumbers []int64 `json:"asNumbers"`
}

ASAssignment represents a GTM as map assignment structure

type ASMap

type ASMap struct {
	DefaultDatacenter *DatacenterBase `json:"defaultDatacenter"`
	Assignments       []ASAssignment  `json:"assignments,omitempty"`
	Name              string          `json:"name"`
	Links             []Link          `json:"links,omitempty"`
}

ASMap represents a GTM ASMap

func (ASMap) Validate

func (a ASMap) Validate() error

Validate validates ASMap

type ASMapList

type ASMapList struct {
	ASMapItems []ASMap `json:"items"`
}

ASMapList represents the returned GTM ASMap List body

type ASMapRequest

type ASMapRequest struct {
	ASMap      *ASMap
	DomainName string
}

ASMapRequest contains request parameters

type CIDRAssignment

type CIDRAssignment struct {
	DatacenterBase
	Blocks []string `json:"blocks"`
}

CIDRAssignment represents a GTM CIDR assignment element

type CIDRMap

type CIDRMap struct {
	DefaultDatacenter *DatacenterBase  `json:"defaultDatacenter"`
	Assignments       []CIDRAssignment `json:"assignments,omitempty"`
	Name              string           `json:"name"`
	Links             []Link           `json:"links,omitempty"`
}

CIDRMap represents a GTM CIDRMap element

func (CIDRMap) Validate

func (c CIDRMap) Validate() error

Validate validates CIDRMap

type CIDRMapList

type CIDRMapList struct {
	CIDRMapItems []CIDRMap `json:"items"`
}

CIDRMapList represents a GTM returned CIDRMap list body

type CIDRMapRequest

type CIDRMapRequest struct {
	CIDR       *CIDRMap
	DomainName string
}

CIDRMapRequest contains request parameters

type ClientFunc

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

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

type CreateASMapRequest

type CreateASMapRequest ASMapRequest

CreateASMapRequest contains request parameters for CreateASMap

func (CreateASMapRequest) Validate

func (r CreateASMapRequest) Validate() error

Validate validates CreateASMapRequest

type CreateASMapResponse

type CreateASMapResponse struct {
	Resource *ASMap          `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

CreateASMapResponse contains the response data from CreateASMap operation

type CreateCIDRMapRequest

type CreateCIDRMapRequest CIDRMapRequest

CreateCIDRMapRequest contains request parameters for CreateCIDRMap

func (CreateCIDRMapRequest) Validate

func (r CreateCIDRMapRequest) Validate() error

Validate validates CreateCIDRMapRequest

type CreateCIDRMapResponse

type CreateCIDRMapResponse struct {
	Resource *CIDRMap        `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

CreateCIDRMapResponse contains the response data from CreateCIDRMap operation

type CreateDatacenterRequest

type CreateDatacenterRequest DatacenterRequest

CreateDatacenterRequest contains request parameters for CreateDatacenter

func (CreateDatacenterRequest) Validate

func (r CreateDatacenterRequest) Validate() error

Validate validates CreateDatacenterRequest

type CreateDatacenterResponse

type CreateDatacenterResponse struct {
	Status   *ResponseStatus `json:"status"`
	Resource *Datacenter     `json:"resource"`
}

CreateDatacenterResponse contains the response data from CreateDatacenter operation

type CreateDomainRequest

type CreateDomainRequest DomainRequest

CreateDomainRequest contains request parameters for CreateDomain

func (CreateDomainRequest) Validate

func (r CreateDomainRequest) Validate() error

Validate validates CreateDomainRequest

type CreateDomainResponse

type CreateDomainResponse struct {
	Resource *Domain         `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

CreateDomainResponse contains the response data from CreateDomain operation

type CreateGeoMapRequest

type CreateGeoMapRequest GeoMapRequest

CreateGeoMapRequest contains request parameters for CreateGeoMap

func (CreateGeoMapRequest) Validate

func (r CreateGeoMapRequest) Validate() error

Validate validates CreateGeoMapRequest

type CreateGeoMapResponse

type CreateGeoMapResponse struct {
	Resource *GeoMap         `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

CreateGeoMapResponse contains the response data from CreateGeoMap operation

type CreatePropertyRequest

type CreatePropertyRequest PropertyRequest

CreatePropertyRequest contains request parameters for CreateProperty

func (CreatePropertyRequest) Validate

func (r CreatePropertyRequest) Validate() error

Validate validates CreatePropertyRequest

type CreatePropertyResponse

type CreatePropertyResponse struct {
	Resource *Property       `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

CreatePropertyResponse contains the response data from CreateProperty operation

type CreateResourceRequest

type CreateResourceRequest ResourceRequest

CreateResourceRequest contains request parameters for CreateResource

func (CreateResourceRequest) Validate

func (r CreateResourceRequest) Validate() error

Validate validates CreateResourceRequest

type CreateResourceResponse

type CreateResourceResponse struct {
	Resource *Resource       `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

CreateResourceResponse contains the response data from CreateResource operation

type Datacenter

type Datacenter struct {
	City                          string      `json:"city,omitempty"`
	CloneOf                       int         `json:"cloneOf,omitempty"`
	CloudServerHostHeaderOverride bool        `json:"cloudServerHostHeaderOverride"`
	CloudServerTargeting          bool        `json:"cloudServerTargeting"`
	Continent                     string      `json:"continent,omitempty"`
	Country                       string      `json:"country,omitempty"`
	DefaultLoadObject             *LoadObject `json:"defaultLoadObject,omitempty"`
	Latitude                      float64     `json:"latitude,omitempty"`
	Links                         []Link      `json:"links,omitempty"`
	Longitude                     float64     `json:"longitude,omitempty"`
	Nickname                      string      `json:"nickname,omitempty"`
	PingInterval                  int         `json:"pingInterval,omitempty"`
	PingPacketSize                int         `json:"pingPacketSize,omitempty"`
	DatacenterID                  int         `json:"datacenterId,omitempty"`
	ScorePenalty                  int         `json:"scorePenalty,omitempty"`
	ServermonitorLivenessCount    int         `json:"servermonitorLivenessCount,omitempty"`
	ServermonitorLoadCount        int         `json:"servermonitorLoadCount,omitempty"`
	ServermonitorPool             string      `json:"servermonitorPool,omitempty"`
	StateOrProvince               string      `json:"stateOrProvince,omitempty"`
	Virtual                       bool        `json:"virtual"`
}

Datacenter represents a GTM datacenter

func (Datacenter) Validate

func (d Datacenter) Validate() error

Validate validates Datacenter

type DatacenterBase

type DatacenterBase struct {
	Nickname     string `json:"nickname,omitempty"`
	DatacenterID int    `json:"datacenterId"`
}

DatacenterBase is a placeholder for default Datacenter

type DatacenterList

type DatacenterList struct {
	DatacenterItems []Datacenter `json:"items"`
}

DatacenterList contains a list of Datacenters

type DatacenterRequest

type DatacenterRequest struct {
	Datacenter *Datacenter
	DomainName string
}

DatacenterRequest contains request parameters

type DatacenterResponse

type DatacenterResponse struct {
	Status   *ResponseStatus `json:"status"`
	Resource *Datacenter     `json:"resource"`
}

DatacenterResponse contains a response after creating or updating Datacenter

type DeleteASMapRequest

type DeleteASMapRequest struct {
	ASMapName  string
	DomainName string
}

DeleteASMapRequest contains request parameters for DeleteASMap

func (DeleteASMapRequest) Validate

func (r DeleteASMapRequest) Validate() error

Validate validates DeleteASMapRequest

type DeleteASMapResponse

type DeleteASMapResponse struct {
	Resource *ASMap          `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

DeleteASMapResponse contains the response data from DeleteASMap operation

type DeleteCIDRMapRequest

type DeleteCIDRMapRequest struct {
	MapName    string
	DomainName string
}

DeleteCIDRMapRequest contains request parameters for DeleteCIDRMap

func (DeleteCIDRMapRequest) Validate

func (r DeleteCIDRMapRequest) Validate() error

Validate validates DeleteCIDRMapRequest

type DeleteCIDRMapResponse

type DeleteCIDRMapResponse struct {
	Resource *CIDRMap        `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

DeleteCIDRMapResponse contains the response data from DeleteCIDRMap operation

type DeleteDatacenterRequest

type DeleteDatacenterRequest struct {
	DatacenterID int
	DomainName   string
}

DeleteDatacenterRequest contains request parameters for DeleteDatacenter

func (DeleteDatacenterRequest) Validate

func (r DeleteDatacenterRequest) Validate() error

Validate validates DeleteDatacenterRequest

type DeleteDatacenterResponse

type DeleteDatacenterResponse struct {
	Status   *ResponseStatus `json:"status"`
	Resource *Datacenter     `json:"resource"`
}

DeleteDatacenterResponse contains the response data from DeleteDatacenter operation

type DeleteDomainRequest

type DeleteDomainRequest struct {
	DomainName string
}

DeleteDomainRequest contains request parameters for DeleteDomain

func (DeleteDomainRequest) Validate

func (r DeleteDomainRequest) Validate() error

Validate validates DeleteDomainRequest

type DeleteDomainResponse

type DeleteDomainResponse struct {
	ChangeID              string `json:"changeId,omitempty"`
	Links                 []Link `json:"links,omitempty"`
	Message               string `json:"message,omitempty"`
	PassingValidation     bool   `json:"passingValidation,omitempty"`
	PropagationStatus     string `json:"propagationStatus,omitempty"`
	PropagationStatusDate string `json:"propagationStatusDate,omitempty"`
}

DeleteDomainResponse contains request parameters for DeleteDomain

type DeleteGeoMapRequest

type DeleteGeoMapRequest struct {
	MapName    string
	DomainName string
}

DeleteGeoMapRequest contains request parameters for DeleteGeoMap

func (DeleteGeoMapRequest) Validate

func (r DeleteGeoMapRequest) Validate() error

Validate validates DeleteGeoMapRequest

type DeleteGeoMapResponse

type DeleteGeoMapResponse struct {
	Resource *GeoMap         `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

DeleteGeoMapResponse contains the response data from DeleteGeoMap operation

type DeletePropertyRequest

type DeletePropertyRequest struct {
	DomainName   string
	PropertyName string
}

DeletePropertyRequest contains request parameters for DeleteProperty

func (DeletePropertyRequest) Validate

func (r DeletePropertyRequest) Validate() error

Validate validates DeletePropertyRequest

type DeletePropertyResponse

type DeletePropertyResponse struct {
	Resource *Property       `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

DeletePropertyResponse contains the response data from DeleteProperty operation

type DeleteResourceRequest

type DeleteResourceRequest struct {
	DomainName   string
	ResourceName string
}

DeleteResourceRequest contains request parameters for DeleteResource

func (DeleteResourceRequest) Validate

func (r DeleteResourceRequest) Validate() error

Validate validates DeleteResourceRequest

type DeleteResourceResponse

type DeleteResourceResponse struct {
	Resource *Resource       `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

DeleteResourceResponse contains the response data from DeleteResource operation

type Domain

type Domain struct {
	Name                         string          `json:"name"`
	Type                         string          `json:"type"`
	ASMaps                       []ASMap         `json:"asMaps,omitempty"`
	Resources                    []Resource      `json:"resources,omitempty"`
	DefaultUnreachableThreshold  float32         `json:"defaultUnreachableThreshold,omitempty"`
	EmailNotificationList        []string        `json:"emailNotificationList,omitempty"`
	MinPingableRegionFraction    float32         `json:"minPingableRegionFraction,omitempty"`
	DefaultTimeoutPenalty        int             `json:"defaultTimeoutPenalty,omitempty"`
	Datacenters                  []Datacenter    `json:"datacenters,omitempty"`
	ServermonitorLivenessCount   int             `json:"servermonitorLivenessCount,omitempty"`
	RoundRobinPrefix             string          `json:"roundRobinPrefix,omitempty"`
	ServermonitorLoadCount       int             `json:"servermonitorLoadCount,omitempty"`
	PingInterval                 int             `json:"pingInterval,omitempty"`
	MaxTTL                       int64           `json:"maxTTL,omitempty"`
	LoadImbalancePercentage      float64         `json:"loadImbalancePercentage,omitempty"`
	DefaultHealthMax             float64         `json:"defaultHealthMax,omitempty"`
	LastModified                 string          `json:"lastModified,omitempty"`
	Status                       *ResponseStatus `json:"status,omitempty"`
	MapUpdateInterval            int             `json:"mapUpdateInterval,omitempty"`
	MaxProperties                int             `json:"maxProperties,omitempty"`
	MaxResources                 int             `json:"maxResources,omitempty"`
	DefaultSSLClientPrivateKey   string          `json:"defaultSslClientPrivateKey,omitempty"`
	DefaultErrorPenalty          int             `json:"defaultErrorPenalty,omitempty"`
	Links                        []Link          `json:"links,omitempty"`
	Properties                   []Property      `json:"properties,omitempty"`
	MaxTestTimeout               float64         `json:"maxTestTimeout,omitempty"`
	CNameCoalescingEnabled       bool            `json:"cnameCoalescingEnabled"`
	DefaultHealthMultiplier      float64         `json:"defaultHealthMultiplier,omitempty"`
	ServermonitorPool            string          `json:"servermonitorPool,omitempty"`
	LoadFeedback                 bool            `json:"loadFeedback"`
	MinTTL                       int64           `json:"minTTL,omitempty"`
	GeographicMaps               []GeoMap        `json:"geographicMaps,omitempty"`
	CIDRMaps                     []CIDRMap       `json:"cidrMaps,omitempty"`
	DefaultMaxUnreachablePenalty int             `json:"defaultMaxUnreachablePenalty"`
	DefaultHealthThreshold       float64         `json:"defaultHealthThreshold,omitempty"`
	LastModifiedBy               string          `json:"lastModifiedBy,omitempty"`
	ModificationComments         string          `json:"modificationComments,omitempty"`
	MinTestInterval              int             `json:"minTestInterval,omitempty"`
	PingPacketSize               int             `json:"pingPacketSize,omitempty"`
	DefaultSSLClientCertificate  string          `json:"defaultSslClientCertificate,omitempty"`
	EndUserMappingEnabled        bool            `json:"endUserMappingEnabled"`
	SignAndServe                 bool            `json:"signAndServe"`
	SignAndServeAlgorithm        *string         `json:"signAndServeAlgorithm"`
}

The Domain data structure represents a GTM domain

func (*Domain) Validate

func (d *Domain) Validate() error

Validate validates Domain

type DomainItem

type DomainItem struct {
	AcgID                 string `json:"acgId"`
	LastModified          string `json:"lastModified"`
	Links                 []Link `json:"links"`
	Name                  string `json:"name"`
	Status                string `json:"status"`
	LastModifiedBy        string `json:"lastModifiedBy"`
	ChangeID              string `json:"changeId"`
	ActivationState       string `json:"activationState"`
	ModificationComments  string `json:"modificationComments"`
	SignAndServe          bool   `json:"signAndServe"`
	SignAndServeAlgorithm string `json:"signAndServeAlgorithm"`
	DeleteRequestID       string `json:"deleteRequestId"`
}

DomainItem is a DomainsList item

type DomainQueryArgs

type DomainQueryArgs struct {
	ContractID string
	GroupID    string
}

DomainQueryArgs contains query parameters for domain request

type DomainRequest

type DomainRequest struct {
	Domain    *Domain
	QueryArgs *DomainQueryArgs
}

DomainRequest contains request parameters

type DomainsList

type DomainsList struct {
	DomainItems []DomainItem `json:"items"`
}

DomainsList contains a list of domain items

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:"-"`
	Errors        []Error `json:"errors"`
}

Error is a gtm 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 GTM

type GTM interface {

	// NullFieldMap retrieves map of null fields.
	NullFieldMap(context.Context, *Domain) (*NullFieldMapStruct, error)

	// GetDomainStatus retrieves current status for the given domain name.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-status-current
	GetDomainStatus(context.Context, GetDomainStatusRequest) (*GetDomainStatusResponse, error)

	// ListDomains retrieves all Domains.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-domains
	ListDomains(context.Context) ([]DomainItem, error)

	// GetDomain retrieves a Domain with the given domain name.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-domain
	GetDomain(context.Context, GetDomainRequest) (*GetDomainResponse, error)

	// CreateDomain creates domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/post-domain
	CreateDomain(context.Context, CreateDomainRequest) (*CreateDomainResponse, error)

	// DeleteDomain is a method applied to a domain object resulting in removal.
	//
	// See: ** Not Supported by API **
	DeleteDomain(context.Context, DeleteDomainRequest) (*DeleteDomainResponse, error)

	// UpdateDomain is a method applied to a domain object resulting in an update.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-domain
	UpdateDomain(context.Context, UpdateDomainRequest) (*UpdateDomainResponse, error)

	// ListProperties retrieves all Properties for the provided domainName.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-properties
	ListProperties(context.Context, ListPropertiesRequest) ([]Property, error)

	// GetProperty retrieves a Property with the given domain and property names.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-property
	GetProperty(context.Context, GetPropertyRequest) (*GetPropertyResponse, error)

	// CreateProperty creates property.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-property
	CreateProperty(context.Context, CreatePropertyRequest) (*CreatePropertyResponse, error)

	// DeleteProperty is a method applied to a property object resulting in removal.
	//
	// See: https://techdocs.akamai.com/gtm/reference/delete-property
	DeleteProperty(context.Context, DeletePropertyRequest) (*DeletePropertyResponse, error)

	// UpdateProperty is a method applied to a property object resulting in an update.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-property
	UpdateProperty(context.Context, UpdatePropertyRequest) (*UpdatePropertyResponse, error)

	// ListDatacenters retrieves all Datacenters.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-datacenters
	ListDatacenters(context.Context, ListDatacentersRequest) ([]Datacenter, error)

	// GetDatacenter retrieves a Datacenter with the given name. NOTE: Id arg is int!
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-datacenter
	GetDatacenter(context.Context, GetDatacenterRequest) (*Datacenter, error)

	// CreateDatacenter creates the datacenter identified by the receiver argument in the specified domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/post-datacenter
	CreateDatacenter(context.Context, CreateDatacenterRequest) (*CreateDatacenterResponse, error)

	// DeleteDatacenter deletes the datacenter identified by the receiver argument from the domain specified.
	//
	// See: https://techdocs.akamai.com/gtm/reference/delete-datacenter
	DeleteDatacenter(context.Context, DeleteDatacenterRequest) (*DeleteDatacenterResponse, error)

	// UpdateDatacenter updates the datacenter identified in the receiver argument in the provided domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-datacenter
	UpdateDatacenter(context.Context, UpdateDatacenterRequest) (*UpdateDatacenterResponse, error)

	// CreateMapsDefaultDatacenter creates Default Datacenter for Maps.
	CreateMapsDefaultDatacenter(context.Context, string) (*Datacenter, error)

	// CreateIPv4DefaultDatacenter creates Default Datacenter for IPv4 Selector.
	CreateIPv4DefaultDatacenter(context.Context, string) (*Datacenter, error)

	// CreateIPv6DefaultDatacenter creates Default Datacenter for IPv6 Selector.
	CreateIPv6DefaultDatacenter(context.Context, string) (*Datacenter, error)

	// ListResources retrieves all Resources
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-resources
	ListResources(context.Context, ListResourcesRequest) ([]Resource, error)

	// GetResource retrieves a Resource with the given name.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-resource
	GetResource(context.Context, GetResourceRequest) (*GetResourceResponse, error)

	// CreateResource creates the datacenter identified by the receiver argument in the specified domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-resource
	CreateResource(context.Context, CreateResourceRequest) (*CreateResourceResponse, error)

	// DeleteResource deletes the datacenter identified by the receiver argument from the domain specified.
	//
	// See: https://techdocs.akamai.com/gtm/reference/delete-resource
	DeleteResource(context.Context, DeleteResourceRequest) (*DeleteResourceResponse, error)

	// UpdateResource updates the datacenter identified in the receiver argument in the provided domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-resource
	UpdateResource(context.Context, UpdateResourceRequest) (*UpdateResourceResponse, error)

	// ListASMaps retrieves all AsMaps.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-as-maps
	ListASMaps(context.Context, ListASMapsRequest) ([]ASMap, error)

	// GetASMap retrieves a AsMap with the given name.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-as-map
	GetASMap(context.Context, GetASMapRequest) (*GetASMapResponse, error)

	// CreateASMap creates the datacenter identified by the receiver argument in the specified domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-as-map
	CreateASMap(context.Context, CreateASMapRequest) (*CreateASMapResponse, error)

	// DeleteASMap deletes the datacenter identified by the receiver argument from the domain specified.
	//
	// See: https://techdocs.akamai.com/gtm/reference/delete-as-map
	DeleteASMap(context.Context, DeleteASMapRequest) (*DeleteASMapResponse, error)

	// UpdateASMap updates the datacenter identified in the receiver argument in the provided domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-as-map
	UpdateASMap(context.Context, UpdateASMapRequest) (*UpdateASMapResponse, error)

	// ListGeoMaps retrieves all GeoMaps.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-geographic-maps
	ListGeoMaps(context.Context, ListGeoMapsRequest) ([]GeoMap, error)

	// GetGeoMap retrieves a GeoMap with the given name.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-geographic-map
	GetGeoMap(context.Context, GetGeoMapRequest) (*GetGeoMapResponse, error)

	// CreateGeoMap creates the datacenter identified by the receiver argument in the specified domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-geographic-map
	CreateGeoMap(context.Context, CreateGeoMapRequest) (*CreateGeoMapResponse, error)

	// DeleteGeoMap deletes the datacenter identified by the receiver argument from the domain specified.
	//
	// See: https://techdocs.akamai.com/gtm/reference/delete-geographic-map
	DeleteGeoMap(context.Context, DeleteGeoMapRequest) (*DeleteGeoMapResponse, error)

	// UpdateGeoMap updates the datacenter identified in the receiver argument in the provided domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-geographic-map
	UpdateGeoMap(context.Context, UpdateGeoMapRequest) (*UpdateGeoMapResponse, error)

	// ListCIDRMaps retrieves all CIDRMaps.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-cidr-maps
	ListCIDRMaps(context.Context, ListCIDRMapsRequest) ([]CIDRMap, error)

	// GetCIDRMap retrieves a CIDRMap with the given name.
	//
	// See: https://techdocs.akamai.com/gtm/reference/get-cidr-map
	GetCIDRMap(context.Context, GetCIDRMapRequest) (*GetCIDRMapResponse, error)

	// CreateCIDRMap creates the datacenter identified by the receiver argument in the specified domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-cidr-map
	CreateCIDRMap(context.Context, CreateCIDRMapRequest) (*CreateCIDRMapResponse, error)

	// DeleteCIDRMap deletes the datacenter identified by the receiver argument from the domain specified.
	//
	// See: https://techdocs.akamai.com/gtm/reference/delete-cidr-maps
	DeleteCIDRMap(context.Context, DeleteCIDRMapRequest) (*DeleteCIDRMapResponse, error)

	// UpdateCIDRMap updates the datacenter identified in the receiver argument in the provided domain.
	//
	// See: https://techdocs.akamai.com/gtm/reference/put-cidr-map
	UpdateCIDRMap(context.Context, UpdateCIDRMapRequest) (*UpdateCIDRMapResponse, error)
}

GTM is the gtm api interface

func Client

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

Client returns a new dns Client instance with the specified controller

type GeoAssignment

type GeoAssignment struct {
	DatacenterBase
	Countries []string `json:"countries"`
}

GeoAssignment represents a GTM Geo assignment element

type GeoMap

type GeoMap struct {
	DefaultDatacenter *DatacenterBase `json:"defaultDatacenter"`
	Assignments       []GeoAssignment `json:"assignments,omitempty"`
	Name              string          `json:"name"`
	Links             []Link          `json:"links,omitempty"`
}

GeoMap represents a GTM GeoMap

func (*GeoMap) Validate

func (g *GeoMap) Validate() error

Validate validates GeoMap

type GeoMapList

type GeoMapList struct {
	GeoMapItems []GeoMap `json:"items"`
}

GeoMapList represents the returned GTM GeoMap List body

type GeoMapRequest

type GeoMapRequest struct {
	GeoMap     *GeoMap
	DomainName string
}

GeoMapRequest contains request parameters

type GetASMapRequest

type GetASMapRequest struct {
	ASMapName  string
	DomainName string
}

GetASMapRequest contains request parameters for GetASMap

func (GetASMapRequest) Validate

func (r GetASMapRequest) Validate() error

Validate validates GetASMapRequest

type GetASMapResponse

type GetASMapResponse ASMap

GetASMapResponse contains the response data from GetASMap operation

type GetCIDRMapRequest

type GetCIDRMapRequest struct {
	MapName    string
	DomainName string
}

GetCIDRMapRequest contains request parameters for GetCIDRMap

func (GetCIDRMapRequest) Validate

func (r GetCIDRMapRequest) Validate() error

Validate validates GetCIDRMapRequest

type GetCIDRMapResponse

type GetCIDRMapResponse CIDRMap

GetCIDRMapResponse contains the response data from GetCIDRMap operation

type GetDatacenterRequest

type GetDatacenterRequest struct {
	DatacenterID int
	DomainName   string
}

GetDatacenterRequest contains request parameters for GetDatacenter

func (GetDatacenterRequest) Validate

func (r GetDatacenterRequest) Validate() error

Validate validates GetDatacenterRequest

type GetDomainRequest

type GetDomainRequest struct {
	DomainName string
}

GetDomainRequest contains request parameters for GetDomain

func (GetDomainRequest) Validate

func (r GetDomainRequest) Validate() error

Validate validates GetDomainRequest

type GetDomainResponse

type GetDomainResponse Domain

GetDomainResponse contains the response data from GetDomain operation

type GetDomainStatusRequest

type GetDomainStatusRequest struct {
	DomainName string
}

GetDomainStatusRequest contains request parameters for GetDomainStatus

func (GetDomainStatusRequest) Validate

func (r GetDomainStatusRequest) Validate() error

Validate validates GetDomainStatusRequest

type GetDomainStatusResponse

type GetDomainStatusResponse ResponseStatus

GetDomainStatusResponse contains the response data from GetDomainStatus operation

type GetGeoMapRequest

type GetGeoMapRequest struct {
	MapName    string
	DomainName string
}

GetGeoMapRequest contains request parameters for GetGeoMap

func (GetGeoMapRequest) Validate

func (r GetGeoMapRequest) Validate() error

Validate validates GetGeoMapRequest

type GetGeoMapResponse

type GetGeoMapResponse GeoMap

GetGeoMapResponse contains the response data from GetGeoMap operation

type GetPropertyRequest

type GetPropertyRequest struct {
	DomainName   string
	PropertyName string
}

GetPropertyRequest contains request parameters for GetProperty

func (GetPropertyRequest) Validate

func (r GetPropertyRequest) Validate() error

Validate validates GetPropertyRequest

type GetPropertyResponse

type GetPropertyResponse Property

GetPropertyResponse contains the response data from GetProperty operation

type GetResourceRequest

type GetResourceRequest struct {
	DomainName   string
	ResourceName string
}

GetResourceRequest contains request parameters for GetResource

func (GetResourceRequest) Validate

func (r GetResourceRequest) Validate() error

Validate validates GetResourceRequest

type GetResourceResponse

type GetResourceResponse Resource

GetResourceResponse contains the response data from GetResource operation

type HTTPHeader

type HTTPHeader struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

HTTPHeader struct contains HTTP headers to send if the testObjectProtocol is http or https

type Link struct {
	Rel  string `json:"rel,omitempty"`
	Href string `json:"href,omitempty"`
}

Link is Probably THE most common type

type ListASMapsRequest

type ListASMapsRequest struct {
	DomainName string
}

ListASMapsRequest contains request parameters for ListASMaps

func (ListASMapsRequest) Validate

func (r ListASMapsRequest) Validate() error

Validate validates ListASMapsRequest

type ListCIDRMapsRequest

type ListCIDRMapsRequest struct {
	DomainName string
}

ListCIDRMapsRequest contains request parameters for ListCIDRMaps

func (ListCIDRMapsRequest) Validate

func (r ListCIDRMapsRequest) Validate() error

Validate validates ListCIDRMapsRequest

type ListDatacentersRequest

type ListDatacentersRequest struct {
	DomainName string
}

ListDatacentersRequest contains request parameters for ListDatacenters

func (ListDatacentersRequest) Validate

func (r ListDatacentersRequest) Validate() error

Validate validates ListDatacentersRequest

type ListGeoMapsRequest

type ListGeoMapsRequest struct {
	DomainName string
}

ListGeoMapsRequest contains request parameters for ListGeoMaps

func (ListGeoMapsRequest) Validate

func (r ListGeoMapsRequest) Validate() error

Validate validates ListGeoMapsRequest

type ListPropertiesRequest

type ListPropertiesRequest struct {
	DomainName string
}

ListPropertiesRequest contains request parameters for ListProperties

func (ListPropertiesRequest) Validate

func (r ListPropertiesRequest) Validate() error

Validate validates ListPropertiesRequest

type ListResourcesRequest

type ListResourcesRequest struct {
	DomainName string
}

ListResourcesRequest contains request parameters for ListResources

func (ListResourcesRequest) Validate

func (r ListResourcesRequest) Validate() error

Validate validates ListResourcesRequest

type LivenessTest

type LivenessTest struct {
	Name                          string       `json:"name"`
	ErrorPenalty                  float64      `json:"errorPenalty,omitempty"`
	PeerCertificateVerification   bool         `json:"peerCertificateVerification"`
	TestInterval                  int          `json:"testInterval,omitempty"`
	TestObject                    string       `json:"testObject,omitempty"`
	Links                         []Link       `json:"links,omitempty"`
	RequestString                 string       `json:"requestString,omitempty"`
	ResponseString                string       `json:"responseString,omitempty"`
	HTTPError3xx                  bool         `json:"httpError3xx"`
	HTTPError4xx                  bool         `json:"httpError4xx"`
	HTTPError5xx                  bool         `json:"httpError5xx"`
	HTTPMethod                    *string      `json:"httpMethod"`
	HTTPRequestBody               *string      `json:"httpRequestBody"`
	Disabled                      bool         `json:"disabled"`
	TestObjectProtocol            string       `json:"testObjectProtocol,omitempty"`
	TestObjectPassword            string       `json:"testObjectPassword,omitempty"`
	TestObjectPort                int          `json:"testObjectPort,omitempty"`
	SSLClientPrivateKey           string       `json:"sslClientPrivateKey,omitempty"`
	SSLClientCertificate          string       `json:"sslClientCertificate,omitempty"`
	Pre2023SecurityPosture        bool         `json:"pre2023SecurityPosture"`
	DisableNonstandardPortWarning bool         `json:"disableNonstandardPortWarning"`
	HTTPHeaders                   []HTTPHeader `json:"httpHeaders,omitempty"`
	TestObjectUsername            string       `json:"testObjectUsername,omitempty"`
	TestTimeout                   float32      `json:"testTimeout,omitempty"`
	TimeoutPenalty                float64      `json:"timeoutPenalty,omitempty"`
	AnswersRequired               bool         `json:"answersRequired"`
	ResourceType                  string       `json:"resourceType,omitempty"`
	RecursionRequested            bool         `json:"recursionRequested"`
	AlternateCACertificates       []string     `json:"alternateCACertificates"`
}

LivenessTest contains configuration of liveness tests to determine whether your servers respond to requests

type LoadObject

type LoadObject struct {
	LoadObject     string   `json:"loadObject,omitempty"`
	LoadObjectPort int      `json:"loadObjectPort,omitempty"`
	LoadServers    []string `json:"loadServers,omitempty"`
}

LoadObject contains information about the load reporting interface

type Mock

type Mock struct {
	mock.Mock
}

func (*Mock) CreateASMap

func (p *Mock) CreateASMap(ctx context.Context, req CreateASMapRequest) (*CreateASMapResponse, error)

func (*Mock) CreateCIDRMap

func (p *Mock) CreateCIDRMap(ctx context.Context, req CreateCIDRMapRequest) (*CreateCIDRMapResponse, error)

func (*Mock) CreateDatacenter

func (p *Mock) CreateDatacenter(ctx context.Context, req CreateDatacenterRequest) (*CreateDatacenterResponse, error)

func (*Mock) CreateDomain

func (p *Mock) CreateDomain(ctx context.Context, req CreateDomainRequest) (*CreateDomainResponse, error)

func (*Mock) CreateGeoMap

func (p *Mock) CreateGeoMap(ctx context.Context, req CreateGeoMapRequest) (*CreateGeoMapResponse, error)

func (*Mock) CreateIPv4DefaultDatacenter

func (p *Mock) CreateIPv4DefaultDatacenter(ctx context.Context, domain string) (*Datacenter, error)

func (*Mock) CreateIPv6DefaultDatacenter

func (p *Mock) CreateIPv6DefaultDatacenter(ctx context.Context, domain string) (*Datacenter, error)

func (*Mock) CreateMapsDefaultDatacenter

func (p *Mock) CreateMapsDefaultDatacenter(ctx context.Context, domainName string) (*Datacenter, error)

func (*Mock) CreateProperty

func (p *Mock) CreateProperty(ctx context.Context, req CreatePropertyRequest) (*CreatePropertyResponse, error)

func (*Mock) CreateResource

func (p *Mock) CreateResource(ctx context.Context, req CreateResourceRequest) (*CreateResourceResponse, error)

func (*Mock) DeleteASMap

func (p *Mock) DeleteASMap(ctx context.Context, req DeleteASMapRequest) (*DeleteASMapResponse, error)

func (*Mock) DeleteCIDRMap

func (p *Mock) DeleteCIDRMap(ctx context.Context, req DeleteCIDRMapRequest) (*DeleteCIDRMapResponse, error)

func (*Mock) DeleteDatacenter

func (p *Mock) DeleteDatacenter(ctx context.Context, req DeleteDatacenterRequest) (*DeleteDatacenterResponse, error)

func (*Mock) DeleteDomain

func (p *Mock) DeleteDomain(ctx context.Context, req DeleteDomainRequest) (*DeleteDomainResponse, error)

func (*Mock) DeleteGeoMap

func (p *Mock) DeleteGeoMap(ctx context.Context, req DeleteGeoMapRequest) (*DeleteGeoMapResponse, error)

func (*Mock) DeleteProperty

func (p *Mock) DeleteProperty(ctx context.Context, req DeletePropertyRequest) (*DeletePropertyResponse, error)

func (*Mock) DeleteResource

func (p *Mock) DeleteResource(ctx context.Context, req DeleteResourceRequest) (*DeleteResourceResponse, error)

func (*Mock) GetASMap

func (p *Mock) GetASMap(ctx context.Context, req GetASMapRequest) (*GetASMapResponse, error)

func (*Mock) GetCIDRMap

func (p *Mock) GetCIDRMap(ctx context.Context, req GetCIDRMapRequest) (*GetCIDRMapResponse, error)

func (*Mock) GetDatacenter

func (p *Mock) GetDatacenter(ctx context.Context, req GetDatacenterRequest) (*Datacenter, error)

func (*Mock) GetDomain

func (p *Mock) GetDomain(ctx context.Context, req GetDomainRequest) (*GetDomainResponse, error)

func (*Mock) GetDomainStatus

func (p *Mock) GetDomainStatus(ctx context.Context, req GetDomainStatusRequest) (*GetDomainStatusResponse, error)

func (*Mock) GetGeoMap

func (p *Mock) GetGeoMap(ctx context.Context, req GetGeoMapRequest) (*GetGeoMapResponse, error)

func (*Mock) GetProperty

func (p *Mock) GetProperty(ctx context.Context, req GetPropertyRequest) (*GetPropertyResponse, error)

func (*Mock) GetResource

func (p *Mock) GetResource(ctx context.Context, req GetResourceRequest) (*GetResourceResponse, error)

func (*Mock) ListASMaps

func (p *Mock) ListASMaps(ctx context.Context, req ListASMapsRequest) ([]ASMap, error)

func (*Mock) ListCIDRMaps

func (p *Mock) ListCIDRMaps(ctx context.Context, req ListCIDRMapsRequest) ([]CIDRMap, error)

func (*Mock) ListDatacenters

func (p *Mock) ListDatacenters(ctx context.Context, req ListDatacentersRequest) ([]Datacenter, error)

func (*Mock) ListDomains

func (p *Mock) ListDomains(ctx context.Context) ([]DomainItem, error)

func (*Mock) ListGeoMaps

func (p *Mock) ListGeoMaps(ctx context.Context, req ListGeoMapsRequest) ([]GeoMap, error)

func (*Mock) ListProperties

func (p *Mock) ListProperties(ctx context.Context, req ListPropertiesRequest) ([]Property, error)

func (*Mock) ListResources

func (p *Mock) ListResources(ctx context.Context, req ListResourcesRequest) ([]Resource, error)

func (*Mock) NullFieldMap

func (p *Mock) NullFieldMap(ctx context.Context, domain *Domain) (*NullFieldMapStruct, error)

func (*Mock) UpdateASMap

func (p *Mock) UpdateASMap(ctx context.Context, req UpdateASMapRequest) (*UpdateASMapResponse, error)

func (*Mock) UpdateCIDRMap

func (p *Mock) UpdateCIDRMap(ctx context.Context, req UpdateCIDRMapRequest) (*UpdateCIDRMapResponse, error)

func (*Mock) UpdateDatacenter

func (p *Mock) UpdateDatacenter(ctx context.Context, req UpdateDatacenterRequest) (*UpdateDatacenterResponse, error)

func (*Mock) UpdateDomain

func (p *Mock) UpdateDomain(ctx context.Context, req UpdateDomainRequest) (*UpdateDomainResponse, error)

func (*Mock) UpdateGeoMap

func (p *Mock) UpdateGeoMap(ctx context.Context, req UpdateGeoMapRequest) (*UpdateGeoMapResponse, error)

func (*Mock) UpdateProperty

func (p *Mock) UpdateProperty(ctx context.Context, req UpdatePropertyRequest) (*UpdatePropertyResponse, error)

func (*Mock) UpdateResource

func (p *Mock) UpdateResource(ctx context.Context, req UpdateResourceRequest) (*UpdateResourceResponse, error)

type NullFieldMapStruct

type NullFieldMapStruct struct {
	Domain      NullPerObjectAttributeStruct            // entry is domain
	Properties  map[string]NullPerObjectAttributeStruct // entries are properties
	Datacenters map[string]NullPerObjectAttributeStruct // entries are datacenters
	Resources   map[string]NullPerObjectAttributeStruct // entries are resources
	CidrMaps    map[string]NullPerObjectAttributeStruct // entries are cidrmaps
	GeoMaps     map[string]NullPerObjectAttributeStruct // entries are geomaps
	AsMaps      map[string]NullPerObjectAttributeStruct // entries are asmaps
}

NullFieldMapStruct returned null Objects structure

type NullPerObjectAttributeStruct

type NullPerObjectAttributeStruct struct {
	CoreObjectFields  map[string]string
	ChildObjectFields map[string]interface{} // NullObjectAttributeStruct
}

NullPerObjectAttributeStruct represents core and child null object attributes

type ObjectMap

type ObjectMap map[string]interface{}

ObjectMap represents ObjectMap datatype

type Option

type Option func(*gtm)

Option defines a GTM option

type Property

type Property struct {
	Name                      string          `json:"name"`
	Type                      string          `json:"type"`
	IPv6                      bool            `json:"ipv6"`
	ScoreAggregationType      string          `json:"scoreAggregationType"`
	StickinessBonusPercentage int             `json:"stickinessBonusPercentage,omitempty"`
	StickinessBonusConstant   int             `json:"stickinessBonusConstant,omitempty"`
	HealthThreshold           float64         `json:"healthThreshold,omitempty"`
	UseComputedTargets        bool            `json:"useComputedTargets"`
	BackupIP                  string          `json:"backupIp,omitempty"`
	BalanceByDownloadScore    bool            `json:"balanceByDownloadScore"`
	StaticTTL                 int             `json:"staticTTL,omitempty"`
	StaticRRSets              []StaticRRSet   `json:"staticRRSets,omitempty"`
	LastModified              string          `json:"lastModified"`
	UnreachableThreshold      float64         `json:"unreachableThreshold,omitempty"`
	MinLiveFraction           float64         `json:"minLiveFraction,omitempty"`
	HealthMultiplier          float64         `json:"healthMultiplier,omitempty"`
	DynamicTTL                int             `json:"dynamicTTL,omitempty"`
	MaxUnreachablePenalty     int             `json:"maxUnreachablePenalty,omitempty"`
	MapName                   string          `json:"mapName,omitempty"`
	HandoutLimit              int             `json:"handoutLimit"`
	HandoutMode               string          `json:"handoutMode"`
	FailoverDelay             int             `json:"failoverDelay,omitempty"`
	BackupCName               string          `json:"backupCName,omitempty"`
	FailbackDelay             int             `json:"failbackDelay,omitempty"`
	LoadImbalancePercentage   float64         `json:"loadImbalancePercentage,omitempty"`
	HealthMax                 float64         `json:"healthMax,omitempty"`
	GhostDemandReporting      bool            `json:"ghostDemandReporting"`
	Comments                  string          `json:"comments,omitempty"`
	CName                     string          `json:"cname,omitempty"`
	WeightedHashBitsForIPv4   int             `json:"weightedHashBitsForIPv4,omitempty"`
	WeightedHashBitsForIPv6   int             `json:"weightedHashBitsForIPv6,omitempty"`
	TrafficTargets            []TrafficTarget `json:"trafficTargets,omitempty"`
	Links                     []Link          `json:"links,omitempty"`
	LivenessTests             []LivenessTest  `json:"livenessTests,omitempty"`
}

Property represents a GTM property

func (*Property) Validate

func (p *Property) Validate() error

Validate validates Property

type PropertyList

type PropertyList struct {
	PropertyItems []Property `json:"items"`
}

PropertyList contains a list of property items

type PropertyRequest

type PropertyRequest struct {
	Property   *Property
	DomainName string
}

PropertyRequest contains request parameters

type Resource

type Resource struct {
	Type                        string             `json:"type"`
	HostHeader                  string             `json:"hostHeader,omitempty"`
	LeastSquaresDecay           float64            `json:"leastSquaresDecay,omitempty"`
	Description                 string             `json:"description,omitempty"`
	LeaderString                string             `json:"leaderString,omitempty"`
	ConstrainedProperty         string             `json:"constrainedProperty,omitempty"`
	ResourceInstances           []ResourceInstance `json:"resourceInstances,omitempty"`
	AggregationType             string             `json:"aggregationType,omitempty"`
	Links                       []Link             `json:"links,omitempty"`
	LoadImbalancePercentage     float64            `json:"loadImbalancePercentage,omitempty"`
	UpperBound                  int                `json:"upperBound,omitempty"`
	Name                        string             `json:"name"`
	MaxUMultiplicativeIncrement float64            `json:"maxUMultiplicativeIncrement,omitempty"`
	DecayRate                   float64            `json:"decayRate,omitempty"`
}

Resource represents a GTM resource

func (*Resource) Validate

func (r *Resource) Validate() error

Validate validates Resource

type ResourceInstance

type ResourceInstance struct {
	DatacenterID         int  `json:"datacenterId"`
	UseDefaultLoadObject bool `json:"useDefaultLoadObject"`
	LoadObject
}

ResourceInstance contains information about the resources that constrain the properties within the data center

type ResourceList

type ResourceList struct {
	ResourceItems []Resource `json:"items"`
}

ResourceList is the structure returned by List Resources

type ResourceRequest

type ResourceRequest struct {
	Resource   *Resource
	DomainName string
}

ResourceRequest contains request parameters

type ResourceResponse

type ResourceResponse struct {
	Resource *Resource       `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

ResourceResponse contains a response after creating or updating Resource

type ResponseStatus

type ResponseStatus struct {
	ChangeID              string `json:"changeId,omitempty"`
	Links                 []Link `json:"links,omitempty"`
	Message               string `json:"message,omitempty"`
	PassingValidation     bool   `json:"passingValidation,omitempty"`
	PropagationStatus     string `json:"propagationStatus,omitempty"`
	PropagationStatusDate string `json:"propagationStatusDate,omitempty"`
}

ResponseStatus is returned on Create, Update or Delete operations for all entity types

type StaticRRSet

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

StaticRRSet contains static recordset

type TrafficTarget

type TrafficTarget struct {
	DatacenterID int      `json:"datacenterId"`
	Enabled      bool     `json:"enabled"`
	Weight       float64  `json:"weight,omitempty"`
	Servers      []string `json:"servers,omitempty"`
	Name         string   `json:"name,omitempty"`
	HandoutCName string   `json:"handoutCName,omitempty"`
	Precedence   *int     `json:"precedence,omitempty"`
}

TrafficTarget struct contains information about where to direct data center traffic

type UpdateASMapRequest

type UpdateASMapRequest ASMapRequest

UpdateASMapRequest contains request parameters for UpdateASMap

func (UpdateASMapRequest) Validate

func (r UpdateASMapRequest) Validate() error

Validate validates UpdateASMapRequest

type UpdateASMapResponse

type UpdateASMapResponse struct {
	Resource *ASMap          `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

UpdateASMapResponse contains the response data from UpdateASMap operation

type UpdateCIDRMapRequest

type UpdateCIDRMapRequest CIDRMapRequest

UpdateCIDRMapRequest contains request parameters for UpdateCIDRMap

func (UpdateCIDRMapRequest) Validate

func (r UpdateCIDRMapRequest) Validate() error

Validate validates UpdateCIDRMapRequest

type UpdateCIDRMapResponse

type UpdateCIDRMapResponse struct {
	Resource *CIDRMap        `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

UpdateCIDRMapResponse contains the response data from UpdateCIDRMap operation

type UpdateDatacenterRequest

type UpdateDatacenterRequest DatacenterRequest

UpdateDatacenterRequest contains request parameters for UpdateDatacenter

func (UpdateDatacenterRequest) Validate

func (r UpdateDatacenterRequest) Validate() error

Validate validates UpdateDatacenterRequest

type UpdateDatacenterResponse

type UpdateDatacenterResponse struct {
	Status   *ResponseStatus `json:"status"`
	Resource *Datacenter     `json:"resource"`
}

UpdateDatacenterResponse contains the response data from UpdateDatacenter operation

type UpdateDomainRequest

type UpdateDomainRequest DomainRequest

UpdateDomainRequest contains request parameters for UpdateDomain

func (UpdateDomainRequest) Validate

func (r UpdateDomainRequest) Validate() error

Validate validates UpdateDomainRequest

type UpdateDomainResponse

type UpdateDomainResponse struct {
	Resource *Domain         `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

UpdateDomainResponse contains the response data from UpdateDomain operation

type UpdateGeoMapRequest

type UpdateGeoMapRequest GeoMapRequest

UpdateGeoMapRequest contains request parameters for UpdateGeoMap

func (UpdateGeoMapRequest) Validate

func (r UpdateGeoMapRequest) Validate() error

Validate validates UpdateGeoMapRequest

type UpdateGeoMapResponse

type UpdateGeoMapResponse struct {
	Resource *GeoMap         `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

UpdateGeoMapResponse contains the response data from UpdateGeoMap operation

type UpdatePropertyRequest

type UpdatePropertyRequest PropertyRequest

UpdatePropertyRequest contains request parameters for UpdatePropertyResponse

func (UpdatePropertyRequest) Validate

func (r UpdatePropertyRequest) Validate() error

Validate validates UpdatePropertyRequest

type UpdatePropertyResponse

type UpdatePropertyResponse struct {
	Resource *Property       `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

UpdatePropertyResponse contains the response data from UpdatePropertyResponse operation

type UpdateResourceRequest

type UpdateResourceRequest ResourceRequest

UpdateResourceRequest contains request parameters for UpdateResource

func (UpdateResourceRequest) Validate

func (r UpdateResourceRequest) Validate() error

Validate validates UpdateResourceRequest

type UpdateResourceResponse

type UpdateResourceResponse struct {
	Resource *Resource       `json:"resource"`
	Status   *ResponseStatus `json:"status"`
}

UpdateResourceResponse contains the response data from UpdateResource operation

Jump to

Keyboard shortcuts

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