github.com/1and1/oneandone-cloudserver-sdk-go@v1.4.1/recoveryappliances.go (about) 1 package oneandone 2 3 import "net/http" 4 5 type RecoveryAppliance struct { 6 Identity 7 Os Os `json:"os,omitempty"` 8 AvailableDatacenters []string `json:"available_datacenters,omitempty"` 9 ApiPtr 10 } 11 12 type SingleRecoveryAppliance struct { 13 Identity 14 Os string `json:"os,omitempty"` 15 OsFamily string `json:"os_family,omitempty"` 16 OsVersion string `json:"os_version,omitempty"` 17 AvailableDatacenters []string `json:"available_datacenters,omitempty"` 18 ApiPtr 19 } 20 21 type Os struct { 22 Architecture int `json:"architecture,omitempty"` 23 Family string `json:"family,omitempty"` 24 SubFamily string `json:"subfamily,omitempty"` 25 Name string `json:"name,omitempty"` 26 } 27 28 // GET /recovery_appliances 29 func (api *API) ListRecoveryAppliances(args ...interface{}) ([]RecoveryAppliance, error) { 30 url, err := processQueryParams(createUrl(api, recoveryAppliancePathSegment), args...) 31 if err != nil { 32 return nil, err 33 } 34 res := []RecoveryAppliance{} 35 err = api.Client.Get(url, &res, http.StatusOK) 36 if err != nil { 37 return nil, err 38 } 39 for index, _ := range res { 40 res[index].api = api 41 } 42 return res, nil 43 } 44 45 // GET /server_appliances/{id} 46 func (api *API) GetRecoveryAppliance(ra_id string) (*SingleRecoveryAppliance, error) { 47 res := new(SingleRecoveryAppliance) 48 url := createUrl(api, recoveryAppliancePathSegment, ra_id) 49 err := api.Client.Get(url, &res, http.StatusOK) 50 if err != nil { 51 return nil, err 52 } 53 // res.api = api 54 return res, nil 55 }