/
results.go
38 lines (31 loc) · 1.1 KB
/
results.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
package remoteconsoles
import "github.com/gophercloud/gophercloud"
type commonResult struct {
gophercloud.Result
}
// CreateResult represents the result of a create operation. Call its Extract
// method to interpret it as a RemoteConsole.
type CreateResult struct {
commonResult
}
// RemoteConsole represents the Compute service remote console object.
type RemoteConsole struct {
// Protocol contains remote console protocol.
// You can use the RemoteConsoleProtocol custom type to unmarshal raw JSON
// response into the pre-defined valid console protocol.
Protocol string `json:"protocol"`
// Type contains remote console type.
// You can use the RemoteConsoleType custom type to unmarshal raw JSON
// response into the pre-defined valid console type.
Type string `json:"type"`
// URL can be used to connect to the remote console.
URL string `json:"url"`
}
// Extract interprets any commonResult as a RemoteConsole.
func (r commonResult) Extract() (*RemoteConsole, error) {
var s struct {
RemoteConsole *RemoteConsole `json:"remote_console"`
}
err := r.ExtractInto(&s)
return s.RemoteConsole, err
}