edgegrid

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2016 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Auth

func Auth(prm AuthParams) string

Auth takes prm and returns a string that can be used as the `Authorization` header in making Akamai API requests.

The string returned by Auth conforms to the Akamai {OPEN} EdgeGrid Authentication scheme. https://developer.akamai.com/introduction/Client_Auth.html

func LogRequests

func LogRequests() bool

LogRequests returns true if the AK_LOG environment variable is set; false if it is not.

Types

type AkamaiError

type AkamaiError struct {
	Type         string `json:"type"`
	Title        string `json:"title"`
	Detail       string `json:"detail"`
	RequestBody  string `json:"-"`
	ResponseBody string `json:"-"`
}

AkamaiError represents a non-successful HTTP response from the Akamai API.

func (AkamaiError) Error

func (a AkamaiError) Error() string

type AuthCredentials

type AuthCredentials struct {
	AccessToken  string
	ClientToken  string
	ClientSecret string
	APIHost      string
}

AuthCredentials houses various Akamai-client-specific data necessary to authenticate the Akamai API.

func NewCredentials

func NewCredentials() *AuthCredentials

NewCredentials returns an AuthCredentials using the AKAMAI_EDGEGRID_ACCESS_TOKEN, AKAMAI_EDGEGRID_CLIENT_TOKEN, AKAMAI_EDGEGRID_CLIENT_SECRET, and AKAMAI_EDGEGRID_HOST environment variables.

type AuthParams

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

AuthParams is used to house various request details such that the AuthParams can be passed to Auth to sign using the Akamai {OPEN} EdgeGrid Authentication scheme.

func NewAuthParams

func NewAuthParams(req *http.Request, accessToken, clientToken, clientSecret string) AuthParams

NewAuthParams returns an AuthParams generated from req, accessToken, clientToken, and clientSecret.

type Client

type Client interface {
	GetCredentials() *AuthCredentials
	GetHTTPClient() *http.Client
}

Client is an interface for an Akamai API client.

type CpCodeSummary

type CpCodeSummary struct {
	CPCodeID    string   `json:"cpcodeId"`
	Name        string   `json:"cpcodeName"`
	ProductIDs  []string `json:"productIds"`
	CreatedDate string   `json:"createdDate"`
}

CpCodeSummary is a representation of the Akamai PAPI CP code summary associated with each CP code returned by the CP codes response at: http://apibase.com/papi/v0/cpcodes/?contractId=contractId&groupId=groupId

type CpCodes

type CpCodes struct {
	CpCodes struct {
		Items []CpCodeSummary `json:"items"`
	} `json:"cpcodes"`
}

CpCodes is a representation of the Akamai PAPI CP codes associated with the CP codes response available at: http://apibase.com/papi/v0/cpcodes/?contractId=contractId&groupId=groupId

type DataCenter

type DataCenter struct {
	City                 string             `json:"city"`
	CloneOf              int                `json:"cloneOf,omitempty"`
	CloudServerTargeting bool               `json:"cloudServerTargeting"`
	Continent            string             `json:"continent"`
	Country              string             `json:"country"`
	DataCenterID         int                `json:"datacenterId,omitempty"`
	DefaultLoadObject    *DefaultLoadObject `json:"defaultLoadObject,omitempty"`
	Latitude             float64            `json:"latitude"`
	Links                []Link             `json:"links,omitempty"`
	Longitude            float64            `json:"longitude"`
	Nickname             string             `json:"nickname"`
	StateOrProvince      string             `json:"stateOrProvince"`
	Virtual              bool               `json:"virtual"`
}

DataCenter represents an Akamai GTM datacenter.

type DataCenterResponse

type DataCenterResponse struct {
	DataCenter *DataCenter     `json:"resource"`
	Status     *ResourceStatus `json:"status"`
}

DataCenterResponse is a representation of an Akamai GTM datacenter response returned from datacenter CREATEs and UPDATEs at: http://apibase.com/config-gtm/v1/domains/domain/datacenters/4

