serverapi

package
v0.6.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package serverapi contains GO types corresponding to Kopia server API.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConnectToRepository added in v0.6.0

func ConnectToRepository(ctx context.Context, c *apiclient.KopiaAPIClient, req *ConnectRepositoryRequest) error

ConnectToRepository invokes the 'repo/connect' API.

func CreateRepository added in v0.6.0

func CreateRepository(ctx context.Context, c *apiclient.KopiaAPIClient, req *CreateRepositoryRequest) error

CreateRepository invokes the 'repo/create' API.

func DisconnectFromRepository added in v0.6.0

func DisconnectFromRepository(ctx context.Context, c *apiclient.KopiaAPIClient) error

DisconnectFromRepository invokes the 'repo/disconnect' API.

func GetObject added in v0.6.0

func GetObject(ctx context.Context, c *apiclient.KopiaAPIClient, objectID string) ([]byte, error)

GetObject returns the object payload.

func Shutdown added in v0.6.0

func Shutdown(ctx context.Context, c *apiclient.KopiaAPIClient)

Shutdown invokes the 'repo/shutdown' API.

Types

type APIErrorCode added in v0.5.2

type APIErrorCode string

APIErrorCode indicates machine-readable error code returned in API responses.

const (
	ErrorInternal           APIErrorCode = "INTERNAL"
	ErrorAlreadyConnected   APIErrorCode = "ALREADY_CONNECTED"
	ErrorAlreadyInitialized APIErrorCode = "ALREADY_INITIALIZED"
	ErrorInvalidPassword    APIErrorCode = "INVALID_PASSWORD"
	ErrorInvalidToken       APIErrorCode = "INVALID_TOKEN"
	ErrorMalformedRequest   APIErrorCode = "MALFORMED_REQUEST"
	ErrorNotConnected       APIErrorCode = "NOT_CONNECTED"
	ErrorNotFound           APIErrorCode = "NOT_FOUND"
	ErrorNotInitialized     APIErrorCode = "NOT_INITIALIZED"
	ErrorPathNotFound       APIErrorCode = "PATH_NOT_FOUND"
	ErrorStorageConnection  APIErrorCode = "STORAGE_CONNECTION"
)

Supported error codes.

type ConnectRepositoryRequest added in v0.5.2

type ConnectRepositoryRequest struct {
	Storage  blob.ConnectionInfo `json:"storage"`
	Password string              `json:"password"`
	Token    string              `json:"token"` // when set, overrides Storage and Password
}

ConnectRepositoryRequest contains request to connect to a repository.

type CreateRepositoryRequest added in v0.5.2

type CreateRepositoryRequest struct {
	ConnectRepositoryRequest
	NewRepositoryOptions repo.NewRepositoryOptions `json:"options"`
}

CreateRepositoryRequest contains request to create a repository in a given storage

type CreateSnapshotSourceRequest added in v0.5.2

type CreateSnapshotSourceRequest struct {
	Path           string        `json:"path"`
	CreateSnapshot bool          `json:"createSnapshot"`
	InitialPolicy  policy.Policy `json:"initialPolicy"` // policy to set on the source when first created, ignored if already exists
}

CreateSnapshotSourceRequest contains request to create snapshot source and optionally create first snapshot.

type CreateSnapshotSourceResponse added in v0.5.2

type CreateSnapshotSourceResponse struct {
	Created         bool `json:"created"`     // whether the source was created (false==previously existed)
	SnapshotStarted bool `json:"snapshotted"` // whether snapshotting has been started
}

CreateSnapshotSourceResponse contains response of creating snapshot source.

func CreateSnapshotSource added in v0.6.0

CreateSnapshotSource creates snapshot source with a given path.

type Empty

type Empty struct {
}

Empty represents empty request/response.

type ErrorResponse added in v0.5.2

type ErrorResponse struct {
	Code  APIErrorCode `json:"code"`
	Error string       `json:"error"`
}

ErrorResponse represents error response.

type MultipleSourceActionResponse

type MultipleSourceActionResponse struct {
	Sources map[string]SourceActionResponse `json:"sources"`
}

