cloudaccess

package
v8.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2024 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Overview

Package cloudaccess provides access to the Akamai Cloud Access Manager API

Index

Constants

View Source
const (
	// ChinaCDN represents CDN value of "CHINA_CDN"
	ChinaCDN CDNType = "CHINA_CDN"
	// RussiaCDN represents CDN value of "RUSSIA_CDN"
	RussiaCDN CDNType = "RUSSIA_CDN"

	// NetworkEnhanced represents Network value of "ENHANCED_TLS"
	NetworkEnhanced NetworkType = "ENHANCED_TLS"
	// NetworkStandard represents Network value of "STANDARD_TLS"
	NetworkStandard NetworkType = "STANDARD_TLS"

	// AuthAWS represents Authentication value of "AWS4_HMAC_SHA256"
	AuthAWS AuthType = "AWS4_HMAC_SHA256"
	// AuthGOOG represents Authentication value of "GOOG4_HMAC_SHA256"
	AuthGOOG AuthType = "GOOG4_HMAC_SHA256"

	// ProcessingInProgress represents ProcessingStatus value of 'IN_PROGRESS'
	ProcessingInProgress ProcessingType = "IN_PROGRESS"
	// ProcessingFailed represents ProcessingStatus value of 'FAILED'
	ProcessingFailed ProcessingType = "FAILED"
	// ProcessingDone represents ProcessingStatus value of 'DONE'
	ProcessingDone ProcessingType = "DONE"
)

Variables

View Source
var (
	// ErrGetAccessKeyStatus is returned when GetAccessKeyStatus fails
	ErrGetAccessKeyStatus = errors.New("get the status of an access key")

	// ErrCreateAccessKey  is returned when CreateAccessKey fails
	ErrCreateAccessKey = errors.New("create an access key")

	// ErrGetAccessKey  is returned when GetAccessKey fails
	ErrGetAccessKey = errors.New("get an access key")

	// ErrUpdateAccessKey  is returned when UpdateAccessKey fails
	ErrUpdateAccessKey = errors.New("update an access key")

	// ErrDeleteAccessKey  is returned when DeleteAccessKey fails
	ErrDeleteAccessKey = errors.New("delete an access key")
)
View Source
var (
	// ErrGetAccessKeyVersionStatus is returned when GetAccessKeyVersionStatus fails
	ErrGetAccessKeyVersionStatus = errors.New("get the status of an access key version")
	// ErrCreateAccessKeyVersion is returned when CreateAccessKeyVersion fails
	ErrCreateAccessKeyVersion = errors.New("create access key version")
	// ErrGetAccessKeyVersion is returned when GetAccessKeyVersion fails
	ErrGetAccessKeyVersion = errors.New("get access key version")
	// ErrListAccessKeyVersions is returned when ListAccessKeyVersions fails
	ErrListAccessKeyVersions = errors.New("list access key versions")
	// ErrDeleteAccessKeyVersion is returned when DeleteAccessKeyVersion fails
	ErrDeleteAccessKeyVersion = errors.New("delete access key version")
)
View Source
var (
	// ErrLookupProperties is returned when LookupProperties fails
	ErrLookupProperties = errors.New("lookup properties")
	// ErrGetAsyncLookupIDProperties is returned when GetAsyncPropertiesLookupID fails
	ErrGetAsyncLookupIDProperties = errors.New("get lookup properties id async")
	// ErrPerformAsyncLookupProperties is returned when PerformAsyncPropertiesLookup fails
	ErrPerformAsyncLookupProperties = errors.New("perform async lookup properties")
)
View Source
var (
	// ErrStructValidation is returned when given struct validation failed
	ErrStructValidation = errors.New("struct validation")
)

Functions

This section is empty.

Types

type AccessKeyRequest

type AccessKeyRequest struct {
	AccessKeyUID int64
}

AccessKeyRequest holds parameters for GetAccessKey, UpdateAccessKey, DeleteAccessKey

func (AccessKeyRequest) Validate

func (r AccessKeyRequest) Validate() error

Validate validates AccessKeyRequest

type AccessKeyResponse

type AccessKeyResponse struct {
	AccessKeyUID         int64          `json:"accessKeyUid"`
	AccessKeyName        string         `json:"accessKeyName"`
	AuthenticationMethod string         `json:"authenticationMethod"`
	NetworkConfiguration *SecureNetwork `json:"networkConfiguration"`
	LatestVersion        int64          `json:"latestVersion"`
	Groups               []Group        `json:"groups"`
	CreatedBy            string         `json:"createdBy"`
	CreatedTime          time.Time      `json:"createdTime"`
}