type DataCenters

type DataCenters struct {
	Items []DataCenter `json:"items"`
}

DataCenters is a representation of an Akamai GTM datacenters response returned from: http://apibase.com/config-gtm/v1/domains/domain/datacenters

type DefaultLoadObject

type DefaultLoadObject struct {
	LoadObject     interface{} `json:"loadObject"`
	LoadObjectPort int64       `json:"loadObjectPort"`
	LoadServers    interface{} `json:"loadServers"`
}

DefaultLoadObject represents the default load object associated with an Akamai GTM datacenter.

type Domain

type Domain struct {
	Name                 string          `json:"name"`
	Status               *ResourceStatus `json:"status,omitempty"`
	Type                 string          `json:"type"`
	LastModified         string          `json:"lastModified,omitempty"`
	LastModifiedBy       string          `json:"lastModifiedBy,omitempty"`
	ModificationComments string          `json:"modificationComments,omitempty"`
	CIDRMaps             []interface{}   `json:"cidrMaps,omitempty"`
	Datacenters          []DataCenter    `json:"datacenters,omitempty"`
	Properties           []Property      `json:"properties,omitempty"`
	Links                []Link          `json:"links,omitempty"`
	GeographicMaps       []interface{}   `json:"geographicMaps,omitempty"`
	Resources            []interface{}   `json:"resources,omitempty"`
}

Domain is a representation of an Akamai GTM domain.

type DomainResponse

type DomainResponse struct {
	Domain *Domain         `json:"resource"`
	Status *ResourceStatus `json:"status"`
}

DomainResponse is a representation of the Akamai GTM response from a domain CREATEs and UPDATEs at: http://apibase.com/config-gtm/v1/domains/domain

type DomainSummary

type DomainSummary struct {
	Name         string `json:"name"`
	Status       string `json:"status"`
	LastModified string `json:"lastModified"`
}

DomainSummary is a representation of the Akamai GTM domain summary associated with each domain returned by the domains response at: http://apibase.com/config-gtm/v1/domains

type Domains

type Domains struct {
	Domains []DomainSummary `json:"items"`
}

Domains is a representation of the Akamai GTM domains response available at: http://apibase.com/config-gtm/v1/domains

type GTMClient

type GTMClient struct {
	Credentials *AuthCredentials
	HTTPClient  *http.Client
}

GTMClient is an Akamai GTM API client. https://developer.akamai.com/api/luna/config-gtm/overview.html

func GTMClientWithCreds

func GTMClientWithCreds(accessToken, clientToken, clientSecret, apiHost string) *GTMClient

GTMClientWithCreds takes an accessToken, a clientToken, a clientSecret, and an apiHost string and returns a GTMClient.

func NewGTMClient

func NewGTMClient() *GTMClient

NewGTMClient returns a GTMClient using the AKAMAI_EDGEGRID_ACCESS_TOKEN, AKAMAI_EDGEGRID_CLIENT_TOKEN, AKAMAI_EDGEGRID_CLIENT_SECRET, and AKAMAI_EDGEGRID_HOST environment variables.

func (*GTMClient) DataCenter

func (c *GTMClient) DataCenter(domain string, id int) (*DataCenter, error)

DataCenter takes an Akamai GTM domain name and a datacenter id and returns the DataCenter for the given ID.

func (*GTMClient) DataCenterByName

func (c *GTMClient) DataCenterByName(domain string, name string) (*DataCenter, error)

DataCenterByName takes an Akamai GTM domain name and a datacenter name and returns the matching DataCenter.

func (*GTMClient) DataCenterCreate

func (c *GTMClient) DataCenterCreate(domain string, dc *DataCenter) (*DataCenterResponse, error)

DataCenterCreate takes an Akamai GTM domain name and a dc and issues a request to create the DataCenter via the Akamai GTM API. The result is returned as a DataCenterResponse.

func (*GTMClient) DataCenterDelete

func (c *GTMClient) DataCenterDelete(domain string, id int) error