MultipleSourceActionResponse contains per-source responses for all sources targeted by API command.

func CancelUpload added in v0.6.0

CancelUpload cancels snapshot upload on matching snapshots.

func UploadSnapshots added in v0.6.0

UploadSnapshots triggers snapshot upload on matching snapshots.

type PoliciesResponse

type PoliciesResponse struct {
	Policies []*PolicyListEntry `json:"policies"`
}

PoliciesResponse is the response of 'policies' HTTP API command.

func ListPolicies added in v0.6.0

ListPolicies lists the policies managed by the server for a given target filter.

type PolicyListEntry

type PolicyListEntry struct {
	ID     string              `json:"id"`
	Target snapshot.SourceInfo `json:"target"`
	Policy *policy.Policy      `json:"policy"`
}

PolicyListEntry describes single policy.

type Snapshot added in v0.5.2

type Snapshot struct {
	ID               manifest.ID          `json:"id"`
	Source           snapshot.SourceInfo  `json:"source"`
	Description      string               `json:"description"`
	StartTime        time.Time            `json:"startTime"`
	EndTime          time.Time            `json:"endTime"`
	IncompleteReason string               `json:"incomplete,omitempty"`
	Summary          *fs.DirectorySummary `json:"summary"`
	RootEntry        string               `json:"rootID"`
	RetentionReasons []string             `json:"retention"`
}

Snapshot describes single snapshot entry.

type SnapshotsResponse added in v0.5.2

type SnapshotsResponse struct {
	Snapshots []*Snapshot `json:"snapshots"`
}

SnapshotsResponse contains a list of snapshots.

func ListSnapshots added in v0.6.0

ListSnapshots lists the snapshots managed by the server for a given source filter.

type SourceActionResponse

type SourceActionResponse struct {
	Success bool `json:"success"`
}

SourceActionResponse is a per-source response.

type SourceStatus

type SourceStatus struct {
	Source           snapshot.SourceInfo        `json:"source"`
	Status           string                     `json:"status"`
	SchedulingPolicy policy.SchedulingPolicy    `json:"schedule"`
	LastSnapshot     *snapshot.Manifest         `json:"lastSnapshot,omitempty"`
	NextSnapshotTime *time.Time                 `json:"nextSnapshotTime,omitempty"`
	UploadCounters   *snapshotfs.UploadCounters `json:"upload,omitempty"`
}

SourceStatus describes the status of a single source.

type SourcesResponse

type SourcesResponse struct {
	LocalUsername string `json:"localUsername"`
	LocalHost     string `json:"localHost"`

	Sources []*SourceStatus `json:"sources"`
}

SourcesResponse is the response of 'sources' HTTP API command.

func ListSources added in v0.6.0

ListSources lists the snapshot sources managed by the server.

type StatusResponse

type StatusResponse struct {
	Connected   bool   `json:"connected"`
	ConfigFile  string `json:"configFile,omitempty"`
	CacheDir    string `json:"cacheDir,omitempty"`
	Hash        string `json:"hash,omitempty"`
	Encryption  string `json:"encryption,omitempty"`
	Splitter    string `json:"splitter,omitempty"`
	MaxPackSize int    `json:"maxPackSize,omitempty"`
	Storage     string `json:"storage,omitempty"`
}

StatusResponse is the response of 'status' HTTP API command.

func Status added in v0.6.0

Status invokes the 'repo/status' API.

type SupportedAlgorithmsResponse added in v0.5.2

type SupportedAlgorithmsResponse struct {
	DefaultHashAlgorithm       string   `json:"defaultHash"`
	DefaultEncryptionAlgorithm string   `json:"defaultEncryption"`
	DefaultSplitterAlgorithm   string   `json:"defaultSplitter"`
	HashAlgorithms             []string `json:"hash"`
	EncryptionAlgorithms       []string `json:"encryption"`
	SplitterAlgorithms         []string `json:"splitter"`
	CompressionAlgorithms      []string `json:"compression"`
}

SupportedAlgorithmsResponse returns the list of supported algorithms for repository creation.

Jump to

Keyboard shortcuts

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