AccessKeyResponse contains response from ListAccessKeys

type AccessKeyVersion

type AccessKeyVersion struct {
	AccessKeyUID     int64            `json:"accessKeyUid"`
	CloudAccessKeyID *string          `json:"cloudAccessKeyId"`
	CreatedBy        string           `json:"createdBy"`
	CreatedTime      time.Time        `json:"createdTime"`
	DeploymentStatus DeploymentStatus `json:"deploymentStatus"`
	Version          int64            `json:"version"`
	VersionGUID      string           `json:"versionGuid"`
}

AccessKeyVersion holds information about access key version

type AuthType

type AuthType string

AuthType is a type of authentication

type CDNType

type CDNType string

CDNType is a type of additionalCdn

type CloudAccess

type CloudAccess interface {
	// GetAccessKeyStatus gets the current status and other details for a request to create a new access key
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-access-key-create-request
	GetAccessKeyStatus(context.Context, GetAccessKeyStatusRequest) (*GetAccessKeyStatusResponse, error)

	// GetAccessKeyVersionStatus gets the current status and other details for a request to create a new access key version
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-access-key-version-create-request
	GetAccessKeyVersionStatus(context.Context, GetAccessKeyVersionStatusRequest) (*GetAccessKeyVersionStatusResponse, error)

	// CreateAccessKey creates a new access key
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/post-access-key
	CreateAccessKey(context.Context, CreateAccessKeyRequest) (*CreateAccessKeyResponse, error)

	// GetAccessKey returns details for a specific access key
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-access-key
	GetAccessKey(context.Context, AccessKeyRequest) (*GetAccessKeyResponse, error)

	// ListAccessKeys returns detailed information about all access keys available to the current user account
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-access-keys
	ListAccessKeys(context.Context, ListAccessKeysRequest) (*ListAccessKeysResponse, error)

	// UpdateAccessKey updates name of an access key
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/put-access-key
	UpdateAccessKey(context.Context, UpdateAccessKeyRequest, AccessKeyRequest) (*UpdateAccessKeyResponse, error)

	// DeleteAccessKey deletes an access key
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/delete-access-key
	DeleteAccessKey(context.Context, AccessKeyRequest) error

	// CreateAccessKeyVersion rotates an access key to a new version.
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/post-access-key-version
	CreateAccessKeyVersion(context.Context, CreateAccessKeyVersionRequest) (*CreateAccessKeyVersionResponse, error)

	// GetAccessKeyVersion returns detailed information for a specific version of an access key.
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-access-key-version
	GetAccessKeyVersion(context.Context, GetAccessKeyVersionRequest) (*GetAccessKeyVersionResponse, error)

	// ListAccessKeyVersions returns detailed information about all the versions for a specific access key.
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-access-key-versions
	ListAccessKeyVersions(context.Context, ListAccessKeyVersionsRequest) (*ListAccessKeyVersionsResponse, error)

	// DeleteAccessKeyVersion deletes a specific version of an access key.
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/delete-access-key-version
	DeleteAccessKeyVersion(context.Context, DeleteAccessKeyVersionRequest) (*DeleteAccessKeyVersionResponse, error)

	// LookupProperties returns information about all the Property Manager properties that use a specific version of an access key.
	// This operation gets the data directly. To avoid any latency problems, use the GetAsyncPropertiesLookupID and PerformAsyncPropertiesLookup
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-access-key-version-properties
	LookupProperties(ctx context.Context, params LookupPropertiesRequest) (*LookupPropertiesResponse, error)

	// GetAsyncPropertiesLookupID gets the unique identifier used to perform an PerformAsyncPropertiesLookup
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-async-version-property-lookup
	GetAsyncPropertiesLookupID(ctx context.Context, params GetAsyncPropertiesLookupIDRequest) (*GetAsyncPropertiesLookupIDResponse, error)

	// PerformAsyncPropertiesLookup returns in asynchronous way information about all the Property Manager properties that use a specific version of an access key.
	//
	// See: https://techdocs.akamai.com/cloud-access-mgr/reference/get-property-lookup
	PerformAsyncPropertiesLookup(ctx context.Context, params PerformAsyncPropertiesLookupRequest) (*PerformAsyncPropertiesLookupResponse, error)
}

CloudAccess is the API interface for Cloud Access Manager

func Client

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

Client returns a new cloudaccess Client instance with the specified controller

type CreateAccessKeyRequest

type CreateAccessKeyRequest struct {
	AccessKeyName        string        `json:"accessKeyName"`
	AuthenticationMethod string        `json:"authenticationMethod"`
	ContractID           string        `json:"contractId"`
	Credentials          Credentials   `json:"credentials"`
	GroupID              int64         `json:"groupId"`
	NetworkConfiguration SecureNetwork `json:"networkConfiguration"`
}