DataCenterDelete takes an Akamai GTM domain name and a datacenter id and issues a request to delete the matching datacenter via the Akamai GTM API.

func (*GTMClient) DataCenterUpdate

func (c *GTMClient) DataCenterUpdate(domain string, dc *DataCenter) (*DataCenterResponse, error)

DataCenterUpdate takes an Akamai GTM domain name and a dc and issues a request to update the DataCenter details accordingly via the Akamai GTM API. The result is returned as a DataCenterResponse.

func (*GTMClient) DataCenters

func (c *GTMClient) DataCenters(domain string) ([]DataCenter, error)

DataCenters takes an Akamai GTM domain name and returns a []DataCenter representing the datacenters associated with the domain.

func (*GTMClient) Domain

func (c *GTMClient) Domain(name string) (*Domain, error)

Domain takes an Akamai GTM domain name and returns a Domain.

func (*GTMClient) DomainCreate

func (c *GTMClient) DomainCreate(name string, domainType string) (*DomainResponse, error)

DomainCreate issues a request to create a domain with the provided name and type. The result is returned as a DomainResponse.

func (*GTMClient) DomainStatus

func (c *GTMClient) DomainStatus(name string) (*ResourceStatus, error)

DomainStatus takes an Akamai GTM domain name and returns its ResourceStatus.

func (*GTMClient) DomainUpdate

func (c *GTMClient) DomainUpdate(domain *Domain) (*DomainResponse, error)

DomainUpdate takes a domain and issues a request to update it accordingly. The result is returned as a DomainResponse.

func (*GTMClient) Domains

func (c *GTMClient) Domains() ([]DomainSummary, error)

Domains returns the Akamai GTM DomainSummary for each domain the GTMClient is authorized to view and modify

func (GTMClient) GetCredentials

func (c GTMClient) GetCredentials() *AuthCredentials

GetCredentials takes a GTMClient and returns its Credentials.

func (GTMClient) GetHTTPClient

func (c GTMClient) GetHTTPClient() *http.Client

GetHTTPClient takes a GTMClient and returns its HTTPClient.

func (*GTMClient) Properties

func (c *GTMClient) Properties(domain string) (*Properties, error)

Properties takes an Akamai GTM domain name and returns the Akamai GTM properties associated with the domain.

func (*GTMClient) PropertiesSorted

func (c *GTMClient) PropertiesSorted(domain string) (*Properties, error)

PropertiesSorted sorted takes an Akamai GTM domain name and returns the Akamai GTM properties associated with the domain name, sorted by their names.

func (*GTMClient) Property

func (c *GTMClient) Property(domain, property string) (*Property, error)

Property takes an Akamai GTM domain name and a property name and returns the matching Akamai GTM property.

func (*GTMClient) PropertyCreate

func (c *GTMClient) PropertyCreate(domain string, property *Property) (*PropertyResponse, error)

PropertyCreate takes an Akamai GTM domain name and a property and issues a request to create the Property via the Akamai GTM API. The result is returned as a PropertyResponse.

func (*GTMClient) PropertyDelete

func (c *GTMClient) PropertyDelete(domain string, property string) (bool, error)

PropertyDelete takes an Akamai GTM domain name and a property name and issues a request to delete the matching Akamai GTM property via the Akamai GTM API. It returns true if the action was successful and false if it was not successful.

func (*GTMClient) PropertyUpdate

func (c *GTMClient) PropertyUpdate(domain string, property *Property) (*PropertyResponse, error)

PropertyUpdate takes an Akamai GTM domain name and a property and issues a request to update the property accordingly via the Akamai GTM API. The result is returned as a PropertyResponse.

type GroupSummary

type GroupSummary struct {
	GroupID       string   `json:"groupId"`
	Name          string   `json:"groupName"`
	ContractIDs   []string `json:"contractIds"`
	ParentGroupID string   `json:"parentGroupId"`
}

