package migrationAPI import ( "errors" "net/http" "github.rackspace.com/DCM/migration/pkg/shutdown" ) // ShutdownPrep will run the netdevice shutdown prep on a device // // https://migration.nsi.rackspace.com/docs/#/Prep/shutdownPrep func (c *Client) ShutdownPrep(payload shutdown.Options, options ...*Options) (*shutdown.Response, error) { opts := processOptions(options...) req, err := c.newRequest(c.URL+"/prep/shutdown", http.MethodPost, payload, opts) if err != nil { return nil, err } var resp struct { Data shutdown.Response `json:"data"` Error *string `json:"error"` } if err = c.do(req, &resp, opts); err != nil { return nil, err } if resp.Error != nil { return nil, errors.New(*resp.Error) } return &resp.Data, nil }