// addRawDisk adds storage in form of a raw disk to a server // @client: authenticated CLCv2 client // @servname: server name // @diskGB: amount of storage in GB to add to @servname func addRawDisk(client *clcv2.CLIClient, servname string, diskGB uint32) (statusId string) { /* First get the list of disks */ server, err := client.GetServer(servname) if err != nil { exit.Fatalf("failed to list details of server %q: %s", servname, err) } disks := make([]clcv2.ServerAdditionalDisk, len(server.Details.Disks)) for i := range server.Details.Disks { disks[i] = clcv2.ServerAdditionalDisk{ Id: server.Details.Disks[i].Id, SizeGB: server.Details.Disks[i].SizeGB, } } statusId, err = client.ServerSetDisks(servname, append(disks, clcv2.ServerAdditionalDisk{ SizeGB: diskGB, Type: "raw", })) if err != nil { exit.Fatalf("failed to update the disk configuration on %q: %s", servname, err) } return statusId }