edgeworkers

package
v3.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2022 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Index

Constants

View Source
const (
	StatusSuccess                   = "success"
	StatusGenericError              = "genericError"
	StatusUnknownEdgeWorkerID       = "unknownEdgeWorkerId"
	StatusUnimplementedEventHandler = "unimplementedEventHandler"
	StatusRuntimeError              = "runtimeError"
	StatusExecutionError            = "executionError"
	StatusTimeoutError              = "timeoutError"
	StatusResourceLimitHit          = "resourceLimitHit"
	StatusCPUTimeoutError           = "cpuTimeoutError"
	StatusWallTimeoutError          = "wallTimeoutError"
	StatusInitCPUTimeoutError       = "initCpuTimeoutError"
	StatusInitWallTimeoutError      = "initWallTimeoutError"
)

These constants represent all the valid report statuses

View Source
const (
	EventHandlerOnClientRequest  = "onClientRequest"
	EventHandlerOnOriginRequest  = "onOriginRequest"
	EventHandlerOnOriginResponse = "onOriginResponse"
	EventHandlerOnClientResponse = "onClientResponse"
	EventHandlerResponseProvider = "responseProvider"
)

These constants represent all the valid report event handlers

Variables

View Source
var (
	// ErrListActivations is returned when ListActivations fails
	ErrListActivations = errors.New("list activations")
	// ErrGetActivation is returned when GetActivation fails
	ErrGetActivation = errors.New("get activation")
	// ErrActivateVersion is returned when ActivateVersion fails
	ErrActivateVersion = errors.New("activate version")
	// ErrCancelActivation is returned when CancelPendingActivation fails
	ErrCancelActivation = errors.New("cancel activation")
)
View Source
var (
	// ErrListDeactivations is returned when ListDeactivations fails
	ErrListDeactivations = errors.New("list deactivations")
	// ErrDeactivateVersion is returned when DeactivateVersion fails
	ErrDeactivateVersion = errors.New("deactivate version")
	// ErrGetDeactivation is returned when GetDeactivation fails
	ErrGetDeactivation = errors.New("get deactivation")
)
View Source
var (
	// ErrCreateEdgeKVAccessToken is returned in case an error occurs on CreateEdgeKVAccessToken operation
	ErrCreateEdgeKVAccessToken = errors.New("create an EdgeKV access token")
	// ErrGetEdgeKVAccessToken is returned in case an error occurs on GetEdgeKVAccessToken operation
	ErrGetEdgeKVAccessToken = errors.New("get an EdgeKV access token")
	// ErrListEdgeKVAccessToken is returned in case an error occurs on ListEdgeKVAccessToken operation
	ErrListEdgeKVAccessToken = errors.New("list EdgeKV access tokens")
	// ErrDeleteEdgeKVAccessToken is returned in case an error occurs on DeleteEdgeKVAccessToken operation
	ErrDeleteEdgeKVAccessToken = errors.New("delete an EdgeKV access token")
)
View Source
var (
	// ErrInitializeEdgeKV is returned in case an error occurs on InitializeEdgeKV operation
	ErrInitializeEdgeKV = errors.New("initialize EdgeKV")

	// ErrGetEdgeKVInitialize is returned in case an error occurs on GetEdgeKVInitializeStatus operation
	ErrGetEdgeKVInitialize = errors.New("get EdgeKV initialization status")
)
View Source
var (
	// ErrListItems is returned in case an error occurs on ListItems operation
	ErrListItems = errors.New("list items")
	// ErrGetItem is returned in case an error occurs on GetItem operation
	ErrGetItem = errors.New("get item")
	// ErrUpsertItem is returned in case an error occurs on UpsertItem operation
	ErrUpsertItem = errors.New("create or update item")
	// ErrDeleteItem is returned in case an error occurs on DeleteItem operation
	ErrDeleteItem = errors.New("delete item")
)
View Source
var (
	// ErrListEdgeKVNamespace is returned when ListEdgeKVNamespaces fails
	ErrListEdgeKVNamespace = errors.New("list EdgeKV namespaces")
	// ErrGetEdgeKVNamespace is returned when GetEdgeKVNamespace fails
	ErrGetEdgeKVNamespace = errors.New("get an EdgeKV namespace")
	// ErrCreateEdgeKVNamespace is returned when CreateEdgeKVNamespace fails
	ErrCreateEdgeKVNamespace = errors.New("create an EdgeKV namespace")
	// ErrUpdateEdgeKVNamespace is returned when UpdateEdgeKVNamespace fails
	ErrUpdateEdgeKVNamespace = errors.New("update an EdgeKV namespace")
)
View Source
var (
	// ErrGetEdgeWorkerID is returned in case an error occurs on GetEdgeWorkerID operation
	ErrGetEdgeWorkerID = errors.New("get an EdgeWorker ID")
	// ErrListEdgeWorkersID is returned in case an error occurs on ListEdgeWorkersID operation
	ErrListEdgeWorkersID = errors.New("list EdgeWorkers IDs")
	// ErrCreateEdgeWorkerID is returned in case an error occurs on CreateEdgeWorkerID operation
	ErrCreateEdgeWorkerID = errors.New("create an EdgeWorker ID")
	// ErrUpdateEdgeWorkerID is returned in case an error occurs on UpdateEdgeWorkerID operation
	ErrUpdateEdgeWorkerID = errors.New("update an EdgeWorker ID")
	// ErrCloneEdgeWorkerID is returned in case an error occurs on CloneEdgeWroker operation
	ErrCloneEdgeWorkerID = errors.New("clone an EdgeWorker ID")
	// ErrDeleteEdgeWorkerID is returned in case an error occurs on DeleteEdgeWorkerID operation
	ErrDeleteEdgeWorkerID = errors.New("delete an EdgeWorker ID")
)
View Source
var (
	// ErrGetEdgeWorkerVersion is returned in case an error occurs on GetEdgeWorkerVersion operation
	ErrGetEdgeWorkerVersion = errors.New("get an EdgeWorker Version")
	// ErrListEdgeWorkerVersions is returned in case an error occurs on ListEdgeWorkerVersions operation
	ErrListEdgeWorkerVersions = errors.New("list EdgeWorkers Versions")
	// ErrGetEdgeWorkerVersionContent is returned in case an error occurs on GetEdgeWorkerVersionContent operation
	ErrGetEdgeWorkerVersionContent = errors.New("get an EdgeWorker Version Content Bundle")
	// ErrCreateEdgeWorkerVersion is returned in case an error occurs on CreateEdgeWorkerVersion operation
	ErrCreateEdgeWorkerVersion = errors.New("create an EdgeWorker Version")
	// ErrDeleteEdgeWorkerVersion is returned in case an error occurs on DeleteEdgeWorkerVersion operation
	ErrDeleteEdgeWorkerVersion = errors.New("delete an EdgeWorker Version")
)
View Source
var (
	// ErrGetPermissionGroup is returned in case an error occurs on GetPermissionGroup operation
	ErrGetPermissionGroup = errors.New("get a permission group")
	// ErrListPermissionGroups is returned in case an error occurs on ListPermissionGroups operation
	ErrListPermissionGroups = errors.New("list permission groups")
)
View Source
var (
	// ErrGetSummaryReport is returned in case an error occurs on GetSummaryReport operation
	ErrGetSummaryReport = errors.New("get summary overview for EdgeWorker reports")
	// ErrGetReport is returned in case an error occurs on GetReport operation
	ErrGetReport = errors.New("get an EdgeWorker report")
	// ErrListReports is returned in case an error occurs on ListReports operation
	ErrListReports = errors.New("get EdgeWorker reports")
)
View Source
var (
	// ErrListResourceTiers is returned in case an error occurs on ListResourceTiers operation
	ErrListResourceTiers = errors.New("list resource tiers")
	// ErrGetResourceTier is returned in case an error occurs on GetResourceTier operation
	ErrGetResourceTier = errors.New("get a resource tier")
)
View Source
var (
	// ErrCreateSecureToken is returned in case an error occurs on CreateSecureToken operation
	ErrCreateSecureToken = errors.New("create secure token")
)
View Source
var (
	// ErrListContracts is returned in case an error occurs on ListContracts operation
	ErrListContracts = errors.New("list contracts")
)
View Source
var (
	// ErrListProperties is returned in case an error occurs on ListProperties operation
	ErrListProperties = errors.New("list properties")
)
View Source
var (
	// ErrStructValidation is returned when given struct validation failed
	ErrStructValidation = errors.New("struct validation")
)
View Source
var (
	// ErrValidateBundle is returned in case an error occurs on ValidateBundle operation
	ErrValidateBundle = errors.New("validate a bundle")
)

