package slurm import ( "context" "fmt" "net/url" "strconv" ) // GetReservationsOptions specifies optional parameters for GetReservations. type GetReservationsOptions struct { UpdateTime *int64 `url:"update_time,omitempty"` } // GetReservations lists all reservations. func (s *ReservationsService) GetReservations(ctx context.Context, opts *GetReservationsOptions) (*OpenapiReservationResp, *Response, error) { path := "slurm/v0.0.40/reservations" req, err := s.client.NewRequest("GET", path, nil) if err != nil { return nil, nil, err } if opts != nil { u, parseErr := url.Parse(req.URL.String()) if parseErr != nil { return nil, nil, parseErr } q := u.Query() if opts.UpdateTime != nil { q.Set("update_time", strconv.FormatInt(*opts.UpdateTime, 10)) } u.RawQuery = q.Encode() req.URL = u } var result OpenapiReservationResp resp, err := s.client.Do(ctx, req, &result) if err != nil { return nil, resp, err } return &result, resp, nil } // GetReservation gets a single reservation by name. func (s *ReservationsService) GetReservation(ctx context.Context, reservationName string, opts *GetReservationsOptions) (*OpenapiReservationResp, *Response, error) { path := fmt.Sprintf("slurm/v0.0.40/reservation/%s", reservationName) req, err := s.client.NewRequest("GET", path, nil) if err != nil { return nil, nil, err } if opts != nil { u, parseErr := url.Parse(req.URL.String()) if parseErr != nil { return nil, nil, parseErr } q := u.Query() if opts.UpdateTime != nil { q.Set("update_time", strconv.FormatInt(*opts.UpdateTime, 10)) } u.RawQuery = q.Encode() req.URL = u } var result OpenapiReservationResp resp, err := s.client.Do(ctx, req, &result) if err != nil { return nil, resp, err } return &result, resp, nil }