/
disk.go
49 lines (43 loc) · 1.41 KB
/
disk.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package abiquo_api
import (
"encoding/json"
)
type DiskCollection struct {
AbstractCollection
Collection []Disk
}
type Disk struct {
DTO
DiskController string `json:"diskController,omitempty"`
DiskControllerType string `json:"diskControllerType,omitempty"`
Bus int `json:"bus,omitempty"`
Unit int `json:"unit,omitempty"`
Id int `json:"id,omitempty"`
Label string `json:"label,omitempty"`
Sequence int `json:"sequence,omitempty"`
SizeInMb int `json:"sizeInMb,omitempty"`
Uuid string `json:"uuid,omitempty"`
Allocation string `json:"allocation,omitempty"`
Path string `json:"path,omitempty"`
DiskFormatType string `json:"diskFormatType,omitempty"`
DiskFileSize int `json:"diskFileSize,omitempty"`
HdRequired int `json:"hdRequired,omitempty"`
State string `json:"state,omitempty"`
CreationDate string `json:"creationDate,omitempty"`
Bootable bool `json:"bootable,omitempty"`
}
func (d *Disk) Update(c *AbiquoClient) error {
disk_lnk, _ := d.GetLink("edit")
body_json, err := json.Marshal(d)
if err != nil {
return err
}
_, err = c.checkResponse(c.client.R().SetHeader("Accept", disk_lnk.Type).
SetHeader("Content-Type", disk_lnk.Type).
SetBody(body_json).
Put(disk_lnk.Href))
if err != nil {
return err
}
return nil
}