Functions

func IsJSON

func IsJSON(str Item) bool

IsJSON returns true if the given string is a valid json

Types

type ActivateVersion

type ActivateVersion struct {
	Network ActivationNetwork `json:"network"`
	Version string            `json:"version"`
}

ActivateVersion represents the request body used to activate a version

func (ActivateVersion) Validate

func (r ActivateVersion) Validate() error

Validate validates ActivateVersion

type ActivateVersionRequest

type ActivateVersionRequest struct {
	EdgeWorkerID int
	ActivateVersion
}

ActivateVersionRequest contains path parameters and request body used to activate an edge worker

func (ActivateVersionRequest) Validate

func (r ActivateVersionRequest) Validate() error

Validate validates ActivateVersionRequest

type Activation

type Activation struct {
	AccountID        string `json:"accountId"`
	ActivationID     int    `json:"activationId"`
	CreatedBy        string `json:"createdBy"`
	CreatedTime      string `json:"createdTime"`
	EdgeWorkerID     int    `json:"edgeWorkerId"`
	LastModifiedTime string `json:"lastModifiedTime"`
	Network          string `json:"network"`
	Status           string `json:"status"`
	Version          string `json:"version"`
}

Activation represents an activation object

type ActivationNetwork

type ActivationNetwork string

ActivationNetwork represents available activation network types

const (
	// ActivationNetworkStaging is the staging network
	ActivationNetworkStaging ActivationNetwork = "STAGING"

	// ActivationNetworkProduction is the production network
	ActivationNetworkProduction ActivationNetwork = "PRODUCTION"
)

type Activations

type Activations interface {
	// ListActivations lists all activations for an EdgeWorker
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/activations#get-activations-1
	ListActivations(context.Context, ListActivationsRequest) (*ListActivationsResponse, error)

	// GetActivation fetches an EdgeWorker activation by id
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference-link/get-activation-1
	GetActivation(context.Context, GetActivationRequest) (*Activation, error)

	// ActivateVersion activates an EdgeWorker version on a given network
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/activations#post-activations-1
	ActivateVersion(context.Context, ActivateVersionRequest) (*Activation, error)

	// CancelPendingActivation cancels pending activation with a given id
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/activations#cancel-activation
	CancelPendingActivation(context.Context, CancelActivationRequest) (*Activation, error)
}

Activations is an edgeworkers activations API interface

type Additional

type Additional struct {
	RequestID string `json:"requestId,omitempty"`
}

Additional holds request_id for edgekv errors

type Bundle

type Bundle struct {
	io.Reader
}

Bundle is the type for content bundle of an Edgeworker Version

type CancelActivationRequest

type CancelActivationRequest struct {
	EdgeWorkerID int
	ActivationID int
}

CancelActivationRequest contains path parameters used to cancel edge worker activation

func (CancelActivationRequest) Validate

func (r CancelActivationRequest) Validate() error

Validate validates CancelActivationRequest

type ClientFunc

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

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

type CloneEdgeWorkerIDRequest

type CloneEdgeWorkerIDRequest struct {
	EdgeWorkerIDBodyRequest
	EdgeWorkerID int
}

CloneEdgeWorkerIDRequest contains body and path parameters used to clone EdgeWorkerID

func (CloneEdgeWorkerIDRequest) Validate

func (c CloneEdgeWorkerIDRequest) Validate() error

Validate validates CloneEdgeWorkerIDRequest

type Contracts

type Contracts interface {
	// ListContracts lists contract IDs that can be used to list resource tiers
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/contracts-1#get-contracts-1
	ListContracts(context.Context) (*ListContractsResponse, error)
}

Contracts is an edgeworkers contracts API interface

type CreateEdgeKVAccessTokenRequest

type CreateEdgeKVAccessTokenRequest struct {
	// Whether to allow this token access to the Akamai production network
	AllowOnProduction bool `json:"allowOnProduction"`
	// Whether to allow this token access to the Akamai staging network
	AllowOnStaging bool `json:"allowOnStaging"`
	// Desired token expiry date in ISO format. Expiry can be up to 6 months from creation.
	Expiry string `json:"expiry"`
	// Friendly name of the token. Used when retrieving tokens by name.
	Name string `json:"name"`
	// A list of namespace identifiers the token should have access to, plus the associated read, write, delete permissions
	NamespacePermissions NamespacePermissions `json:"namespacePermissions"`
}

CreateEdgeKVAccessTokenRequest contains parameters used to create EdgeKV access token

func (CreateEdgeKVAccessTokenRequest) Validate

Validate validates CreateEdgeKVAccessTokenRequest

type CreateEdgeKVAccessTokenResponse

type CreateEdgeKVAccessTokenResponse struct {
	// The expiry date
	Expiry string `json:"expiry"`
	// The name assigned to the access token. You can't modify an access token name.
	Name string `json:"name"`
	// Internally generated unique identifier for the access token
	UUID string `json:"uuid"`
	// The access token details
	Value string `json:"value"`
}

CreateEdgeKVAccessTokenResponse contains response from EdgeKV access token creation

type CreateEdgeKVNamespaceRequest

type CreateEdgeKVNamespaceRequest struct {
	Network NamespaceNetwork
	Namespace
}

CreateEdgeKVNamespaceRequest contains path parameter and request body used to create a namespace

func (CreateEdgeKVNamespaceRequest) Validate

func (r CreateEdgeKVNamespaceRequest) Validate() error

Validate validates CreateEdgeKVNamespaceRequest

type CreateEdgeWorkerIDRequest

type CreateEdgeWorkerIDRequest struct {
	Name           string `json:"name"`
	GroupID        int    `json:"groupId"`
	ResourceTierID int    `json:"resourceTierId"`
}

CreateEdgeWorkerIDRequest contains body parameters used to create EdgeWorkerID

func (CreateEdgeWorkerIDRequest) Validate

func (c CreateEdgeWorkerIDRequest) Validate() error

Validate validates CreateEdgeWorkerIDRequest

type CreateEdgeWorkerVersionRequest