GroupSummary is a representation of the Akamai PAPI group summary associated with each group returned by the groups response at: http://apibase.com/papi/v0/groups/

type Groups

type Groups struct {
	Groups struct {
		Items []GroupSummary `json:"items"`
	} `json:"groups"`
}

Groups is a representation of the Akamai PAPI Groups response available at: http://apibase.com/papi/v0/groups/

type HostnameSummary

type HostnameSummary struct {
	EdgeHostnameID     string `json:"edgeHostnameId"`
	DomainPrefix       string `json:"domainPrefix"`
	DomainSuffix       string `json:"domainSuffix"`
	IPVersionBehavior  string `json:"ipVersionBehavior"`
	Secure             bool   `json:"secure"`
	EdgeHostnameDomain string `json:"edgehostnameDomain"`
}

HostnameSummary is a representation of the Akamai PAPI hostname summary associated with each hostname returned by the hostnames response at: http://apibase.com/papi/v0/edgehostnames?contractId=contractId&groupId=groupId

type Hostnames

type Hostnames struct {
	Hostnames struct {
		Items []HostnameSummary `json:"items"`
	} `json:"edgehostnames"`
}

Hostnames is a representation of the Akamai PAPI hostnames response available at: http://apibase.com/papi/v0/edgehostnames?contractId=contractId&groupId=groupId

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

Link represents the link objects embedded in Akamai GTM API response JSON.

type LivenessTest

type LivenessTest struct {
	Name                          string  `json:"name"`
	HTTPError3xx                  bool    `json:"httpError3xx,omitempty"`
	HTTPError4xx                  bool    `json:"httpError4xx,omitempty"`
	HTTPError5xx                  bool    `json:"httpError5xx,omitempty"`
	TestInterval                  int64   `json:"testInterval,omitempty"`
	TestObject                    string  `json:"testObject,omitempty"`
	TestObjectPort                int64   `json:"testObjectPort,omitempty"`
	TestObjectProtocol            string  `json:"testObjectProtocol,omitempty"`
	TestObjectUsername            string  `json:"testObjectUsername,omitempty"`
	TestObjectPassword            string  `json:"testObjectPassword,omitempty"`
	TestTimeout                   float64 `json:"testTimeout,omitempty"`
	DisableNonstandardPortWarning bool    `json:"disableNonstandardPortWarning,omitempty"`
	RequestString                 string  `json:"requestString,omitempty"`
	ResponseString                string  `json:"responseString,omitempty"`
	SSLClientPrivateKey           string  `json:"sslClientPrivateKey,omitempty"`
	SSLCertificate                string  `json:"sslClientCertificate,omitempty"`
	HostHeader                    string  `json:"hostHeader,omitempty"`
}

LivenessTest represents a liveness test associated with an Akamai GTM property.

type LoadObject

type LoadObject struct {
	LoadObject           string `json:"loadObject"`
	LoadObjectPort       string `json:"loadObjectPort"`
	LoadServers          string `json:"loadServers"`
	Continent            string `json:"continent"`
	CloudServerTargeting bool   `json:"cloudServerTargeting"`
}

LoadObject represents the load object associated with an Akamai GTM datacenter.

type PAPIClient

type PAPIClient struct {
	Credentials *AuthCredentials
	HTTPClient  *http.Client
}

PAPIClient is an Akamai PAPI API client. https://developer.akamai.com/api/luna/papi/overview.html

func NewPAPIClient

func NewPAPIClient() *PAPIClient

NewPAPIClient returns a PAPIClient using the AKAMAI_EDGEGRID_ACCESS_TOKEN, AKAMAI_EDGEGRID_CLIENT_TOKEN, AKAMAI_EDGEGRID_CLIENT_SECRET, and AKAMAI_EDGEGRID_HOST environment variables.

func PAPIClientWithCreds

func PAPIClientWithCreds(accessToken, clientToken, clientSecret, apiHost string) *PAPIClient

PAPIClientWithCreds takes an accessToken, a clientToken, a clientSecret, and an apiHost and returns a PAPIClient.

