diff --git a/storage.go b/storage.go index fca7a5b..0d2f6bb 100644 --- a/storage.go +++ b/storage.go @@ -107,6 +107,11 @@ func (s *Storage) downloadURL(ctx context.Context, content, filename, url string return NewTask(upid, s.client), nil } +func (s *Storage) GetContent(ctx context.Context) (content *StorageContent, err error) { + err = s.client.Get(ctx, fmt.Sprintf("/nodes/%s/storage/%s/content", s.Node, s.Name), &content) + return content, err +} + func (s *Storage) ISO(ctx context.Context, name string) (iso *ISO, err error) { err = s.client.Get(ctx, fmt.Sprintf("/nodes/%s/storage/%s/content/%s:%s/%s", s.Node, s.Name, s.Name, "iso", name), &iso) if err != nil { diff --git a/types.go b/types.go index 7bacc8c..d57b896 100644 --- a/types.go +++ b/types.go @@ -1145,3 +1145,17 @@ type StorageDownloadURLOptions struct { Compression string `json:"compression,omitempty"` VerifyCertificates IntOrBool `json:"verify-certificates,omitempty"` } + +type StorageContent struct { + Format string `json:"format,omitempty"` + Size uint64 `json:"size,omitempty"` + Volid string `json:"volid,omitempty"` + Ctime uint64 `json:"ctime,omitempty"` + Encryption string `json:"encryption,omitempty"` + Notes string `json:"notes,omitempty"` + Parent string `json:"parent,omitempty"` + Protection bool `json:"protection,omitempty"` + Used uint64 `json:"used,omitempty"` + Verification string `json:"verification,omitempty"` + VMID uint64 `json:"vmid,omitempty"` +}