type CreateEdgeWorkerVersionRequest struct {
	EdgeWorkerID  int
	ContentBundle Bundle
}

CreateEdgeWorkerVersionRequest contains parameters used to create EdgeWorkerVersion

func (CreateEdgeWorkerVersionRequest) Validate

Validate validates CreateEdgeWorkerVersionRequest

type CreateSecureTokenRequest

type CreateSecureTokenRequest struct {
	ACL        string            `json:"acl,omitempty"`
	Expiry     int               `json:"expiry,omitempty"`
	Hostname   string            `json:"hostname,omitempty"`
	Network    ActivationNetwork `json:"network,omitempty"`
	PropertyID string            `json:"propertyId,omitempty"`
	URL        string            `json:"url,omitempty"`
}

CreateSecureTokenRequest represents parameters for CreateSecureToken

func (CreateSecureTokenRequest) Validate

func (c CreateSecureTokenRequest) Validate() error

Validate validates CreateSecureTokenRequest

type CreateSecureTokenResponse

type CreateSecureTokenResponse struct {
	AkamaiEWTrace string `json:"akamaiEwTrace"`
}

CreateSecureTokenResponse contains response from CreateSecureToken

type Data

type Data struct {
	OnClientRequest  *OnClientRequest  `json:"onClientRequest"`
	OnOriginRequest  *OnOriginRequest  `json:"onOriginRequest"`
	OnOriginResponse *OnOriginResponse `json:"onOriginResponse"`
	OnClientResponse *OnClientResponse `json:"onClientResponse"`
	ResponseProvider *ResponseProvider `json:"responseProvider"`
	Init             *Init             `json:"init"`
}

Data represents data object

type DataSummary

type DataSummary struct {
	Memory       *Summary `json:"memory"`
	Successes    *Total   `json:"successes"`
	InitDuration *Summary `json:"initDuration"`
	ExecDuration *Summary `json:"execDuration"`
	Errors       *Total   `json:"errors"`
	Invocations  *Total   `json:"invocations"`
}

DataSummary represents reports summary overview data for EdgeWorker

type DeactivateVersion

type DeactivateVersion struct {
	Network ActivationNetwork `json:"network"`
	Note    string            `json:"note,omitempty"`
	Version string            `json:"version"`
}

DeactivateVersion represents the request body used to deactivate a version

func (*DeactivateVersion) Validate

func (r *DeactivateVersion) Validate() error

Validate validates DeactivateVersion

type DeactivateVersionRequest

type DeactivateVersionRequest struct {
	EdgeWorkerID int
	DeactivateVersion
}

DeactivateVersionRequest describes the request parameters for DeactivateVersion

func (*DeactivateVersionRequest) Validate

func (r *DeactivateVersionRequest) Validate() error

Validate validates DeactivateVersionRequest

type Deactivation

type Deactivation struct {
	EdgeWorkerID     int               `json:"edgeWorkerId"`
	Version          string            `json:"version"`
	DeactivationID   int               `json:"deactivationId"`
	AccountID        string            `json:"accountId"`
	Status           string            `json:"status"`
	Network          ActivationNetwork `json:"network"`
	Note             string            `json:"note,omitempty"`
	CreatedBy        string            `json:"createdBy"`
	CreatedTime      string            `json:"createdTime"`
	LastModifiedTime string            `json:"lastModifiedTime"`
}

Deactivation is the response returned by GetDeactivation, DeactivateVersion and ListDeactivation

type Deactivations

type Deactivations interface {
	// ListDeactivations lists all deactivations for a given EdgeWorker ID
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/deactivations#get-deactivations-1
	ListDeactivations(context.Context, ListDeactivationsRequest) (*ListDeactivationsResponse, error)

	// GetDeactivation gets details for a specific deactivation
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/deactivations#get-deactivation-1
	GetDeactivation(context.Context, GetDeactivationRequest) (*Deactivation, error)

	// DeactivateVersion deactivates an existing EdgeWorker version on the akamai network
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/deactivations#post-deactivations-1
	DeactivateVersion(context.Context, DeactivateVersionRequest) (*Deactivation, error)
}

Deactivations is an EdgeWorkers deactivations API interface

type DeleteEdgeKVAccessTokenRequest

type DeleteEdgeKVAccessTokenRequest struct {
	TokenName string
}

DeleteEdgeKVAccessTokenRequest contains name of the EdgeKV access token to remove

func (DeleteEdgeKVAccessTokenRequest) Validate

Validate validates DeleteEdgeKVAccessTokenRequest

type DeleteEdgeKVAccessTokenResponse

type DeleteEdgeKVAccessTokenResponse struct {
	Name string `json:"name"`
	UUID string `json:"uuid"`
}

DeleteEdgeKVAccessTokenResponse contains response after removal of EdgeKV access token

type DeleteEdgeWorkerIDRequest

type DeleteEdgeWorkerIDRequest struct {
	EdgeWorkerID int
}

DeleteEdgeWorkerIDRequest contains parameters used to delete an EdgeWorkerID

func (DeleteEdgeWorkerIDRequest) Validate

func (d DeleteEdgeWorkerIDRequest) Validate() error

Validate validates DeleteEdgeWorkerIDRequest

type DeleteEdgeWorkerVersionRequest

type DeleteEdgeWorkerVersionRequest EdgeWorkerVersionRequest

DeleteEdgeWorkerVersionRequest contains parameters used to delete an EdgeWorkerVersion

func (DeleteEdgeWorkerVersionRequest) Validate

Validate validates DeleteEdgeWorkerVersionRequest

type DeleteItemRequest

type DeleteItemRequest struct {
	ItemID string
	ItemsRequestParams
}

DeleteItemRequest represents the request params used to delete an item

func (DeleteItemRequest) Validate

func (r DeleteItemRequest) Validate() error

Validate validates DeleteItemRequest

type EdgeKVAccessToken

type EdgeKVAccessToken struct {
	// The expiry date
	Expiry string `json:"expiry"`
	// The name assigned to the access token. You can't modify an access token name.
	Name string `json:"name"`
	// Internally generated unique identifier for the access token
	UUID string `json:"uuid"`
}

EdgeKVAccessToken contains response from EdgeKV access token creation

type EdgeKVAccessTokens

type EdgeKVAccessTokens interface {
	// CreateEdgeKVAccessToken generates EdgeKV specific access token
	//
	// See: https://techdocs.akamai.com/edgekv/reference/post_tokens
	CreateEdgeKVAccessToken(context.Context, CreateEdgeKVAccessTokenRequest) (*CreateEdgeKVAccessTokenResponse, error)

	// GetEdgeKVAccessToken retrieves an EdgeKV access token
	//
	// See: https://techdocs.akamai.com/edgekv/reference/get_token
	GetEdgeKVAccessToken(context.Context, GetEdgeKVAccessTokenRequest) (*GetEdgeKVAccessTokenResponse, error)

	// ListEdgeKVAccessTokens lists EdgeKV access tokens
	//
	// See: https://techdocs.akamai.com/edgekv/reference/get_tokens
	ListEdgeKVAccessTokens(context.Context, ListEdgeKVAccessTokensRequest) (*ListEdgeKVAccessTokensResponse, error)

	// DeleteEdgeKVAccessToken revokes an EdgeKV access token
	//
	// See: https://techdocs.akamai.com/edgekv/reference/delete_token
	DeleteEdgeKVAccessToken(context.Context, DeleteEdgeKVAccessTokenRequest) (*DeleteEdgeKVAccessTokenResponse, error)
}

