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  }