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  }