EdgeKVAccessTokens is EdgeKV access token API interface

type EdgeKVInitializationStatus

type EdgeKVInitializationStatus struct {
	AccountStatus    string `json:"accountStatus"`
	CPCode           string `json:"cpcode"`
	ProductionStatus string `json:"productionStatus"`
	StagingStatus    string `json:"stagingStatus"`
}

EdgeKVInitializationStatus represents a response object returned by InitializeEdgeKV and GetEdgeKVInitializeStatus

type EdgeKVInitialize

type EdgeKVInitialize interface {
	// InitializeEdgeKV Initialize the EdgeKV database
	//
	// See: https://techdocs.akamai.com/edgekv/reference/put_initialize
	InitializeEdgeKV(ctx context.Context) (*EdgeKVInitializationStatus, error)

	// GetEdgeKVInitializationStatus is used to check on the current initialization status
	//
	// See: https://techdocs.akamai.com/edgekv/reference/get_initialize
	GetEdgeKVInitializationStatus(ctx context.Context) (*EdgeKVInitializationStatus, error)
}

EdgeKVInitialize is EdgeKV Initialize API interface

type EdgeKVItems

type EdgeKVItems interface {
	// ListItems lists items in EdgeKV group
	//
	// See: https://techdocs.akamai.com/edgekv/reference/get_group
	ListItems(context.Context, ListItemsRequest) (*ListItemsResponse, error)

	// GetItem reads an item from EdgeKV group
	//
	// See: https://techdocs.akamai.com/edgekv/reference/get_item
	GetItem(context.Context, GetItemRequest) (*Item, error)

	// UpsertItem creates or updates an item in EdgeKV group
	//
	// See: https://techdocs.akamai.com/edgekv/reference/put_item
	UpsertItem(context.Context, UpsertItemRequest) (*string, error)

	// DeleteItem deletes an item from EdgeKV group
	//
	// See: https://techdocs.akamai.com/edgekv/reference/delete_item
	DeleteItem(context.Context, DeleteItemRequest) (*string, error)
}

EdgeKVItems is EdgeKV Item API interface

type EdgeKVNamespaces

type EdgeKVNamespaces interface {
	// ListEdgeKVNamespaces lists all namespaces in the given network
	//
	// See: https://techdocs.akamai.com/edgekv/reference/get_namespaces
	ListEdgeKVNamespaces(context.Context, ListEdgeKVNamespacesRequest) (*ListEdgeKVNamespacesResponse, error)

	// GetEdgeKVNamespace fetches a namespace by name
	//
	// See: https://techdocs.akamai.com/edgekv/reference/get_namespace
	GetEdgeKVNamespace(context.Context, GetEdgeKVNamespaceRequest) (*Namespace, error)

	// CreateEdgeKVNamespace creates a namespace on the given network
	//
	// See: https://techdocs.akamai.com/edgekv/reference/post_namespace
	CreateEdgeKVNamespace(context.Context, CreateEdgeKVNamespaceRequest) (*Namespace, error)

	// UpdateEdgeKVNamespace updates a namespace
	//
	// See: https://techdocs.akamai.com/edgekv/reference/put_namespace
	UpdateEdgeKVNamespace(context.Context, UpdateEdgeKVNamespaceRequest) (*Namespace, error)
}

EdgeKVNamespaces is an EdgeKV namespaces API interface

type EdgeWorkerID

type EdgeWorkerID struct {
	EdgeWorkerID       int    `json:"edgeWorkerId"`
	Name               string `json:"name"`
	AccountID          string `json:"accountId"`
	GroupID            int64  `json:"groupId"`
	ResourceTierID     int    `json:"resourceTierId"`
	SourceEdgeWorkerID int    `json:"sourceEdgeWorkerId,omitempty"`
	CreatedBy          string `json:"createdBy"`
	CreatedTime        string `json:"createdTime"`
	LastModifiedBy     string `json:"lastModifiedBy"`
	LastModifiedTime   string `json:"lastModifiedTime"`
}

EdgeWorkerID represents an EdgeWorkerID object

type EdgeWorkerIDBodyRequest

type EdgeWorkerIDBodyRequest struct {
	Name           string `json:"name"`
	GroupID        int    `json:"groupId"`
	ResourceTierID int    `json:"resourceTierId"`
}

EdgeWorkerIDBodyRequest contains body parameters used to update or clone EdgeWorkerID

type EdgeWorkerIDs

type EdgeWorkerIDs interface {
	// GetEdgeWorkerID gets details for a specific EdgeWorkerID
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/edgeworkers#get-id
	GetEdgeWorkerID(context.Context, GetEdgeWorkerIDRequest) (*EdgeWorkerID, error)

	// ListEdgeWorkersID lists EdgeWorkerIDs in the identified group
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/edgeworkers#get-ids
	ListEdgeWorkersID(context.Context, ListEdgeWorkersIDRequest) (*ListEdgeWorkersIDResponse, error)

	// CreateEdgeWorkerID creates a new EdgeWorkerID
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/edgeworkers#post-ids
	CreateEdgeWorkerID(context.Context, CreateEdgeWorkerIDRequest) (*EdgeWorkerID, error)

	// UpdateEdgeWorkerID updates an EdgeWorkerID
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/edgeworkers#put-id
	UpdateEdgeWorkerID(context.Context, UpdateEdgeWorkerIDRequest) (*EdgeWorkerID, error)

	// CloneEdgeWorkerID clones an EdgeWorkerID to change the resource tier
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/edgeworkers#post-id-clone
	CloneEdgeWorkerID(context.Context, CloneEdgeWorkerIDRequest) (*EdgeWorkerID, error)

	// DeleteEdgeWorkerID deletes an EdgeWorkerID
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/edgeworkers#delete-id
	DeleteEdgeWorkerID(context.Context, DeleteEdgeWorkerIDRequest) error
}

EdgeWorkerIDs is EdgeWorker ID API interface

type EdgeWorkerLimit

type EdgeWorkerLimit struct {
	LimitName  string `json:"limitName"`
	LimitValue int64  `json:"limitValue"`
	LimitUnit  string `json:"limitUnit"`
}

EdgeWorkerLimit represents a single edgeworker limit object

type EdgeWorkerVersion

type EdgeWorkerVersion struct {
	EdgeWorkerID   int    `json:"edgeWorkerId"`
	Version        string `json:"version"`
	AccountID      string `json:"accountId"`
	Checksum       string `json:"checksum"`
	SequenceNumber int    `json:"sequenceNumber"`
	CreatedBy      string `json:"createdBy"`
	CreatedTime    string `json:"createdTime"`
}

EdgeWorkerVersion represents an EdgeWorkerVersion object

type EdgeWorkerVersionRequest

type EdgeWorkerVersionRequest struct {
	EdgeWorkerID int
	Version      string
}

EdgeWorkerVersionRequest contains request parameters used by GetEdgeWorkerVersion, GetEdgeWorkerVersionContent and DeleteEdgeWorkerVersion

type EdgeWorkerVersions

