Documentation
¶
Index ¶
- Variables
- func AuthorizationHeader(raw string) string
- func DecodePBSResponse(body io.Reader, out interface{}) error
- func NormalizeAPIToken(raw string) (string, error)
- func SplitAPIToken(raw string) (authID, secret string, err error)
- func TokenID(raw string) string
- type BackupManifest
- type BackupStats
- type BackupType
- type ChunkDigest
- type Client
- type FileInfo
- type SnapshotIdentifier
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidAPIToken = errors.New("invalid PBS API token: expected user@realm!tokenid:secret")
ErrInvalidAPIToken is returned for tokens that cannot be parsed
Functions ¶
func AuthorizationHeader ¶ added in v0.6.0
AuthorizationHeader returns the PBS Authorization header value for a token in any accepted spelling; malformed tokens are passed through so PBS reports the failure
func DecodePBSResponse ¶
DecodePBSResponse helper
func NormalizeAPIToken ¶ added in v0.6.0
NormalizeAPIToken returns the canonical "user@realm!tokenid:secret" form
func SplitAPIToken ¶ added in v0.6.0
SplitAPIToken parses a token in any accepted spelling into its auth id ("user@realm!tokenid") and secret
Types ¶
type BackupManifest ¶
type BackupManifest struct {
BackupType BackupType `json:"backup-type"`
BackupID string `json:"backup-id"`
BackupTime int64 `json:"backup-time"`
Files []FileInfo `json:"files"`
Signature string `json:"signature,omitempty"`
}
BackupManifest represents the PBS V2 manifest (index.json)
type BackupStats ¶
type BackupStats struct {
BytesScanned int64 `json:"bytes_scanned"`
BytesUploaded int64 `json:"bytes_uploaded"`
ChunkCount int `json:"chunk_count"`
DedupRatio float64 `json:"dedup_ratio"`
Duration time.Duration `json:"duration"`
SnapshotID string `json:"snapshot_id"`
}
BackupStats summarizes an executed backup run
type BackupType ¶
type BackupType string
BackupType represents the type of backup in PBS (host, ct, vm)
const ( BackupTypeHost BackupType = "host" BackupTypeCT BackupType = "ct" BackupTypeVM BackupType = "vm" )
type Client ¶
type Client struct {
Endpoint string
APIToken string
TLSVerify bool
Fingerprint string
// contains filtered or unexported fields
}
Client is an HTTP client for Proxmox Backup Server
type FileInfo ¶
type FileInfo struct {
Filename string `json:"filename"` // e.g. "root.pxar.didx" or "catalog.pcat1.didx"
Size int64 `json:"size"`
Csum string `json:"csum"`
}
FileInfo describes an archive or index file inside a snapshot
type SnapshotIdentifier ¶
type SnapshotIdentifier struct {
Datastore string `json:"datastore"`
Namespace string `json:"namespace,omitempty"`
BackupType BackupType `json:"backup_type"`
BackupID string `json:"backup_id"`
BackupTime int64 `json:"backup_time"` // Unix timestamp
}
SnapshotIdentifier uniquely identifies a PBS snapshot
func (SnapshotIdentifier) String ¶
func (s SnapshotIdentifier) String() string