// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/cloudquery/cq-provider-aws/client (interfaces: WafRegionalClient)

// Package mocks is a generated GoMock package.
package mocks

import (
	context "context"
	reflect "reflect"

	wafregional "github.com/aws/aws-sdk-go-v2/service/wafregional"
	gomock "github.com/golang/mock/gomock"
)

// MockWafRegionalClient is a mock of WafRegionalClient interface.
type MockWafRegionalClient struct {
	ctrl     *gomock.Controller
	recorder *MockWafRegionalClientMockRecorder
}

// MockWafRegionalClientMockRecorder is the mock recorder for MockWafRegionalClient.
type MockWafRegionalClientMockRecorder struct {
	mock *MockWafRegionalClient
}

// NewMockWafRegionalClient creates a new mock instance.
func NewMockWafRegionalClient(ctrl *gomock.Controller) *MockWafRegionalClient {
	mock := &MockWafRegionalClient{ctrl: ctrl}
	mock.recorder = &MockWafRegionalClientMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockWafRegionalClient) EXPECT() *MockWafRegionalClientMockRecorder {
	return m.recorder
}

// GetRateBasedRule mocks base method.
func (m *MockWafRegionalClient) GetRateBasedRule(arg0 context.Context, arg1 *wafregional.GetRateBasedRuleInput, arg2 ...func(*wafregional.Options)) (*wafregional.GetRateBasedRuleOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetRateBasedRule", varargs...)
	ret0, _ := ret[0].(*wafregional.GetRateBasedRuleOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetRateBasedRule indicates an expected call of GetRateBasedRule.
func (mr *MockWafRegionalClientMockRecorder) GetRateBasedRule(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateBasedRule", reflect.TypeOf((*MockWafRegionalClient)(nil).GetRateBasedRule), varargs...)
}

// GetRule mocks base method.
func (m *MockWafRegionalClient) GetRule(arg0 context.Context, arg1 *wafregional.GetRuleInput, arg2 ...func(*wafregional.Options)) (*wafregional.GetRuleOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetRule", varargs...)
	ret0, _ := ret[0].(*wafregional.GetRuleOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetRule indicates an expected call of GetRule.
func (mr *MockWafRegionalClientMockRecorder) GetRule(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRule", reflect.TypeOf((*MockWafRegionalClient)(nil).GetRule), varargs...)
}

// GetRuleGroup mocks base method.
func (m *MockWafRegionalClient) GetRuleGroup(arg0 context.Context, arg1 *wafregional.GetRuleGroupInput, arg2 ...func(*wafregional.Options)) (*wafregional.GetRuleGroupOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetRuleGroup", varargs...)
	ret0, _ := ret[0].(*wafregional.GetRuleGroupOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetRuleGroup indicates an expected call of GetRuleGroup.
func (mr *MockWafRegionalClientMockRecorder) GetRuleGroup(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRuleGroup", reflect.TypeOf((*MockWafRegionalClient)(nil).GetRuleGroup), varargs...)
}

// GetWebACL mocks base method.
func (m *MockWafRegionalClient) GetWebACL(arg0 context.Context, arg1 *wafregional.GetWebACLInput, arg2 ...func(*wafregional.Options)) (*wafregional.GetWebACLOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetWebACL", varargs...)
	ret0, _ := ret[0].(*wafregional.GetWebACLOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetWebACL indicates an expected call of GetWebACL.
func (mr *MockWafRegionalClientMockRecorder) GetWebACL(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWebACL", reflect.TypeOf((*MockWafRegionalClient)(nil).GetWebACL), varargs...)
}

// ListRateBasedRules mocks base method.
func (m *MockWafRegionalClient) ListRateBasedRules(arg0 context.Context, arg1 *wafregional.ListRateBasedRulesInput, arg2 ...func(*wafregional.Options)) (*wafregional.ListRateBasedRulesOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListRateBasedRules", varargs...)
	ret0, _ := ret[0].(*wafregional.ListRateBasedRulesOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListRateBasedRules indicates an expected call of ListRateBasedRules.
func (mr *MockWafRegionalClientMockRecorder) ListRateBasedRules(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateBasedRules", reflect.TypeOf((*MockWafRegionalClient)(nil).ListRateBasedRules), varargs...)
}

// ListRuleGroups mocks base method.
func (m *MockWafRegionalClient) ListRuleGroups(arg0 context.Context, arg1 *wafregional.ListRuleGroupsInput, arg2 ...func(*wafregional.Options)) (*wafregional.ListRuleGroupsOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListRuleGroups", varargs...)
	ret0, _ := ret[0].(*wafregional.ListRuleGroupsOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListRuleGroups indicates an expected call of ListRuleGroups.
func (mr *MockWafRegionalClientMockRecorder) ListRuleGroups(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRuleGroups", reflect.TypeOf((*MockWafRegionalClient)(nil).ListRuleGroups), varargs...)
}

// ListRules mocks base method.
func (m *MockWafRegionalClient) ListRules(arg0 context.Context, arg1 *wafregional.ListRulesInput, arg2 ...func(*wafregional.Options)) (*wafregional.ListRulesOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListRules", varargs...)
	ret0, _ := ret[0].(*wafregional.ListRulesOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListRules indicates an expected call of ListRules.
func (mr *MockWafRegionalClientMockRecorder) ListRules(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRules", reflect.TypeOf((*MockWafRegionalClient)(nil).ListRules), varargs...)
}

// ListTagsForResource mocks base method.
func (m *MockWafRegionalClient) ListTagsForResource(arg0 context.Context, arg1 *wafregional.ListTagsForResourceInput, arg2 ...func(*wafregional.Options)) (*wafregional.ListTagsForResourceOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListTagsForResource", varargs...)
	ret0, _ := ret[0].(*wafregional.ListTagsForResourceOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListTagsForResource indicates an expected call of ListTagsForResource.
func (mr *MockWafRegionalClientMockRecorder) ListTagsForResource(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTagsForResource", reflect.TypeOf((*MockWafRegionalClient)(nil).ListTagsForResource), varargs...)
}

// ListWebACLs mocks base method.
func (m *MockWafRegionalClient) ListWebACLs(arg0 context.Context, arg1 *wafregional.ListWebACLsInput, arg2 ...func(*wafregional.Options)) (*wafregional.ListWebACLsOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListWebACLs", varargs...)
	ret0, _ := ret[0].(*wafregional.ListWebACLsOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListWebACLs indicates an expected call of ListWebACLs.
func (mr *MockWafRegionalClientMockRecorder) ListWebACLs(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWebACLs", reflect.TypeOf((*MockWafRegionalClient)(nil).ListWebACLs), varargs...)
}
