scsiinitiator.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package goscaleio
  2. import (
  3. "fmt"
  4. types "github.com/codedellemc/goscaleio/types/v1"
  5. )
  6. func (system *System) GetScsiInitiator() (scsiInitiators []types.ScsiInitiator, err error) {
  7. endpoint := system.client.SIOEndpoint
  8. endpoint.Path = fmt.Sprintf("/api/instances/System::%v/relationships/ScsiInitiator", system.System.ID)
  9. req := system.client.NewRequest(map[string]string{}, "GET", endpoint, nil)
  10. req.SetBasicAuth("", system.client.Token)
  11. req.Header.Add("Accept", "application/json;version="+system.client.configConnect.Version)
  12. resp, err := system.client.retryCheckResp(&system.client.Http, req)
  13. if err != nil {
  14. return []types.ScsiInitiator{}, fmt.Errorf("problem getting response: %v", err)
  15. }
  16. defer resp.Body.Close()
  17. if err = system.client.decodeBody(resp, &scsiInitiators); err != nil {
  18. return []types.ScsiInitiator{}, fmt.Errorf("error decoding instances response: %s", err)
  19. }
  20. // bs, err := ioutil.ReadAll(resp.Body)
  21. // if err != nil {
  22. // return types.ScsiInitiator{}, errors.New("error reading body")
  23. // }
  24. //
  25. // log.Fatalf("here")
  26. // return types.ScsiInitiator{}, nil
  27. return scsiInitiators, nil
  28. }