func (a *Client) UpdateIOC(params *UpdateIOCParams, opts ...ClientOption) (*UpdateIOCOK, error) {
	if params == nil {
		params = NewUpdateIOCParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "UpdateIOC",
		Method:             "PATCH",
		PathPattern:        "/indicators/entities/iocs/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &UpdateIOCReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*UpdateIOCOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*UpdateIOCDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}
/*
UpdateIOC ds e p r e c a t e d use the new i o c management endpoint p a t c h iocs entities indicators v1 update an i o c by providing a type and value
package iocs
import (
	"github.com/go-openapi/runtime"
	"github.com/go-openapi/strfmt"
)
func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService {
	return &Client{transport: transport, formats: formats}
}
type Client struct {
	transport runtime.ClientTransport
	formats   strfmt.Registry
}
type ClientOption func(*runtime.ClientOperation)
type ClientService interface {
	CreateIOC(params *CreateIOCParams, opts ...ClientOption) (*CreateIOCOK, error)
	DeleteIOC(params *DeleteIOCParams, opts ...ClientOption) (*DeleteIOCOK, error)
	DevicesCount(params *DevicesCountParams, opts ...ClientOption) (*DevicesCountOK, error)
	DevicesRanOn(params *DevicesRanOnParams, opts ...ClientOption) (*DevicesRanOnOK, error)
	GetIOC(params *GetIOCParams, opts ...ClientOption) (*GetIOCOK, error)
	ProcessesRanOn(params *ProcessesRanOnParams, opts ...ClientOption) (*ProcessesRanOnOK, error)
	QueryIOCs(params *QueryIOCsParams, opts ...ClientOption) (*QueryIOCsOK, error)
	UpdateIOC(params *UpdateIOCParams, opts ...ClientOption) (*UpdateIOCOK, error)
	EntitiesProcesses(params *EntitiesProcessesParams, opts ...ClientOption) (*EntitiesProcessesOK, error)
	SetTransport(transport runtime.ClientTransport)
}
func (a *Client) CreateIOC(params *CreateIOCParams, opts ...ClientOption) (*CreateIOCOK, error) {
	if params == nil {
		params = NewCreateIOCParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "CreateIOC",
		Method:             "POST",
		PathPattern:        "/indicators/entities/iocs/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &CreateIOCReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*CreateIOCOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*CreateIOCDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}
func (a *Client) DeleteIOC(params *DeleteIOCParams, opts ...ClientOption) (*DeleteIOCOK, error) {
	if params == nil {
		params = NewDeleteIOCParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "DeleteIOC",
		Method:             "DELETE",
		PathPattern:        "/indicators/entities/iocs/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &DeleteIOCReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*DeleteIOCOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*DeleteIOCDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}
func (a *Client) DevicesCount(params *DevicesCountParams, opts ...ClientOption) (*DevicesCountOK, error) {
	if params == nil {
		params = NewDevicesCountParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "DevicesCount",
		Method:             "GET",
		PathPattern:        "/indicators/aggregates/devices-count/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &DevicesCountReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*DevicesCountOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*DevicesCountDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}
func (a *Client) DevicesRanOn(params *DevicesRanOnParams, opts ...ClientOption) (*DevicesRanOnOK, error) {
	if params == nil {
		params = NewDevicesRanOnParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "DevicesRanOn",
		Method:             "GET",
		PathPattern:        "/indicators/queries/devices/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &DevicesRanOnReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*DevicesRanOnOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*DevicesRanOnDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}
func (a *Client) GetIOC(params *GetIOCParams, opts ...ClientOption) (*GetIOCOK, error) {
	if params == nil {
		params = NewGetIOCParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "GetIOC",
		Method:             "GET",
		PathPattern:        "/indicators/entities/iocs/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &GetIOCReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetIOCOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*GetIOCDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}
func (a *Client) ProcessesRanOn(params *ProcessesRanOnParams, opts ...ClientOption) (*ProcessesRanOnOK, error) {
	if params == nil {
		params = NewProcessesRanOnParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "ProcessesRanOn",
		Method:             "GET",
		PathPattern:        "/indicators/queries/processes/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &ProcessesRanOnReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*ProcessesRanOnOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*ProcessesRanOnDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}
func (a *Client) QueryIOCs(params *QueryIOCsParams, opts ...ClientOption) (*QueryIOCsOK, error) {
	if params == nil {
		params = NewQueryIOCsParams()
	}
	op := &runtime.ClientOperation{
		ID:                 "QueryIOCs",
		Method:             "GET",
		PathPattern:        "/indicators/queries/iocs/v1",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &QueryIOCsReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	}
	for _, opt := range opts {
		opt(op)
	}
	result, err := a.transport.Submit(op)
	if err != nil {
		return nil, err
	}
	success, ok := result.(*QueryIOCsOK)
	if ok {
		return success, nil
	}
	unexpectedSuccess := result.(*QueryIOCsDefault)
	return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code())
}