type EdgeWorkerVersions interface {
	// GetEdgeWorkerVersion gets details for a specific EdgeWorkerVersion
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/versions#get-version
	GetEdgeWorkerVersion(context.Context, GetEdgeWorkerVersionRequest) (*EdgeWorkerVersion, error)

	// ListEdgeWorkerVersions lists EdgeWorkerVersions in the identified group
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/versions#get-versions
	ListEdgeWorkerVersions(context.Context, ListEdgeWorkerVersionsRequest) (*ListEdgeWorkerVersionsResponse, error)

	// GetEdgeWorkerVersionContent gets content bundle for a specific EdgeWorkerVersion
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/versions#get-version-content
	GetEdgeWorkerVersionContent(context.Context, GetEdgeWorkerVersionContentRequest) (*Bundle, error)

	// CreateEdgeWorkerVersion creates a new EdgeWorkerVersion
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/versions#post-versions
	CreateEdgeWorkerVersion(context.Context, CreateEdgeWorkerVersionRequest) (*EdgeWorkerVersion, error)

	// DeleteEdgeWorkerVersion deletes an EdgeWorkerVersion
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/versions#delete-version
	DeleteEdgeWorkerVersion(context.Context, DeleteEdgeWorkerVersionRequest) error
}

EdgeWorkerVersions is EdgeWorker Version API interface

type Edgeworkers

Edgeworkers is the api interface for EdgeWorkers and EdgeKV

func Client

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

Client returns a new edgeworkers Client instance with the specified controller

type Error

type Error struct {
	Type             string     `json:"type,omitempty"`
	Title            string     `json:"title,omitempty"`
	Detail           string     `json:"detail,omitempty"`
	Instance         string     `json:"instance,omitempty"`
	Status           int        `json:"status,omitempty"`
	ErrorCode        string     `json:"errorCode,omitempty"`
	Method           string     `json:"method,omitempty"`
	ServerIP         string     `json:"serverIp,omitempty"`
	ClientIP         string     `json:"clientIp,omitempty"`
	RequestID        string     `json:"requestId,omitempty"`
	RequestTime      string     `json:"requestTime,omitempty"`
	AuthzRealm       string     `json:"authzRealm,omitempty"`
	AdditionalDetail Additional `json:"additionalDetail,omitempty"`
}

Error is an edgeworkers error implementation For details on possible error types, refer to: https://techdocs.akamai.com/edgeworkers/reference/api-errors

func (*Error) Error

func (e *Error) Error() string

func (*Error) Is

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

Is handles error comparisons

type GetActivationRequest

type GetActivationRequest struct {
	EdgeWorkerID int
	ActivationID int
}

GetActivationRequest contains path parameters used to fetch edge worker activation

func (GetActivationRequest) Validate

func (r GetActivationRequest) Validate() error

Validate validates GetActivationRequest

type GetDeactivationRequest

type GetDeactivationRequest struct {
	EdgeWorkerID   int
	DeactivationID int
}

GetDeactivationRequest describes the request parameters for GetDeactivation

func (*GetDeactivationRequest) Validate

func (r *GetDeactivationRequest) Validate() error

Validate validates GetDeactivationRequest

type GetEdgeKVAccessTokenRequest

type GetEdgeKVAccessTokenRequest struct {
	TokenName string
}

GetEdgeKVAccessTokenRequest represents an TokenName object

func (GetEdgeKVAccessTokenRequest) Validate

func (g GetEdgeKVAccessTokenRequest) Validate() error

Validate validates GetEdgeKVAccessTokenRequest

type GetEdgeKVAccessTokenResponse

type GetEdgeKVAccessTokenResponse CreateEdgeKVAccessTokenResponse

GetEdgeKVAccessTokenResponse contains response from EdgeKV access token retrieval

type GetEdgeKVNamespaceRequest

type GetEdgeKVNamespaceRequest struct {
	Network NamespaceNetwork
	Name    string
}

GetEdgeKVNamespaceRequest contains path parameters used to feth a namespace

func (GetEdgeKVNamespaceRequest) Validate

func (r GetEdgeKVNamespaceRequest) Validate() error

Validate validates GetEdgeKVNamespaceRequest

type GetEdgeWorkerIDRequest

type GetEdgeWorkerIDRequest struct {
	EdgeWorkerID int
}

GetEdgeWorkerIDRequest contains parameters used to get an EdgeWorkerID

func (GetEdgeWorkerIDRequest) Validate

func (g GetEdgeWorkerIDRequest) Validate() error

Validate validates GetEdgeWorkerIDRequest

type GetEdgeWorkerVersionContentRequest

type GetEdgeWorkerVersionContentRequest EdgeWorkerVersionRequest

GetEdgeWorkerVersionContentRequest contains parameters used to get content bundle of an EdgeWorkerVersion

func (GetEdgeWorkerVersionContentRequest) Validate

Validate validates GetEdgeWorkerVersionContentRequest

type GetEdgeWorkerVersionRequest

type GetEdgeWorkerVersionRequest EdgeWorkerVersionRequest

GetEdgeWorkerVersionRequest contains parameters used to get an EdgeWorkerVersion

func (GetEdgeWorkerVersionRequest) Validate

func (g GetEdgeWorkerVersionRequest) Validate() error

Validate validates GetEdgeWorkerVersionRequest

type GetItemRequest

type GetItemRequest struct {
	ItemID string
	ItemsRequestParams
}

GetItemRequest represents the request params used to get a single item

func (GetItemRequest) Validate

func (r GetItemRequest) Validate() error

Validate validates GetItemRequest

type GetPermissionGroupRequest

type GetPermissionGroupRequest struct {
	GroupID string
}

GetPermissionGroupRequest contains parameters used to get a permission group

func (GetPermissionGroupRequest) Validate

func (g GetPermissionGroupRequest) Validate() error

Validate validates GetPermissionGroupRequest

type GetReportRequest

type GetReportRequest struct {
	ReportID int
	Start    string
	// If end date is not provided, then API will assign current date by default
	End          string
	EdgeWorker   string
	Status       *string
	EventHandler *string
}

GetReportRequest contains parameters used to get an EdgeWorker report

func (GetReportRequest) Validate

func (r GetReportRequest) Validate() error

Validate validates GetReportRequest

type GetReportResponse

type GetReportResponse struct {
	ReportID    int          `json:"reportId"`
	Name        string       `json:"name"`
	Description string       `json:"description"`
	Start       string       `json:"start"`
	End         string       `json:"end"`
	Data        []ReportData `json:"data"`
}

GetReportResponse represents a response object returned by GetReport

type GetResourceTierRequest

type GetResourceTierRequest struct {
	EdgeWorkerID int
}

GetResourceTierRequest contains parameters used to get a resource tier

func (GetResourceTierRequest) Validate

func (r GetResourceTierRequest) Validate() error

Validate validates GetResourceTierRequest

type GetSummaryReportRequest

type GetSummaryReportRequest struct {
	Start string
	// If end date is not provided, then API will assign current date by default
	End          string
	EdgeWorker   string
	Status       *string
	EventHandler *string
}

GetSummaryReportRequest contains parameters used to get summary overview for EdgeWorker reports

func (GetSummaryReportRequest) Validate

func (r GetSummaryReportRequest) Validate() error

Validate validates GetSummaryReportRequest

type GetSummaryReportResponse

type GetSummaryReportResponse struct {
	ReportID    int         `json:"reportId"`
	Name        string      `json:"name"`
	Description string      `json:"description"`
	Start       string      `json:"start"`
	End         string      `json:"end"`
	Data        DataSummary `json:"data"`
	Unavailable *bool       `json:"unavailable"`
}