func (*PAPIClient) Activations

func (c *PAPIClient) Activations(propID, contractID, groupID string) ([]PapiActivation, error)

Activations takes a propertyID, a contractID, and a groupID and returns the associated []PapiActivation representing the property activations.

func (*PAPIClient) CpCode

func (c *PAPIClient) CpCode(cpCodeID, contractID, groupID string) (*CpCodeSummary, error)

CpCode takes a cpCodeID, a contractID, and a groupID and returns the associated CpCodeSummary.

func (*PAPIClient) CpCodes

func (c *PAPIClient) CpCodes(contractID, groupID string) ([]CpCodeSummary, error)

CpCodes takes a contractID and a groupID and returns the associated []CpCodeSummary representing the CP code summaries associated with the contractId and groupId.

func (PAPIClient) GetCredentials

func (c PAPIClient) GetCredentials() *AuthCredentials

GetCredentials takes a PAPIClient and returns its credentials.

func (PAPIClient) GetHTTPClient

func (c PAPIClient) GetHTTPClient() *http.Client

GetHTTPClient takes a PAPIClient and returns its HTTPClient.

func (*PAPIClient) Groups

func (c *PAPIClient) Groups() ([]GroupSummary, error)

Groups returns a []GroupSummary representing the groups associated with the PAPIClient.

func (*PAPIClient) Hostname

func (c *PAPIClient) Hostname(hostID, contractID, groupID string) (HostnameSummary, error)

Hostname takes a hostID, a contractID, and a groupID and returns the associated HostnameSummary.

func (*PAPIClient) Hostnames

func (c *PAPIClient) Hostnames(contractID, groupID string) ([]HostnameSummary, error)

Hostnames takes a contractID and a groupID and returns the associated []HostnameSummary representing each HostnameSummary for the hostnames associated with the contractID and groupID.

func (*PAPIClient) Products

func (c *PAPIClient) Products(contractID string) ([]ProductSummary, error)

Products takes a contractID returns the associated ProductSummary for each product associated with the contractID.

func (*PAPIClient) Properties

func (c *PAPIClient) Properties(contractID, groupID string) ([]PapiPropertySummary, error)

Properties takes a contractID and a groupID and returns the associated []PapiPropertySummary for each property associated with the contractID and the groupID.

func (*PAPIClient) Property

func (c *PAPIClient) Property(propID, contractID, groupID string) (PapiPropertySummary, error)

Property takes a propertyID, a contractID, and a groupID and returns the PapiPropertySummary for the associated property.

func (*PAPIClient) PropertyLatestVersion

func (c *PAPIClient) PropertyLatestVersion(propID, contractID, groupID string) (PapiPropertyVersionSummary, error)

PropertyLatestVersion takes a propertyID, a contractID, and a groupID and returns the PapiPropertyVersionSummary for the most recent property version.

func (*PAPIClient) PropertyRules

func (c *PAPIClient) PropertyRules(propID, version, contractID, groupID string) (PapiPropertyRuleSummary, error)

PropertyRules takes a propertyID string, a version, and a groupID and returns a the PapiPropertyRuleSummary for the associated property.

func (*PAPIClient) PropertyVersion

func (c *PAPIClient) PropertyVersion(version, propID, contractID, groupID string) (PapiPropertyVersionSummary, error)

PropertyVersion takes a version, a propertyID, a contractID, and a groupID and returns the associated PapiPropertyVersionSummary.

func (*PAPIClient) PropertyVersionXML

func (c *PAPIClient) PropertyVersionXML(version, propID, contractID, groupID string) (string, error)

PropertyVersionXML takes a version, a propertyID, a contractID, and a groupID and returns the the associated property version XML string.

func (*PAPIClient) PropertyVersions

func (c *PAPIClient) PropertyVersions(propID, contractID, groupID string) ([]PapiPropertyVersionSummary, error)

PropertyVersions takes a propertyID, a contractID, and a groupID and returns the associated PapiPropertyVersionSummary for each property version.

