github.com/1and1/oneandone-cloudserver-sdk-go@v1.4.1/serverappliances.go (about) 1 package oneandone 2 3 import "net/http" 4 5 type ServerAppliance struct { 6 Identity 7 typeField 8 OsInstallBase string `json:"os_installation_base,omitempty"` 9 OsFamily string `json:"os_family,omitempty"` 10 Os string `json:"os,omitempty"` 11 OsVersion string `json:"os_version,omitempty"` 12 Version string `json:"version,omitempty"` 13 ServerTypeCompatibility []string `json:"server_type_compatibility,omitempty"` 14 MinHddSize int `json:"min_hdd_size"` 15 Architecture interface{} `json:"os_architecture"` 16 Licenses interface{} `json:"licenses,omitempty"` 17 Categories []string `json:"categories,omitempty"` 18 // AvailableDatacenters []string `json:"available_datacenters,omitempty"` 19 ApiPtr 20 } 21 22 // GET /server_appliances 23 func (api *API) ListServerAppliances(args ...interface{}) ([]ServerAppliance, error) { 24 url, err := processQueryParams(createUrl(api, serverAppliancePathSegment), args...) 25 if err != nil { 26 return nil, err 27 } 28 res := []ServerAppliance{} 29 err = api.Client.Get(url, &res, http.StatusOK) 30 if err != nil { 31 return nil, err 32 } 33 for index, _ := range res { 34 res[index].api = api 35 } 36 return res, nil 37 } 38 39 // GET /server_appliances/{id} 40 func (api *API) GetServerAppliance(sa_id string) (*ServerAppliance, error) { 41 res := new(ServerAppliance) 42 url := createUrl(api, serverAppliancePathSegment, sa_id) 43 err := api.Client.Get(url, &res, http.StatusOK) 44 if err != nil { 45 return nil, err 46 } 47 // res.api = api 48 return res, nil 49 }