Documentation ¶
Overview ¶
Package hapi provides access to the Akamai Edge Hostnames APIs
See: https://techdocs.akamai.com/edge-hostnames/reference/api
Index ¶
- Variables
- type ChangeRequest
- type ChinaCDN
- type ClientFunc
- type DeleteEdgeHostnameRequest
- type DeleteEdgeHostnameResponse
- type EdgeHostname
- type Error
- type ErrorItem
- type GetCertificateRequest
- type GetCertificateResponse
- type GetChangeRequest
- type GetEdgeHostnameResponse
- type HAPI
- type Mock
- func (m *Mock) DeleteEdgeHostname(ctx context.Context, request DeleteEdgeHostnameRequest) (*DeleteEdgeHostnameResponse, error)
- func (m *Mock) GetCertificate(ctx context.Context, req GetCertificateRequest) (*GetCertificateResponse, error)
- func (m *Mock) GetChangeRequest(ctx context.Context, req GetChangeRequest) (*ChangeRequest, error)
- func (m *Mock) GetEdgeHostname(ctx context.Context, id int) (*GetEdgeHostnameResponse, error)
- func (m *Mock) UpdateEdgeHostname(ctx context.Context, request UpdateEdgeHostnameRequest) (*UpdateEdgeHostnameResponse, error)
- type Option
- type UpdateEdgeHostnameRequest
- type UpdateEdgeHostnameRequestBody
- type UpdateEdgeHostnameResponse
- type UseCase
Constants ¶
This section is empty.
Variables ¶
var ( // ErrDeleteEdgeHostname represents error when deleting edge hostname fails ErrDeleteEdgeHostname = errors.New("delete edge hostname") // ErrGetEdgeHostname represents error when getting edge hostname fails ErrGetEdgeHostname = errors.New("get edge hostname") // ErrUpdateEdgeHostname represents error when updating edge hostname fails ErrUpdateEdgeHostname = errors.New("update edge hostname") // ErrGetCertificate represents error when getting edge hostname certificate fails ErrGetCertificate = errors.New("get edge hostname certificate") // ErrNotFound represents error when getting edge hostname fails ErrNotFound = errors.New("not found") )
var ErrGetChangeRequest = errors.New("get change request")
ErrGetChangeRequest returned when get change request fails
var ( // ErrStructValidation is returned when given struct validation failed ErrStructValidation = errors.New("struct validation") )
Functions ¶
This section is empty.
Types ¶
type ChangeRequest ¶
type ChangeRequest struct { Action string `json:"action"` ChangeID int64 `json:"changeId"` Comments string `json:"comments"` EdgeHostnames []EdgeHostname `json:"edgeHostnames"` Status string `json:"status"` StatusMessage string `json:"statusMessage"` StatusUpdateEmail string `json:"statusUpdateEmail"` StatusUpdateDate string `json:"statusUpdateDate"` SubmitDate string `json:"submitDate"` Submitter string `json:"submitter"` SubmitterEmail string `json:"submitterEmail"` }
ChangeRequest represents change response from api
type ChinaCDN ¶
type ChinaCDN struct { IsChinaCDN bool `json:"isChinaCdn,omitempty"` CustomChinaCDNMap string `json:"customChinaCdnMap,omitempty"` }
ChinaCDN represents China CDN settings of EdgeHostname
type ClientFunc ¶
ClientFunc is a hapi client new method, this can be used for mocking
type DeleteEdgeHostnameRequest ¶
type DeleteEdgeHostnameRequest struct { DNSZone string RecordName string StatusUpdateEmail []string Comments string }
DeleteEdgeHostnameRequest is used to delete edge hostname
func (DeleteEdgeHostnameRequest) Validate ¶
func (r DeleteEdgeHostnameRequest) Validate() error
Validate validates DeleteEdgeHostnameRequest
type DeleteEdgeHostnameResponse ¶
type DeleteEdgeHostnameResponse struct { Action string `json:"action"` ChangeID int `json:"changeId"` Comments string `json:"comments"` Status string `json:"status"` StatusMessage string `json:"statusMessage"` StatusUpdateDate string `json:"statusUpdateDate"` StatusUpdateEmail string `json:"statusUpdateEmail"` SubmitDate string `json:"submitDate"` Submitter string `json:"submitter"` SubmitterEmail string `json:"submitterEmail"` EdgeHostnames []EdgeHostname `json:"edgeHostnames"` }
DeleteEdgeHostnameResponse is a response from deleting edge hostname
type EdgeHostname ¶
type EdgeHostname struct { EdgeHostnameID int `json:"edgeHostnameId,omitempty"` RecordName string `json:"recordName"` DNSZone string `json:"dnsZone"` SecurityType string `json:"securityType"` UseDefaultTTL bool `json:"useDefaultTtl"` UseDefaultMap bool `json:"useDefaultMap"` TTL int `json:"ttl"` Map string `json:"map,omitempty"` SlotNumber int `json:"slotNumber,omitempty"` IPVersionBehavior string `json:"ipVersionBehavior,omitempty"` Comments string `json:"comments,omitempty"` ChinaCDN ChinaCDN `json:"chinaCdn,omitempty"` CustomTarget string `json:"customTarget,omitempty"` IsEdgeIPBindingEnabled bool `json:"isEdgeIPBindingEnabled,omitempty"` MapAlias string `json:"mapAlias,omitempty"` ProductId string `json:"productId,omitempty"` SerialNumber int `json:"serialNumber,omitempty"` UseCases []UseCase `json:"useCases,omitempty"` }
EdgeHostname represents edge hostname part of DeleteEdgeHostnameResponse and UpdateEdgeHostnameResponse
type Error ¶
type Error struct { Type string `json:"type"` Title string `json:"title"` Detail string `json:"detail"` Instance string `json:"instance,omitempty"` RequestInstance string `json:"requestInstance,omitempty"` Method string `json:"method,omitempty"` RequestTime string `json:"requestTime,omitempty"` BehaviorName string `json:"behaviorName,omitempty"` ErrorLocation string `json:"errorLocation,omitempty"` Status int `json:"status,omitempty"` DomainPrefix string `json:"domainPrefix,omitempty"` DomainSuffix string `json:"domainSuffix,omitempty"` Errors []ErrorItem `json:"errors,omitempty"` }
Error is a hapi error interface
type GetCertificateRequest ¶
GetCertificateRequest is used to get certificate associated with edge hostname
func (GetCertificateRequest) Validate ¶
func (r GetCertificateRequest) Validate() error
Validate validates GetCertificateRequest
type GetCertificateResponse ¶
type GetCertificateResponse struct { AvailableDomains []string `json:"availableDomains"` CertificateID string `json:"certificateId"` CertificateType string `json:"certificateType"` CommonName string `json:"commonName"` ExpirationDate time.Time `json:"expirationDate"` SerialNumber string `json:"serialNumber"` SlotNumber int `json:"slotNumber"` Status string `json:"status"` ValidationType string `json:"validationType"` }
GetCertificateResponse represents edge hostname certificate
type GetChangeRequest ¶
type GetChangeRequest struct {
ChangeID int
}
GetChangeRequest is a request struct
type GetEdgeHostnameResponse ¶
type GetEdgeHostnameResponse struct { EdgeHostnameID int `json:"edgeHostnameId"` RecordName string `json:"recordName"` DNSZone string `json:"dnsZone"` SecurityType string `json:"securityType"` UseDefaultTTL bool `json:"useDefaultTtl"` UseDefaultMap bool `json:"useDefaultMap"` IPVersionBehavior string `json:"ipVersionBehavior"` ProductID string `json:"productId"` TTL int `json:"ttl"` Map string `json:"map,omitempty"` SlotNumber int `json:"slotNumber,omitempty"` Comments string `json:"comments"` SerialNumber int `json:"serialNumber,omitempty"` CustomTarget string `json:"customTarget,omitempty"` ChinaCdn ChinaCDN `json:"chinaCdn,omitempty"` IsEdgeIPBindingEnabled bool `json:"isEdgeIPBindingEnabled,omitempty"` MapAlias string `json:"mapAlias"` UseCases []UseCase `json:"useCases"` }
GetEdgeHostnameResponse represents edge hostname
type HAPI ¶
type HAPI interface { // GetChangeRequest request status and details specified by the change ID // that is provided when you make a change request. // // See: https://techdocs.akamai.com/edge-hostnames/reference/get-changeid GetChangeRequest(context.Context, GetChangeRequest) (*ChangeRequest, error) // DeleteEdgeHostname allows deleting a specific edge hostname. // You must have an Admin or Technical role in order to delete an edge hostname. // You can delete any hostname that’s not currently part of an active Property Manager configuration. // // See: https://techdocs.akamai.com/edge-hostnames/reference/delete-edgehostname DeleteEdgeHostname(context.Context, DeleteEdgeHostnameRequest) (*DeleteEdgeHostnameResponse, error) // GetEdgeHostname gets a specific edge hostname's details including its product ID, IP version behavior, // and China CDN or Edge IP Binding status. // // See: https://techdocs.akamai.com/edge-hostnames/reference/get-edgehostnameid GetEdgeHostname(context.Context, int) (*GetEdgeHostnameResponse, error) // UpdateEdgeHostname allows update ttl (path = "/ttl") or IpVersionBehaviour (path = "/ipVersionBehavior") // // See: https://techdocs.akamai.com/edge-hostnames/reference/patch-edgehostnames UpdateEdgeHostname(context.Context, UpdateEdgeHostnameRequest) (*UpdateEdgeHostnameResponse, error) // GetCertificate gets the certificate associated with an enhanced TLS edge hostname // // See: https://techdocs.akamai.com/edge-hostnames/reference/get-edge-hostname-certificate GetCertificate(context.Context, GetCertificateRequest) (*GetCertificateResponse, error) }
HAPI is the hapi api interface
type Mock ¶
func (*Mock) DeleteEdgeHostname ¶
func (m *Mock) DeleteEdgeHostname(ctx context.Context, request DeleteEdgeHostnameRequest) (*DeleteEdgeHostnameResponse, error)
func (*Mock) GetCertificate ¶
func (m *Mock) GetCertificate(ctx context.Context, req GetCertificateRequest) (*GetCertificateResponse, error)
func (*Mock) GetChangeRequest ¶
func (m *Mock) GetChangeRequest(ctx context.Context, req GetChangeRequest) (*ChangeRequest, error)
func (*Mock) GetEdgeHostname ¶
func (*Mock) UpdateEdgeHostname ¶
func (m *Mock) UpdateEdgeHostname(ctx context.Context, request UpdateEdgeHostnameRequest) (*UpdateEdgeHostnameResponse, error)
type UpdateEdgeHostnameRequest ¶
type UpdateEdgeHostnameRequest struct { DNSZone string RecordName string StatusUpdateEmail []string Comments string Body []UpdateEdgeHostnameRequestBody }
UpdateEdgeHostnameRequest is a request used to update edge hostname
func (UpdateEdgeHostnameRequest) Validate ¶
func (r UpdateEdgeHostnameRequest) Validate() error
Validate validates DeleteEdgeHostnameRequest
type UpdateEdgeHostnameRequestBody ¶
type UpdateEdgeHostnameRequestBody struct { Op string `json:"op"` Path string `json:"path"` Value string `json:"value"` }
UpdateEdgeHostnameRequestBody is a request's body used to update edge hostname
func (UpdateEdgeHostnameRequestBody) Validate ¶
func (b UpdateEdgeHostnameRequestBody) Validate() error
Validate validates UpdateEdgeHostnameRequestBody
type UpdateEdgeHostnameResponse ¶
type UpdateEdgeHostnameResponse struct { Action string `json:"action,omitempty"` ChangeID int `json:"changeId,omitempty"` Comments string `json:"comments,omitempty"` Status string `json:"status,omitempty"` StatusMessage string `json:"statusMessage,omitempty"` StatusUpdateDate string `json:"statusUpdateDate,omitempty"` StatusUpdateEmail string `json:"statusUpdateEmail,omitempty"` SubmitDate string `json:"submitDate,omitempty"` Submitter string `json:"submitter,omitempty"` SubmitterEmail string `json:"submitterEmail,omitempty"` EdgeHostnames []EdgeHostname `json:"edgeHostnames,omitempty"` }
UpdateEdgeHostnameResponse is a response from deleting edge hostname