GetSummaryReportResponse represents a response object returned by GetSummaryReport

type Init

type Init []InitObject

Init represents Init list

type InitObject

type InitObject struct {
	StartDateTime     string  `json:"startDateTime"`
	EdgeWorkerVersion string  `json:"edgeWorkerVersion"`
	InitDuration      Summary `json:"initDuration"`
	Invocations       int     `json:"invocations"`
}

InitObject represents object structure for Init field

type Item

type Item string

Item represents a single item

type ItemNetwork

type ItemNetwork string

ItemNetwork represents available item network types

const (
	// ItemStagingNetwork is the staging network
	ItemStagingNetwork ItemNetwork = "staging"

	// ItemProductionNetwork is the staging network
	ItemProductionNetwork ItemNetwork = "production"
)

type ItemsRequestParams

type ItemsRequestParams struct {
	Network     ItemNetwork
	NamespaceID string
	GroupID     string
}

ItemsRequestParams represents the params used to list items

func (ItemsRequestParams) Validate

func (r ItemsRequestParams) Validate() error

Validate validates ItemsRequestParams

type ListActivationsRequest

type ListActivationsRequest struct {
	EdgeWorkerID int
	Version      string
}

ListActivationsRequest contains parameters used to list activations

func (ListActivationsRequest) Validate

func (r ListActivationsRequest) Validate() error

Validate validates ListActivationsRequest

type ListActivationsResponse

type ListActivationsResponse struct {
	Activations []Activation `json:"activations"`
}

ListActivationsResponse represents a response object returned when listing activations

type ListContractsResponse

type ListContractsResponse struct {
	ContractIDs []string `json:"contractIds"`
}

ListContractsResponse represents a response object returned by ListContracts

type ListDeactivationsRequest

type ListDeactivationsRequest struct {
	EdgeWorkerID int
	Version      string
}

ListDeactivationsRequest describes the parameters for the list deactivations request

func (*ListDeactivationsRequest) Validate

func (r *ListDeactivationsRequest) Validate() error

Validate validates ListDeactivationsRequest

type ListDeactivationsResponse

type ListDeactivationsResponse struct {
	Deactivations []Deactivation `json:"deactivations"`
}

ListDeactivationsResponse describes the list deactivations response

type ListEdgeKVAccessTokensRequest

type ListEdgeKVAccessTokensRequest struct {
	IncludeExpired bool
}

ListEdgeKVAccessTokensRequest contains request parameters for ListEdgeKVAccessTokens

type ListEdgeKVAccessTokensResponse

type ListEdgeKVAccessTokensResponse struct {
	Tokens []EdgeKVAccessToken `json:"tokens"`
}

ListEdgeKVAccessTokensResponse contains list of EdgeKV access tokens

type ListEdgeKVNamespacesRequest

type ListEdgeKVNamespacesRequest struct {
	Network NamespaceNetwork
	Details bool
}

ListEdgeKVNamespacesRequest contains path parameters used to list namespaces

func (ListEdgeKVNamespacesRequest) Validate

func (r ListEdgeKVNamespacesRequest) Validate() error

Validate validates ListEdgeKVNamespacesRequest

type ListEdgeKVNamespacesResponse

type ListEdgeKVNamespacesResponse struct {
	Namespaces []Namespace `json:"namespaces"`
}

ListEdgeKVNamespacesResponse represents a response object returned when listing namespaces

type ListEdgeWorkerVersionsRequest

type ListEdgeWorkerVersionsRequest struct {
	EdgeWorkerID int
}

ListEdgeWorkerVersionsRequest contains query parameters used to list EdgeWorkerVersions

func (ListEdgeWorkerVersionsRequest) Validate

func (g ListEdgeWorkerVersionsRequest) Validate() error

Validate validates ListEdgeWorkerVersionsRequest

type ListEdgeWorkerVersionsResponse

type ListEdgeWorkerVersionsResponse struct {
	EdgeWorkerVersions []EdgeWorkerVersion `json:"versions"`
}

ListEdgeWorkerVersionsResponse represents a response object returned by ListEdgeWorkerVersions

type ListEdgeWorkersIDRequest

type ListEdgeWorkersIDRequest struct {
	GroupID        int
	ResourceTierID int
}

ListEdgeWorkersIDRequest contains query parameters used to list EdgeWorkerIDs

type ListEdgeWorkersIDResponse

type ListEdgeWorkersIDResponse struct {
	EdgeWorkers []EdgeWorkerID `json:"edgeWorkerIds"`
}

ListEdgeWorkersIDResponse represents a response object returned by ListEdgeWorkersID

type ListItemsRequest

type ListItemsRequest struct {
	ItemsRequestParams
}

ListItemsRequest represents the request params used to list items

func (ListItemsRequest) Validate

func (r ListItemsRequest) Validate() error

Validate validates ListItemsRequest

type ListItemsResponse

type ListItemsResponse []string

ListItemsResponse represents the response from list items

type ListPermissionGroupsResponse

type ListPermissionGroupsResponse struct {
	PermissionGroups []PermissionGroup `json:"groups"`
}

ListPermissionGroupsResponse represents a response object returned by ListPermissionGroups

type ListPropertiesRequest

type ListPropertiesRequest struct {
	EdgeWorkerID int
	ActiveOnly   bool
}

ListPropertiesRequest contains parameters used to list properties

func (ListPropertiesRequest) Validate

func (r ListPropertiesRequest) Validate() error

Validate validates ListPropertiesRequest

type ListPropertiesResponse

type ListPropertiesResponse struct {
	Properties                []Property `json:"properties"`
	LimitedAccessToProperties bool       `json:"limitedAccessToProperties"`
}

ListPropertiesResponse represents a response object returned by ListPropertiesRequest

type ListReportsResponse

type ListReportsResponse struct {
	Reports []ReportResponse `json:"reports"`
}

ListReportsResponse represents list of report types

type ListResourceTiersRequest

type ListResourceTiersRequest struct {
	ContractID string
}

ListResourceTiersRequest contains parameters used to list resource tiers

func (ListResourceTiersRequest) Validate

func (r ListResourceTiersRequest) Validate() error

Validate validates ListResourceTiersRequest

type ListResourceTiersResponse

type ListResourceTiersResponse struct {
	ResourceTiers []ResourceTier `json:"resourceTiers"`
}

ListResourceTiersResponse represents a response object returned by ListResourceTiers

type Mock

type Mock struct {
	mock.Mock
}

func (*Mock) ActivateVersion

func (m *Mock) ActivateVersion(ctx context.Context, req ActivateVersionRequest) (*Activation, error)

func (*Mock) CancelPendingActivation

func (m *Mock) CancelPendingActivation(ctx context.Context, req CancelActivationRequest) (*Activation, error)

func (*Mock) CloneEdgeWorkerID

func (m *Mock) CloneEdgeWorkerID(ctx context.Context, req CloneEdgeWorkerIDRequest) (*EdgeWorkerID, error)

func (*Mock) CreateEdgeKVNamespace

func (m *Mock) CreateEdgeKVNamespace(ctx context.Context, req CreateEdgeKVNamespaceRequest) (*Namespace, error)

func (*Mock) CreateEdgeWorkerID

