func (o *GetRuleGroupsParams) bindParamIds(formats strfmt.Registry) []string {
	idsIR := o.Ids
	var idsIC []string
	for _, idsIIR := range idsIR {  
		idsIIV := idsIIR  
		idsIC = append(idsIC, idsIIV)
	}
	idsIS := swag.JoinByFormat(idsIC, "multi")
	return idsIS
}
bindParamGetRuleGroups binds the parameter ids
package firewall_management
import (
	"context"
	"net/http"
	"time"
	"github.com/go-openapi/errors"
	"github.com/go-openapi/runtime"
	cr "github.com/go-openapi/runtime/client"
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)
func NewGetRuleGroupsParams() *GetRuleGroupsParams {
	return &GetRuleGroupsParams{
		timeout: cr.DefaultTimeout,
	}
}
func NewGetRuleGroupsParamsWithTimeout(timeout time.Duration) *GetRuleGroupsParams {
	return &GetRuleGroupsParams{
		timeout: timeout,
	}
}
func NewGetRuleGroupsParamsWithContext(ctx context.Context) *GetRuleGroupsParams {
	return &GetRuleGroupsParams{
		Context: ctx,
	}
}
func NewGetRuleGroupsParamsWithHTTPClient(client *http.Client) *GetRuleGroupsParams {
	return &GetRuleGroupsParams{
		HTTPClient: client,
	}
}
type GetRuleGroupsParams struct {
	Ids []string
	timeout    time.Duration
	Context    context.Context
	HTTPClient *http.Client
}
func (o *GetRuleGroupsParams) WithDefaults() *GetRuleGroupsParams {
	o.SetDefaults()
	return o
}
func (o *GetRuleGroupsParams) SetDefaults() {
}
func (o *GetRuleGroupsParams) WithTimeout(timeout time.Duration) *GetRuleGroupsParams {
	o.SetTimeout(timeout)
	return o
}
func (o *GetRuleGroupsParams) SetTimeout(timeout time.Duration) {
	o.timeout = timeout
}
func (o *GetRuleGroupsParams) WithContext(ctx context.Context) *GetRuleGroupsParams {
	o.SetContext(ctx)
	return o
}
func (o *GetRuleGroupsParams) SetContext(ctx context.Context) {
	o.Context = ctx
}
func (o *GetRuleGroupsParams) WithHTTPClient(client *http.Client) *GetRuleGroupsParams {
	o.SetHTTPClient(client)
	return o
}
func (o *GetRuleGroupsParams) SetHTTPClient(client *http.Client) {
	o.HTTPClient = client
}
func (o *GetRuleGroupsParams) WithIds(ids []string) *GetRuleGroupsParams {
	o.SetIds(ids)
	return o
}
func (o *GetRuleGroupsParams) SetIds(ids []string) {
	o.Ids = ids
}
func (o *GetRuleGroupsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
	if err := r.SetTimeout(o.timeout); err != nil {
		return err
	}
	var res []error
	if o.Ids != nil {
		joinedIds := o.bindParamIds(reg)
		if err := r.SetQueryParam("ids", joinedIds...); err != nil {
			return err
		}
	}
	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}