CreateAccessKeyRequest holds request body for CreateAccessKey

func (CreateAccessKeyRequest) Validate

func (r CreateAccessKeyRequest) Validate() error

Validate validates CreateAccessKeyRequest

type CreateAccessKeyResponse

type CreateAccessKeyResponse struct {
	RequestID  int64 `json:"requestId,omitempty"`
	RetryAfter int64 `json:"retryAfter,omitempty"`
	Location   string
}

CreateAccessKeyResponse contains response from CreateAccessKey

type CreateAccessKeyVersionBodyParams

type CreateAccessKeyVersionBodyParams struct {
	CloudAccessKeyID     string `json:"cloudAccessKeyId"`
	CloudSecretAccessKey string `json:"cloudSecretAccessKey"`
}

CreateAccessKeyVersionBodyParams holds body parameters for CreateAccessKeyVersion

func (CreateAccessKeyVersionBodyParams) Validate

Validate validates CreateAccessKeyVersionBodyParams

type CreateAccessKeyVersionRequest

type CreateAccessKeyVersionRequest struct {
	AccessKeyUID int64
	BodyParams   CreateAccessKeyVersionBodyParams
}

CreateAccessKeyVersionRequest holds parameters for CreateAccessKeyVersion

func (CreateAccessKeyVersionRequest) Validate

func (r CreateAccessKeyVersionRequest) Validate() error

Validate validates CreateAccessKeyVersionRequest

type CreateAccessKeyVersionResponse

type CreateAccessKeyVersionResponse struct {
	RequestID  int64 `json:"requestId"`
	RetryAfter int64 `json:"retryAfter"`
}

CreateAccessKeyVersionResponse contains response from CreateAccessKeyVersion

type Credentials

type Credentials struct {
	CloudAccessKeyID     string `json:"cloudAccessKeyId"`
	CloudSecretAccessKey string `json:"cloudSecretAccessKey"`
}

Credentials holds information used to sign API requests

type DeleteAccessKeyVersionRequest

type DeleteAccessKeyVersionRequest struct {
	Version      int64
	AccessKeyUID int64
}

DeleteAccessKeyVersionRequest hold parameters for DeleteAccessKeyVersion

func (DeleteAccessKeyVersionRequest) Validate

func (r DeleteAccessKeyVersionRequest) Validate() error

Validate validates DeleteAccessKeyVersionRequest

type DeleteAccessKeyVersionResponse

type DeleteAccessKeyVersionResponse AccessKeyVersion

DeleteAccessKeyVersionResponse contains response from DeleteAccessKeyVersion

type DeploymentStatus

type DeploymentStatus string

DeploymentStatus represents deployment information

const (
	// PendingActivation represents pending activation deployment status of access key version
	PendingActivation DeploymentStatus = "PENDING_ACTIVATION"
	// Active represents activated deployment status of access key version
	Active DeploymentStatus = "ACTIVE"
	// PendingDeletion represents pending deletion deployment status of access key version
	PendingDeletion DeploymentStatus = "PENDING_DELETION"
)

type Error

type Error struct {
	Type          string      `json:"type"`
	Title         string      `json:"title"`
	Detail        string      `json:"detail"`
	Instance      string      `json:"instance"`
	Status        int64       `json:"status"`
	AccessKeyUID  int64       `json:"accessKeyUid,omitempty"`
	AccessKeyName string      `json:"accessKeyName,omitempty"`
	ProblemID     string      `json:"problemId,omitempty"`
	Version       int64       `json:"version"`
	Errors        []ErrorItem `json:"errors,omitempty"`
}

Error is a cloudaccess error interface For details on possible error types, refer to: https://techdocs.akamai.com/cloud-access-mgr/reference/errors

func (*Error) Error

func (e *Error) Error() string

func (*Error) Is

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

Is handles error comparisons

type ErrorItem

type ErrorItem struct {
	Detail string `json:"detail"`
	Title  string `json:"title"`
	Type   string `json:"type"`
}

ErrorItem is a cloud access error's item

type GetAccessKeyResponse

type GetAccessKeyResponse AccessKeyResponse

GetAccessKeyResponse contains response from GetAccessKey

type GetAccessKeyStatusRequest

type GetAccessKeyStatusRequest struct {
	RequestID int64
}

GetAccessKeyStatusRequest holds parameters for GetAccessKeyStatus

func (GetAccessKeyStatusRequest) Validate

func (r GetAccessKeyStatusRequest) Validate() error

