code: func (rc *Client) prepareRequestOpts(options ...RequestOption) (requestOptions, error) {
  	opts := requestOptions{}
  	for _, option := range options {
  		err := option(rc.ctx, &opts)
  		if err != nil {
  			return opts, errors.WithMessage(err, "failed to read opts in resmgmt")
  		}
  	}
  
  	if len(opts.Targets) > 0 && opts.TargetFilter != nil {
  		return opts, errors.New("If targets are provided, filter cannot be provided")
  	}
  
  	return opts, nil
  }
docs: // prepareRequestOpts prepares request options