func (o *GetIOAEventsParams) bindParamUserIds(formats strfmt.Registry) []string {
	userIdsIR := o.UserIds
	var userIdsIC []string
	for _, userIdsIIR := range userIdsIR {  
		userIdsIIV := userIdsIIR  
		userIdsIC = append(userIdsIC, userIdsIIV)
	}
	userIdsIS := swag.JoinByFormat(userIdsIC, "multi")
	return userIdsIS
}
bindParamGetIOAEvents binds the parameter user_ids
package cspm_registration
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 NewGetIOAEventsParams() *GetIOAEventsParams {
	return &GetIOAEventsParams{
		timeout: cr.DefaultTimeout,
	}
}
func NewGetIOAEventsParamsWithTimeout(timeout time.Duration) *GetIOAEventsParams {
	return &GetIOAEventsParams{
		timeout: timeout,
	}
}
func NewGetIOAEventsParamsWithContext(ctx context.Context) *GetIOAEventsParams {
	return &GetIOAEventsParams{
		Context: ctx,
	}
}
func NewGetIOAEventsParamsWithHTTPClient(client *http.Client) *GetIOAEventsParams {
	return &GetIOAEventsParams{
		HTTPClient: client,
	}
}
type GetIOAEventsParams struct {
	AccountID *string
	AwsAccountID *string
	AzureSubscriptionID *string
	AzureTenantID *string
	CloudProvider string
	Limit *int64
	Offset *int64
	PolicyID string
	State *string
	UserIds []string
	timeout    time.Duration
	Context    context.Context
	HTTPClient *http.Client
}
func (o *GetIOAEventsParams) WithDefaults() *GetIOAEventsParams {
	o.SetDefaults()
	return o
}
func (o *GetIOAEventsParams) SetDefaults() {
}
func (o *GetIOAEventsParams) WithTimeout(timeout time.Duration) *GetIOAEventsParams {
	o.SetTimeout(timeout)
	return o
}
func (o *GetIOAEventsParams) SetTimeout(timeout time.Duration) {
	o.timeout = timeout
}
func (o *GetIOAEventsParams) WithContext(ctx context.Context) *GetIOAEventsParams {
	o.SetContext(ctx)
	return o
}
func (o *GetIOAEventsParams) SetContext(ctx context.Context) {
	o.Context = ctx
}
func (o *GetIOAEventsParams) WithHTTPClient(client *http.Client) *GetIOAEventsParams {
	o.SetHTTPClient(client)
	return o
}
func (o *GetIOAEventsParams) SetHTTPClient(client *http.Client) {
	o.HTTPClient = client
}
func (o *GetIOAEventsParams) WithAccountID(accountID *string) *GetIOAEventsParams {
	o.SetAccountID(accountID)
	return o
}
func (o *GetIOAEventsParams) SetAccountID(accountID *string) {
	o.AccountID = accountID
}
func (o *GetIOAEventsParams) WithAwsAccountID(awsAccountID *string) *GetIOAEventsParams {
	o.SetAwsAccountID(awsAccountID)
	return o
}
func (o *GetIOAEventsParams) SetAwsAccountID(awsAccountID *string) {
	o.AwsAccountID = awsAccountID
}
func (o *GetIOAEventsParams) WithAzureSubscriptionID(azureSubscriptionID *string) *GetIOAEventsParams {
	o.SetAzureSubscriptionID(azureSubscriptionID)
	return o
}
func (o *GetIOAEventsParams) SetAzureSubscriptionID(azureSubscriptionID *string) {
	o.AzureSubscriptionID = azureSubscriptionID
}
func (o *GetIOAEventsParams) WithAzureTenantID(azureTenantID *string) *GetIOAEventsParams {
	o.SetAzureTenantID(azureTenantID)
	return o
}
func (o *GetIOAEventsParams) SetAzureTenantID(azureTenantID *string) {
	o.AzureTenantID = azureTenantID
}
func (o *GetIOAEventsParams) WithCloudProvider(cloudProvider string) *GetIOAEventsParams {
	o.SetCloudProvider(cloudProvider)
	return o
}
func (o *GetIOAEventsParams) SetCloudProvider(cloudProvider string) {
	o.CloudProvider = cloudProvider
}
func (o *GetIOAEventsParams) WithLimit(limit *int64) *GetIOAEventsParams {
	o.SetLimit(limit)
	return o
}
func (o *GetIOAEventsParams) SetLimit(limit *int64) {
	o.Limit = limit
}
func (o *GetIOAEventsParams) WithOffset(offset *int64) *GetIOAEventsParams {
	o.SetOffset(offset)
	return o
}
func (o *GetIOAEventsParams) SetOffset(offset *int64) {
	o.Offset = offset
}
func (o *GetIOAEventsParams) WithPolicyID(policyID string) *GetIOAEventsParams {
	o.SetPolicyID(policyID)
	return o
}
func (o *GetIOAEventsParams) SetPolicyID(policyID string) {
	o.PolicyID = policyID
}
func (o *GetIOAEventsParams) WithState(state *string) *GetIOAEventsParams {
	o.SetState(state)
	return o
}
func (o *GetIOAEventsParams) SetState(state *string) {
	o.State = state
}
func (o *GetIOAEventsParams) WithUserIds(userIds []string) *GetIOAEventsParams {
	o.SetUserIds(userIds)
	return o
}
func (o *GetIOAEventsParams) SetUserIds(userIds []string) {
	o.UserIds = userIds
}
func (o *GetIOAEventsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
	if err := r.SetTimeout(o.timeout); err != nil {
		return err
	}
	var res []error
	if o.AccountID != nil {
		var qrAccountID string
		if o.AccountID != nil {
			qrAccountID = *o.AccountID
		}
		qAccountID := qrAccountID
		if qAccountID != "" {
			if err := r.SetQueryParam("account_id", qAccountID); err != nil {
				return err
			}
		}
	}
	if o.AwsAccountID != nil {
		var qrAwsAccountID string
		if o.AwsAccountID != nil {
			qrAwsAccountID = *o.AwsAccountID
		}
		qAwsAccountID := qrAwsAccountID
		if qAwsAccountID != "" {
			if err := r.SetQueryParam("aws_account_id", qAwsAccountID); err != nil {
				return err
			}
		}
	}
	if o.AzureSubscriptionID != nil {
		var qrAzureSubscriptionID string
		if o.AzureSubscriptionID != nil {
			qrAzureSubscriptionID = *o.AzureSubscriptionID
		}
		qAzureSubscriptionID := qrAzureSubscriptionID
		if qAzureSubscriptionID != "" {
			if err := r.SetQueryParam("azure_subscription_id", qAzureSubscriptionID); err != nil {
				return err
			}
		}
	}
	if o.AzureTenantID != nil {
		var qrAzureTenantID string
		if o.AzureTenantID != nil {
			qrAzureTenantID = *o.AzureTenantID
		}
		qAzureTenantID := qrAzureTenantID
		if qAzureTenantID != "" {
			if err := r.SetQueryParam("azure_tenant_id", qAzureTenantID); err != nil {
				return err
			}
		}
	}
	qrCloudProvider := o.CloudProvider
	qCloudProvider := qrCloudProvider
	if qCloudProvider != "" {
		if err := r.SetQueryParam("cloud_provider", qCloudProvider); err != nil {
			return err
		}
	}
	if o.Limit != nil {
		var qrLimit int64
		if o.Limit != nil {
			qrLimit = *o.Limit
		}
		qLimit := swag.FormatInt64(qrLimit)
		if qLimit != "" {
			if err := r.SetQueryParam("limit", qLimit); err != nil {
				return err
			}
		}
	}
	if o.Offset != nil {
		var qrOffset int64
		if o.Offset != nil {
			qrOffset = *o.Offset
		}
		qOffset := swag.FormatInt64(qrOffset)
		if qOffset != "" {
			if err := r.SetQueryParam("offset", qOffset); err != nil {
				return err
			}
		}
	}
	qrPolicyID := o.PolicyID
	qPolicyID := qrPolicyID
	if qPolicyID != "" {
		if err := r.SetQueryParam("policy_id", qPolicyID); err != nil {
			return err
		}
	}
	if o.State != nil {
		var qrState string
		if o.State != nil {
			qrState = *o.State
		}
		qState := qrState
		if qState != "" {
			if err := r.SetQueryParam("state", qState); err != nil {
				return err
			}
		}
	}
	if o.UserIds != nil {
		joinedUserIds := o.bindParamUserIds(reg)
		if err := r.SetQueryParam("user_ids", joinedUserIds...); err != nil {
			return err
		}
	}
	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}