type PapiActivation

type PapiActivation struct {
	ActivationID    string `json:"activationId"`
	PropertyName    string `json:"propertyName"`
	PropertyID      string `json:"propertyId"`
	PropertyVersion int    `json:"propertyVersion"`
	Network         string `json:"network"`
	ActivationType  string `json:"activationType"`
	Status          string `json:"status"`
	SubmitDate      string `json:"submitDate"`
	UpdateDate      string `json:"updateDate"`
	Note            string `json:"note"`
}

PapiActivation is a representation of each Akamai PAPI activation available at: http://apibase.com/papi/v0/properties/propId/activations?contractId=contractId&groupId=groupId

type PapiActivations

type PapiActivations struct {
	Activations struct {
		Items []PapiActivation `json:"items"`
	} `json:"activations"`
}

PapiActivations is a representation of the Akamai PAPI activations response at: http://apibase.com/papi/v0/properties/propId/activations?contractId=contractId&groupId=groupId

type PapiProperties

type PapiProperties struct {
	Properties struct {
		Items []PapiPropertySummary `json:"items"`
	} `json:"properties"`
}

PapiProperties is a representation of the Akamai PAPI properties response available at: http://apibase.com/papi/v0/properties/?contractId=contractId&groupId=groupId

type PapiPropertyRuleBehavior

type PapiPropertyRuleBehavior struct {
	Name string `json:"name"`
}

PapiPropertyRuleBehavior is a representation of the Akamai PAPI property rule behavior associated with each property rule.

type PapiPropertyRuleSummary

type PapiPropertyRuleSummary struct {
	Name      string                     `json:"name"`
	UUID      string                     `json:"uuid"`
	Behaviors []PapiPropertyRuleBehavior `json:"behaviors"`
}

PapiPropertyRuleSummary is a representation of the Akamai PAPI rule summary associated with each property rule at: http://apibase.com/papi/v0/properties/propId/versions/version/rules/?contractId=contractId&groupId=groupId

type PapiPropertyRules

type PapiPropertyRules struct {
	Rules PapiPropertyRuleSummary `json:"rules"`
}

PapiPropertyRules is a representation of the Akamai PAPI property rules response at: http://apibase.com/papi/v0/properties/propId/versions/version/rules/?contractId=contractId&groupId=groupId

type PapiPropertySummary

type PapiPropertySummary struct {
	AccountID         string `json:"accountId"`
	ContractID        string `json:"contractId"`
	GroupID           string `json:"groupId"`
	PropertyID        string `json:"propertyId"`
	Name              string `json:"propertyName"`
	LatestVersion     int    `json:"latestVersion"`
	StagingVersion    int    `json:"stagingVersion"`
	ProductionVersion int    `json:"productionVersion"`
	Note              string `json:"note"`
}

PapiPropertySummary is a representation of the Akamai PAPI property summary associated with each property returned by the properties response at: http://apibase.com/papi/v0/properties/?contractId=contractId&groupId=groupId

type PapiPropertyVersionSummary

type PapiPropertyVersionSummary struct {
	PropertyVersion  int    `json:"propertyVersion"`
	UpdatedByUser    string `json:"updatedByUser"`
	UpdatedDate      string `json:"updatedDate"`
	ProductionStatus string `json:"productionStatus"`
	StagingStatus    string `json:"stagingStatus"`
	Etag             string `json:"etag"`
	ProductID        string `json:"productId"`
	Note             string `json:"note"`
}

PapiPropertyVersionSummary is a representation of the Akamai PAPI property version summary associated with each property version at: http://apibase.com/papi/v0/properties/propId/versions?contractId=contractId&groupId=groupId

type PapiPropertyVersions

type PapiPropertyVersions struct {
	Versions struct {
		Items []PapiPropertyVersionSummary `json:"items"`
	} `json:"versions"`
}

PapiPropertyVersions is a representation of the Akamai PAPI property versions response available at: http://apibase.com/papi/v0/properties/propId/versions?contractId=contractId&groupId=groupId

