func (a *Client) GetCustomRule(params *GetCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*GetCustomRuleOK, error) {
	if params == nil {
		params = NewGetCustomRuleParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "getCustomRule",
		Method:             "GET",
		PathPattern:        "/rules/{rule_id}",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &GetCustomRuleReader{formats: a.formats},
		AuthInfo:           authInfo,
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetCustomRuleOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for getCustomRule: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
/*
GetCustomRule gets details on a single custom rule

Get details on a single custom rule.
package custom_rules
import (
	"fmt"
	"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 ClientService interface {
	CreateCustomRule(params *CreateCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*CreateCustomRuleCreated, error)
	DeleteCustomRule(params *DeleteCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*DeleteCustomRuleNoContent, error)
	GetCustomRule(params *GetCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*GetCustomRuleOK, error)
	ListCustomRules(params *ListCustomRulesParams, authInfo runtime.ClientAuthInfoWriter) (*ListCustomRulesOK, error)
	TestCustomRule(params *TestCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*TestCustomRuleOK, error)
	TestCustomRuleInput(params *TestCustomRuleInputParams, authInfo runtime.ClientAuthInfoWriter) (*TestCustomRuleInputOK, error)
	UpdateCustomRule(params *UpdateCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*UpdateCustomRuleOK, error)
	SetTransport(transport runtime.ClientTransport)
}
func (a *Client) CreateCustomRule(params *CreateCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*CreateCustomRuleCreated, error) {
	if params == nil {
		params = NewCreateCustomRuleParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "createCustomRule",
		Method:             "POST",
		PathPattern:        "/rules",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &CreateCustomRuleReader{formats: a.formats},
		AuthInfo:           authInfo,
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*CreateCustomRuleCreated)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for createCustomRule: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) DeleteCustomRule(params *DeleteCustomRuleParams, authInfo runtime.ClientAuthInfoWriter) (*DeleteCustomRuleNoContent, error) {
	if params == nil {
		params = NewDeleteCustomRuleParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "deleteCustomRule",
		Method:             "DELETE",
		PathPattern:        "/rules/{rule_id}",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{"application/json"},
		Schemes:            []string{"https"},
		Params:             params,
		Reader:             &DeleteCustomRuleReader{formats: a.formats},
		AuthInfo:           authInfo,
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*DeleteCustomRuleNoContent)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for deleteCustomRule: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}