func (m *Mock) CreateEdgeWorkerID(ctx context.Context, req CreateEdgeWorkerIDRequest) (*EdgeWorkerID, error)

func (*Mock) CreateEdgeWorkerVersion

func (m *Mock) CreateEdgeWorkerVersion(ctx context.Context, req CreateEdgeWorkerVersionRequest) (*EdgeWorkerVersion, error)

func (*Mock) CreateSecureToken

func (m *Mock) CreateSecureToken(ctx context.Context, req CreateSecureTokenRequest) (*CreateSecureTokenResponse, error)

func (*Mock) DeactivateVersion

func (m *Mock) DeactivateVersion(ctx context.Context, req DeactivateVersionRequest) (*Deactivation, error)

func (*Mock) DeleteEdgeWorkerID

func (m *Mock) DeleteEdgeWorkerID(ctx context.Context, req DeleteEdgeWorkerIDRequest) error

func (*Mock) DeleteEdgeWorkerVersion

func (m *Mock) DeleteEdgeWorkerVersion(ctx context.Context, req DeleteEdgeWorkerVersionRequest) error

func (*Mock) DeleteItem

func (m *Mock) DeleteItem(ctx context.Context, req DeleteItemRequest) (*string, error)

func (*Mock) GetActivation

func (m *Mock) GetActivation(ctx context.Context, req GetActivationRequest) (*Activation, error)

func (*Mock) GetDeactivation

func (m *Mock) GetDeactivation(ctx context.Context, req GetDeactivationRequest) (*Deactivation, error)

func (*Mock) GetEdgeKVAccessToken

func (m *Mock) GetEdgeKVAccessToken(ctx context.Context, req GetEdgeKVAccessTokenRequest) (*GetEdgeKVAccessTokenResponse, error)

func (*Mock) GetEdgeKVInitializationStatus

func (m *Mock) GetEdgeKVInitializationStatus(ctx context.Context) (*EdgeKVInitializationStatus, error)

func (*Mock) GetEdgeKVNamespace

func (m *Mock) GetEdgeKVNamespace(ctx context.Context, req GetEdgeKVNamespaceRequest) (*Namespace, error)

func (*Mock) GetEdgeWorkerID

func (m *Mock) GetEdgeWorkerID(ctx context.Context, req GetEdgeWorkerIDRequest) (*EdgeWorkerID, error)

func (*Mock) GetEdgeWorkerVersion

func (m *Mock) GetEdgeWorkerVersion(ctx context.Context, req GetEdgeWorkerVersionRequest) (*EdgeWorkerVersion, error)

func (*Mock) GetEdgeWorkerVersionContent

func (m *Mock) GetEdgeWorkerVersionContent(ctx context.Context, req GetEdgeWorkerVersionContentRequest) (*Bundle, error)

func (*Mock) GetItem

func (m *Mock) GetItem(ctx context.Context, req GetItemRequest) (*Item, error)

func (*Mock) GetPermissionGroup

func (m *Mock) GetPermissionGroup(ctx context.Context, req GetPermissionGroupRequest) (*PermissionGroup, error)

func (*Mock) GetReport

func (m *Mock) GetReport(ctx context.Context, req GetReportRequest) (*GetReportResponse, error)

func (*Mock) GetResourceTier

func (m *Mock) GetResourceTier(ctx context.Context, req GetResourceTierRequest) (*ResourceTier, error)

func (*Mock) GetSummaryReport

func (m *Mock) GetSummaryReport(ctx context.Context, req GetSummaryReportRequest) (*GetSummaryReportResponse, error)

func (*Mock) InitializeEdgeKV

func (m *Mock) InitializeEdgeKV(ctx context.Context) (*EdgeKVInitializationStatus, error)

func (*Mock) ListActivations

func (m *Mock) ListActivations(ctx context.Context, req ListActivationsRequest) (*ListActivationsResponse, error)

func (*Mock) ListContracts

func (m *Mock) ListContracts(ctx context.Context) (*ListContractsResponse, error)

func (*Mock) ListDeactivations

func (m *Mock) ListDeactivations(ctx context.Context, req ListDeactivationsRequest) (*ListDeactivationsResponse, error)

func (*Mock) ListEdgeKVNamespaces

func (m *Mock) ListEdgeKVNamespaces(ctx context.Context, req ListEdgeKVNamespacesRequest) (*ListEdgeKVNamespacesResponse, error)

func (*Mock) ListEdgeWorkersID

func (m *Mock) ListEdgeWorkersID(ctx context.Context, req ListEdgeWorkersIDRequest) (*ListEdgeWorkersIDResponse, error)

func (*Mock) ListItems

func (m *Mock) ListItems(ctx context.Context, req ListItemsRequest) (*ListItemsResponse, error)

func (*Mock) ListPermissionGroups

func (m *Mock) ListPermissionGroups(ctx context.Context) (*ListPermissionGroupsResponse, error)

func (*Mock) ListProperties

func (m *Mock) ListProperties(ctx context.Context, req ListPropertiesRequest) (*ListPropertiesResponse, error)

func (*Mock) ListReports

func (m *Mock) ListReports(ctx context.Context) (*ListReportsResponse, error)

func (*Mock) ListResourceTiers

func (m *Mock) ListResourceTiers(ctx context.Context, req ListResourceTiersRequest) (*ListResourceTiersResponse, error)

func (*Mock) UpdateEdgeKVNamespace

func (m *Mock) UpdateEdgeKVNamespace(ctx context.Context, req UpdateEdgeKVNamespaceRequest) (*Namespace, error)

func (*Mock) UpdateEdgeWorkerID

func (m *Mock) UpdateEdgeWorkerID(ctx context.Context, req UpdateEdgeWorkerIDRequest) (*EdgeWorkerID, error)

func (*Mock) UpsertItem

func (m *Mock) UpsertItem(ctx context.Context, req UpsertItemRequest) (*string, error)

func (*Mock) ValidateBundle

func (m *Mock) ValidateBundle(ctx context.Context, req ValidateBundleRequest) (*ValidateBundleResponse, error)

type Namespace

type Namespace struct {
	Name        string `json:"namespace"`
	GeoLocation string `json:"geoLocation,omitempty"`
	Retention   *int   `json:"retentionInSeconds,omitempty"`
	GroupID     *int   `json:"groupId,omitempty"`
}

Namespace represents a namespace object and a request body used to create a namespace

type NamespaceNetwork

type NamespaceNetwork string

NamespaceNetwork represents available namespace network types

const (
	// NamespaceStagingNetwork is the staging network
	NamespaceStagingNetwork NamespaceNetwork = "staging"
	// NamespaceProductionNetwork is the production network
	NamespaceProductionNetwork NamespaceNetwork = "production"
)

type NamespacePermissions

type NamespacePermissions map[string][]Permission

NamespacePermissions represents mapping between namespaces and permissions

type OnClientRequest

type OnClientRequest []OnRequestAndResponse

OnClientRequest represents OnClientRequest list

type OnClientResponse

type OnClientResponse []OnRequestAndResponse

OnClientResponse represents OnClientResponse list

type OnOriginRequest

type OnOriginRequest []OnRequestAndResponse

OnOriginRequest represents OnOriginRequest list

type OnOriginResponse

type OnOriginResponse []OnRequestAndResponse

OnOriginResponse represents OnOriginResponse list

type OnRequestAndResponse