Validate validates GetAccessKeyStatusRequest

type GetAccessKeyStatusResponse

type GetAccessKeyStatusResponse struct {
	AccessKey        *KeyLink            `json:"accessKey"`
	AccessKeyVersion *KeyVersion         `json:"accessKeyVersion"`
	ProcessingStatus ProcessingType      `json:"processingStatus"`
	Request          *RequestInformation `json:"request"`
	RequestDate      time.Time           `json:"requestDate"`
	RequestID        int64               `json:"requestId"`
	RequestedBy      string              `json:"requestedBy"`
}

GetAccessKeyStatusResponse contains response from GetAccessKeyStatus

type GetAccessKeyVersionRequest

type GetAccessKeyVersionRequest struct {
	Version      int64
	AccessKeyUID int64
}

GetAccessKeyVersionRequest holds parameters for GetAccessKeyVersion

func (GetAccessKeyVersionRequest) Validate

func (r GetAccessKeyVersionRequest) Validate() error

Validate validates GetAccessKeyVersionRequest

type GetAccessKeyVersionResponse

type GetAccessKeyVersionResponse AccessKeyVersion

GetAccessKeyVersionResponse contains response from GetAccessKeyVersion

type GetAccessKeyVersionStatusRequest

type GetAccessKeyVersionStatusRequest struct {
	RequestID int64
}

GetAccessKeyVersionStatusRequest holds parameters for GetAccessKeyVersionStatus

func (GetAccessKeyVersionStatusRequest) Validate

Validate validates GetAccessKeyVersionStatusRequest

type GetAccessKeyVersionStatusResponse

type GetAccessKeyVersionStatusResponse struct {
	AccessKeyVersion *KeyVersion    `json:"accessKeyVersion"`
	ProcessingStatus ProcessingType `json:"processingStatus"`
	RequestDate      time.Time      `json:"requestDate"`
	RequestedBy      string         `json:"requestedBy"`
}

GetAccessKeyVersionStatusResponse contains response from GetAccessKeyVersionStatus

type GetAsyncPropertiesLookupIDRequest

type GetAsyncPropertiesLookupIDRequest struct {
	AccessKeyUID int64
	Version      int64
}

GetAsyncPropertiesLookupIDRequest holds parameters for GetAsyncPropertiesLookupID

func (GetAsyncPropertiesLookupIDRequest) Validate

func (r GetAsyncPropertiesLookupIDRequest) Validate() interface{}

Validate validates GetAsyncPropertiesLookupIDRequest

type GetAsyncPropertiesLookupIDResponse

type GetAsyncPropertiesLookupIDResponse struct {
	LookupID   int64 `json:"lookupId"`
	RetryAfter int64 `json:"retryAfter"`
}

GetAsyncPropertiesLookupIDResponse contains response for GetAsyncPropertiesLookupID

type Group

type Group struct {
	ContractIDs []string `json:"contractIds"`
	GroupID     int64    `json:"groupId"`
	GroupName   *string  `json:"groupName"`
}

Group is an object to which the access key is assigned

type KeyLink struct {
	AccessKeyUID int64  `json:"accessKeyUid"`
	Link         string `json:"link"`
}

KeyLink contains hypermedia link for the key

type KeyVersion

type KeyVersion struct {
	AccessKeyUID int64  `json:"accessKeyUid"`
	Link         string `json:"link"`
	Version      int64  `json:"version"`
}

KeyVersion holds details for a version of an access key

type ListAccessKeyVersionsRequest

type ListAccessKeyVersionsRequest struct {
	AccessKeyUID int64
}

ListAccessKeyVersionsRequest holds parameters for ListAccessKeyVersion

func (ListAccessKeyVersionsRequest) Validate

func (r ListAccessKeyVersionsRequest) Validate() error

Validate validates ListAccessKeyVersionsRequest

type ListAccessKeyVersionsResponse

type ListAccessKeyVersionsResponse struct {
	AccessKeyVersions []AccessKeyVersion `json:"accessKeyVersions"`
}

ListAccessKeyVersionsResponse contains response from ListAccessKeyVersions

type ListAccessKeysRequest

type ListAccessKeysRequest struct {
	VersionGUID string
}

ListAccessKeysRequest holds parameters for GetAccessKeys

type ListAccessKeysResponse

type ListAccessKeysResponse struct {
	AccessKeys []AccessKeyResponse `json:"accessKeys"`
}

ListAccessKeysResponse contains array of GetAccessKeyResponse

type LookupPropertiesRequest

type LookupPropertiesRequest struct {
	AccessKeyUID int64
	Version      int64
}

LookupPropertiesRequest holds parameters for LookupProperties