type ProductSummary

type ProductSummary struct {
	ProductID string `json:"productId"`
	Name      string `json:"productName"`
}

ProductSummary is a representation of the Akamai PAPI product summary associated with each product returned by the products response at: http://apibase.com/papi/v0/products?contractId=someId

type Products

type Products struct {
	Products struct {
		Items []ProductSummary `json:"items"`
	} `json:"products"`
}

Products is a representation of the Akamai PAPI products response available at: http://apibase.com/papi/v0/products?contractId=someId

type Properties

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

Properties represents the properties returned from: http://apibase.com/config-gtm/v1/domains/domain/properties/property

func (Properties) Len

func (props Properties) Len() int

func (Properties) Less

func (props Properties) Less(i, j int) bool

func (Properties) Swap

func (props Properties) Swap(i, j int)

type Property

type Property struct {
	BackupCname               string          `json:"backupCName,omitempty"`
	BackupIP                  string          `json:"backupIp,omitempty"`
	BalanceByDownloadScore    bool            `json:"balanceByDownloadScore,omitempty"`
	Cname                     string          `json:"cname,omitempty"`
	Comments                  string          `json:"comments,omitempty"`
	DynamicTTL                int             `json:"dynamicTTL,omitempty"`
	FailbackDelay             int             `json:"failbackDelay"`
	FailoverDelay             int             `json:"failoverDelay"`
	HandoutMode               string          `json:"handoutMode,omitempty"`
	HealthMax                 float64         `json:"healthMax,omitempty"`
	HealthMultiplier          float64         `json:"healthMultiplier,omitempty"`
	HealthThreshold           float64         `json:"healthThreshold,omitempty"`
	Ipv6                      bool            `json:"ipv6,omitempty"`
	LastModified              string          `json:"lastModified,omitempty"`
	Links                     []Link          `json:"links,omitempty"`
	LivenessTests             []LivenessTest  `json:"livenessTests,omitempty"`
	LoadImbalancePercentage   float64         `json:"loadImbalancePercentage,omitempty"`
	MapName                   interface{}     `json:"mapName,omitempty"`
	MaxUnreachablePenalty     interface{}     `json:"maxUnreachablePenalty,omitempty"`
	MxRecords                 []interface{}   `json:"mxRecords,omitempty"`
	Name                      string          `json:"name"`
	ScoreAggregationType      string          `json:"scoreAggregationType"`
	StaticTTL                 interface{}     `json:"staticTTL,omitempty"`
	StickinessBonusConstant   interface{}     `json:"stickinessBonusConstant,omitempty"`
	StickinessBonusPercentage interface{}     `json:"stickinessBonusPercentage,omitempty"`
	TrafficTargets            []TrafficTarget `json:"trafficTargets"`
	Type                      string          `json:"type"`
	UnreachableThreshold      interface{}     `json:"unreachableThreshold,omitempty"`
	UseComputedTargets        bool            `json:"useComputedTargets,omitempty"`
}

Property represents an Akamai GTM property.

type PropertyResponse

type PropertyResponse struct {
	Property *Property       `json:"resource"`
	Status   *ResourceStatus `json:"status"`
}

PropertyResponse represents the Akamai GTM response returned by Akamai GTM API CREATEs and DELETEs against: http://apibase.com/config-gtm/v1/domains/domain/properties/property

type ResourceStatus

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

ResourceStatus is a representation of an Akamai GTM status for a given resource, such as a domain.

type TrafficTarget

type TrafficTarget struct {
	DataCenterID int         `json:"datacenterId"`
	Enabled      bool        `json:"enabled"`
	HandoutCname interface{} `json:"handoutCName"`
	Name         interface{} `json:"name"`
	Servers      []string    `json:"servers"`
	Weight       float64     `json:"weight"`
}

TrafficTarget represents a traffic target associated with an Akamai GTM property.

Jump to

Keyboard shortcuts

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