type OnRequestAndResponse struct {
	Status            *string  `json:"status"`
	StartDateTime     string   `json:"startDateTime"`
	EdgeWorkerVersion string   `json:"edgeWorkerVersion"`
	ExecDuration      *Summary `json:"execDuration"`
	Invocations       int      `json:"invocations"`
	Memory            *Summary `json:"memory"`
}

OnRequestAndResponse represents object structure for OnClientRequest, OnOriginRequest, OnOriginResponse, OnClientResponse, ResponseProvider fields

type Option

type Option func(*edgeworkers)

Option defines an Edgeworkers option

type Permission

type Permission string

Permission has possible values: `r` for read access, `w` for write access, `d` for delete access

const (
	// PermissionRead represents read permission
	PermissionRead Permission = "r"
	// PermissionWrite represents write permission
	PermissionWrite Permission = "w"
	// PermissionDelete represents delete permission
	PermissionDelete Permission = "d"
)

type PermissionGroup

type PermissionGroup struct {
	ID           int64    `json:"groupId"`
	Name         string   `json:"groupName"`
	Capabilities []string `json:"capabilities"`
}

PermissionGroup represents a single permission group object

type PermissionGroups

type PermissionGroups interface {
	// GetPermissionGroup gets details on the capabilities enabled within a specified group
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/groupsgroupid#get-group
	GetPermissionGroup(context.Context, GetPermissionGroupRequest) (*PermissionGroup, error)

	// ListPermissionGroups lists groups and the associated permission capabilities
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/groups#get-groups
	ListPermissionGroups(context.Context) (*ListPermissionGroupsResponse, error)
}

PermissionGroups is an edgeworkers permission groups API interface

type Permissions

type Permissions []Permission

Permissions represents set of permissions for namespace

type Properties

type Properties interface {
	// ListProperties lists all properties for a given edgeworker ID
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/properties#get-properties
	ListProperties(context.Context, ListPropertiesRequest) (*ListPropertiesResponse, error)
}

Properties is an edgeworkers properties API interface

type Property

type Property struct {
	ID                int64  `json:"propertyId"`
	Name              string `json:"propertyName"`
	StagingVersion    int    `json:"stagingVersion"`
	ProductionVersion int    `json:"productionVersion"`
	LatestVersion     int    `json:"latestVersion"`
}

Property represents a single property object

type ReportData

type ReportData struct {
	EdgeWorkerID int  `json:"edgeWorkerId"`
	Data         Data `json:"data"`
}

ReportData represents report data

type ReportResponse

type ReportResponse struct {
	ReportID    int    `json:"reportId"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Unavailable bool   `json:"unavailable"`
}

ReportResponse represents report type object

type Reports

type Reports interface {
	// GetSummaryReport gets summary overview for EdgeWorker reports. Report id is  1
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/reportsreportid#get-report
	GetSummaryReport(context.Context, GetSummaryReportRequest) (*GetSummaryReportResponse, error)

	// GetReport gets details for an EdgeWorker
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/reportsreportid#get-report
	GetReport(context.Context, GetReportRequest) (*GetReportResponse, error)

	// ListReports lists EdgeWorker reports
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/reports
	ListReports(context.Context) (*ListReportsResponse, error)
}

Reports is an edgeworkers reports API interface

type ResourceTier

type ResourceTier struct {
	ID               int               `json:"resourceTierId"`
	Name             string            `json:"resourceTierName"`
	EdgeWorkerLimits []EdgeWorkerLimit `json:"edgeWorkerLimits"`
}

ResourceTier represents a single resource tier object

type ResourceTiers

type ResourceTiers interface {
	// ListResourceTiers lists all resource tiers for a given contract
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/resource-tiers-1#get-resource-tiers
	ListResourceTiers(context.Context, ListResourceTiersRequest) (*ListResourceTiersResponse, error)

	// GetResourceTier returns resource tier for a given edgeworker ID
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/edgeworkers#get-id-resource-tier
	GetResourceTier(context.Context, GetResourceTierRequest) (*ResourceTier, error)
}

ResourceTiers is an edgeworkers resource tiers API interface

type ResponseProvider

type ResponseProvider []OnRequestAndResponse

ResponseProvider represents ResponseProvider list

type SecureTokens

type SecureTokens interface {
	// CreateSecureToken creates a new secure token
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/secure-token
	CreateSecureToken(context.Context, CreateSecureTokenRequest) (*CreateSecureTokenResponse, error)
}

SecureTokens is EdgeWorker Secure Token API interface

type Summary

type Summary struct {
	Avg float64 `json:"avg"`
	Min float64 `json:"min"`
	Max float64 `json:"max"`
}

Summary represents data object for memory usage, initialization duration and execution duration

type Total

type Total struct {
	Total int `json:"total"`
}

Total describes total count for Successes, Invocations, Errors

type UpdateEdgeKVNamespaceRequest

type UpdateEdgeKVNamespaceRequest struct {
	Network NamespaceNetwork
	UpdateNamespace
}

UpdateEdgeKVNamespaceRequest contains path parameters and request body used to update a namespace

func (UpdateEdgeKVNamespaceRequest) Validate

func (r UpdateEdgeKVNamespaceRequest) Validate() error

Validate validates UpdateEdgeKVNamespaceRequest

type UpdateEdgeWorkerIDRequest

type UpdateEdgeWorkerIDRequest struct {
	EdgeWorkerIDBodyRequest
	EdgeWorkerID int
}

UpdateEdgeWorkerIDRequest contains body and path parameters used to update EdgeWorkerID

func (UpdateEdgeWorkerIDRequest) Validate

func (c UpdateEdgeWorkerIDRequest) Validate() error

Validate validates CreateEdgeWorkerIDRequest

type UpdateNamespace

type UpdateNamespace struct {
	Name      string `json:"namespace"`
	Retention *int   `json:"retentionInSeconds"`
	GroupID   *int   `json:"groupId"`
}

UpdateNamespace represents a request body used to update a namespace

type UpsertItemRequest

type UpsertItemRequest struct {
	ItemID   string
	ItemData Item
	ItemsRequestParams
}

UpsertItemRequest represents the request params and body used to create or update an item

func (UpsertItemRequest) Validate

func (r UpsertItemRequest) Validate() error

Validate validates UpsertItemRequest

type ValidateBundleRequest

type ValidateBundleRequest struct {
	Bundle
}

ValidateBundleRequest contains request bundle parameter to validate

func (ValidateBundleRequest) Validate

func (r ValidateBundleRequest) Validate() error

Validate validates ValidateBundleRequest

type ValidateBundleResponse

type ValidateBundleResponse struct {
	Errors   []ValidationIssue `json:"errors"`
	Warnings []ValidationIssue `json:"warnings"`
}

ValidateBundleResponse represents a response object returned by ValidateBundle

type ValidationIssue

type ValidationIssue struct {
	Type    string `json:"type"`
	Message string `json:"message"`
}

ValidationIssue represents a single error or warning

type Validations

type Validations interface {
	// ValidateBundle given bundle validates it and returns a list of errors and/or warnings
	//
	// See: https://techdocs.akamai.com/edgeworkers/reference/validations#post-validations
	ValidateBundle(context.Context, ValidateBundleRequest) (*ValidateBundleResponse, error)
}

Validations is an edgeworkers validations API interface

Jump to

Keyboard shortcuts

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