func (LookupPropertiesRequest) Validate

func (r LookupPropertiesRequest) Validate() error

Validate validates LookupPropertiesRequest

type LookupPropertiesResponse

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

LookupPropertiesResponse contains response for LookupProperties

type LookupStatus

type LookupStatus string

LookupStatus represents a lookup status

const (
	// LookupComplete represents complete asynchronous property lookup status
	LookupComplete LookupStatus = "COMPLETE"
	// LookupError represents error asynchronous property lookup status
	LookupError LookupStatus = "ERROR"
	// LookupInProgress represents in progress asynchronous property lookup status
	LookupInProgress LookupStatus = "IN_PROGRESS"
	// LookupPending represents pending asynchronous property lookup status
	LookupPending LookupStatus = "PENDING"
	// LookupSubmitted represents submitted asynchronous property lookup status
	LookupSubmitted LookupStatus = "SUBMITTED"
)

type Mock

type Mock struct {
	mock.Mock
}

func (*Mock) CreateAccessKey

func (*Mock) DeleteAccessKey

func (m *Mock) DeleteAccessKey(ctx context.Context, r AccessKeyRequest) error

func (*Mock) GetAccessKey

func (m *Mock) GetAccessKey(ctx context.Context, r AccessKeyRequest) (*GetAccessKeyResponse, error)

func (*Mock) GetAccessKeyStatus

func (*Mock) ListAccessKeys

func (m *Mock) ListAccessKeys(ctx context.Context, r ListAccessKeysRequest) (*ListAccessKeysResponse, error)

func (*Mock) LookupProperties

func (*Mock) UpdateAccessKey

func (m *Mock) UpdateAccessKey(ctx context.Context, request UpdateAccessKeyRequest, param AccessKeyRequest) (*UpdateAccessKeyResponse, error)

type NetworkType

type NetworkType string

NetworkType is a type of securityNetwork

type Option

type Option func(*cloudaccess)

Option defines an CloudAccess option

type PerformAsyncPropertiesLookupRequest

type PerformAsyncPropertiesLookupRequest struct {
	LookupID int64
}

PerformAsyncPropertiesLookupRequest holds parameters for PerformAsyncPropertiesLookup

func (PerformAsyncPropertiesLookupRequest) Validate

func (r PerformAsyncPropertiesLookupRequest) Validate() interface{}

Validate validates PerformAsyncPropertiesLookupRequest

type PerformAsyncPropertiesLookupResponse

type PerformAsyncPropertiesLookupResponse struct {
	LookupID     int64        `json:"lookupId"`
	LookupStatus LookupStatus `json:"lookupStatus"`
	Properties   []Property   `json:"properties"`
}

PerformAsyncPropertiesLookupResponse contains response for PerformAsyncPropertiesLookup

type ProcessingType

type ProcessingType string

ProcessingType is a type of ProcessingStatus

type Property

type Property struct {
	AccessKeyUID      int64  `json:"accessKeyUid"`
	Version           int64  `json:"version"`
	PropertyID        string `json:"propertyId"`
	PropertyName      string `json:"propertyName"`
	ProductionVersion *int64 `json:"productionVersion"`
	StagingVersion    *int64 `json:"stagingVersion"`
}

Property holds information about property related to given access key

type RequestInformation

type RequestInformation struct {
	AccessKeyName        string         `json:"accessKeyName"`
	AuthenticationMethod AuthType       `json:"authenticationMethod"`
	ContractID           string         `json:"contractId"`
	GroupID              int64          `json:"groupId"`
	NetworkConfiguration *SecureNetwork `json:"networkConfiguration"`
}

RequestInformation contains information about a request to create an access key

type SecureNetwork

type SecureNetwork struct {
	AdditionalCDN   *CDNType    `json:"additionalCdn,omitempty"`
	SecurityNetwork NetworkType `json:"securityNetwork"`
}

SecureNetwork contains additional information about network

type UpdateAccessKeyRequest

type UpdateAccessKeyRequest struct {
	AccessKeyName string `json:"accessKeyName,omitempty"`
}

UpdateAccessKeyRequest holds request body for UpdateAccessKey

func (UpdateAccessKeyRequest) Validate

func (r UpdateAccessKeyRequest) Validate() error

Validate validates UpdateAccessKeyRequest

type UpdateAccessKeyResponse

type UpdateAccessKeyResponse struct {
	AccessKeyUID  int64  `json:"accessKeyUid"`
	AccessKeyName string `json:"accessKeyName"`
}

UpdateAccessKeyResponse contains response from UpdateAccessKey

Jump to

Keyboard shortcuts

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