// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/providers/gcp/gcp.go

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

import (
	context "context"
	reflect "reflect"

	iam "cloud.google.com/go/iam"
	gomock "github.com/golang/mock/gomock"
	iam0 "google.golang.org/api/iam/v1"
)

// MockGCPAPI is a mock of GCPAPI interface.
type MockGCPAPI struct {
	ctrl     *gomock.Controller
	recorder *MockGCPAPIMockRecorder
}

// MockGCPAPIMockRecorder is the mock recorder for MockGCPAPI.
type MockGCPAPIMockRecorder struct {
	mock *MockGCPAPI
}

// NewMockGCPAPI creates a new mock instance.
func NewMockGCPAPI(ctrl *gomock.Controller) *MockGCPAPI {
	mock := &MockGCPAPI{ctrl: ctrl}
	mock.recorder = &MockGCPAPIMockRecorder{mock}
	return mock
}

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

// AddBidingToServiceAccount mocks base method.
func (m *MockGCPAPI) AddBidingToServiceAccount(ctx context.Context, projectID, sa, role, member string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddBidingToServiceAccount", ctx, projectID, sa, role, member)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddBidingToServiceAccount indicates an expected call of AddBidingToServiceAccount.
func (mr *MockGCPAPIMockRecorder) AddBidingToServiceAccount(ctx, projectID, sa, role, member interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddBidingToServiceAccount", reflect.TypeOf((*MockGCPAPI)(nil).AddBidingToServiceAccount), ctx, projectID, sa, role, member)
}

// AddBucketIAMMember mocks base method.
func (m *MockGCPAPI) AddBucketIAMMember(bucketName string, roleName iam.RoleName, member string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddBucketIAMMember", bucketName, roleName, member)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddBucketIAMMember indicates an expected call of AddBucketIAMMember.
func (mr *MockGCPAPIMockRecorder) AddBucketIAMMember(bucketName, roleName, member interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddBucketIAMMember", reflect.TypeOf((*MockGCPAPI)(nil).AddBucketIAMMember), bucketName, roleName, member)
}

// AddPolicyBinding mocks base method.
func (m *MockGCPAPI) AddPolicyBinding(project, member, role string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddPolicyBinding", project, member, role)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddPolicyBinding indicates an expected call of AddPolicyBinding.
func (mr *MockGCPAPIMockRecorder) AddPolicyBinding(project, member, role interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddPolicyBinding", reflect.TypeOf((*MockGCPAPI)(nil).AddPolicyBinding), project, member, role)
}

// AttachIngressPolicy mocks base method.
func (m *MockGCPAPI) AttachIngressPolicy(project, firewallName, network, cidr string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AttachIngressPolicy", project, firewallName, network, cidr)
	ret0, _ := ret[0].(error)
	return ret0
}

// AttachIngressPolicy indicates an expected call of AttachIngressPolicy.
func (mr *MockGCPAPIMockRecorder) AttachIngressPolicy(project, firewallName, network, cidr interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AttachIngressPolicy", reflect.TypeOf((*MockGCPAPI)(nil).AttachIngressPolicy), project, firewallName, network, cidr)
}

// CreateDnsZone mocks base method.
func (m *MockGCPAPI) CreateDnsZone(project, network, zoneName, dnsName string) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateDnsZone", project, network, zoneName, dnsName)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateDnsZone indicates an expected call of CreateDnsZone.
func (mr *MockGCPAPIMockRecorder) CreateDnsZone(project, network, zoneName, dnsName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDnsZone", reflect.TypeOf((*MockGCPAPI)(nil).CreateDnsZone), project, network, zoneName, dnsName)
}

// CreateGoogleApiPsc mocks base method.
func (m *MockGCPAPI) CreateGoogleApiPsc(ctx context.Context, project, region, network, shootName string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateGoogleApiPsc", ctx, project, region, network, shootName)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateGoogleApiPsc indicates an expected call of CreateGoogleApiPsc.
func (mr *MockGCPAPIMockRecorder) CreateGoogleApiPsc(ctx, project, region, network, shootName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGoogleApiPsc", reflect.TypeOf((*MockGCPAPI)(nil).CreateGoogleApiPsc), ctx, project, region, network, shootName)
}

// CreatePublishedServicePsc mocks base method.
func (m *MockGCPAPI) CreatePublishedServicePsc(ctx context.Context, project, region, network, subnet, target, name, namespace string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreatePublishedServicePsc", ctx, project, region, network, subnet, target, name, namespace)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreatePublishedServicePsc indicates an expected call of CreatePublishedServicePsc.
func (mr *MockGCPAPIMockRecorder) CreatePublishedServicePsc(ctx, project, region, network, subnet, target, name, namespace interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePublishedServicePsc", reflect.TypeOf((*MockGCPAPI)(nil).CreatePublishedServicePsc), ctx, project, region, network, subnet, target, name, namespace)
}

// CreateServiceAccountKey mocks base method.
func (m *MockGCPAPI) CreateServiceAccountKey(project, saName string) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateServiceAccountKey", project, saName)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateServiceAccountKey indicates an expected call of CreateServiceAccountKey.
func (mr *MockGCPAPIMockRecorder) CreateServiceAccountKey(project, saName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateServiceAccountKey", reflect.TypeOf((*MockGCPAPI)(nil).CreateServiceAccountKey), project, saName)
}

// CreateVpcPeering mocks base method.
func (m *MockGCPAPI) CreateVpcPeering(project, peeringName, snName, targetProject, tnName string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateVpcPeering", project, peeringName, snName, targetProject, tnName)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateVpcPeering indicates an expected call of CreateVpcPeering.
func (mr *MockGCPAPIMockRecorder) CreateVpcPeering(project, peeringName, snName, targetProject, tnName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVpcPeering", reflect.TypeOf((*MockGCPAPI)(nil).CreateVpcPeering), project, peeringName, snName, targetProject, tnName)
}

// DeleteGoogleApiPsc mocks base method.
func (m *MockGCPAPI) DeleteGoogleApiPsc(ctx context.Context, project, shootName string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteGoogleApiPsc", ctx, project, shootName)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteGoogleApiPsc indicates an expected call of DeleteGoogleApiPsc.
func (mr *MockGCPAPIMockRecorder) DeleteGoogleApiPsc(ctx, project, shootName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGoogleApiPsc", reflect.TypeOf((*MockGCPAPI)(nil).DeleteGoogleApiPsc), ctx, project, shootName)
}

// DeletePublishedServicePsc mocks base method.
func (m *MockGCPAPI) DeletePublishedServicePsc(ctx context.Context, project, region, name string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeletePublishedServicePsc", ctx, project, region, name)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeletePublishedServicePsc indicates an expected call of DeletePublishedServicePsc.
func (mr *MockGCPAPIMockRecorder) DeletePublishedServicePsc(ctx, project, region, name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePublishedServicePsc", reflect.TypeOf((*MockGCPAPI)(nil).DeletePublishedServicePsc), ctx, project, region, name)
}

// ListNat mocks base method.
func (m *MockGCPAPI) ListNat(project, networkName, region string) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListNat", project, networkName, region)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListNat indicates an expected call of ListNat.
func (mr *MockGCPAPIMockRecorder) ListNat(project, networkName, region interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNat", reflect.TypeOf((*MockGCPAPI)(nil).ListNat), project, networkName, region)
}

// QueryServiceAccount mocks base method.
func (m *MockGCPAPI) QueryServiceAccount(saName, projectID string) (*iam0.ServiceAccount, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "QueryServiceAccount", saName, projectID)
	ret0, _ := ret[0].(*iam0.ServiceAccount)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryServiceAccount indicates an expected call of QueryServiceAccount.
func (mr *MockGCPAPIMockRecorder) QueryServiceAccount(saName, projectID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryServiceAccount", reflect.TypeOf((*MockGCPAPI)(nil).QueryServiceAccount), saName, projectID)
}

// SetDeleteProtection mocks base method.
func (m *MockGCPAPI) SetDeleteProtection(project, zone, nodeName string, protection bool) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetDeleteProtection", project, zone, nodeName, protection)
	ret0, _ := ret[0].(error)
	return ret0
}

// SetDeleteProtection indicates an expected call of SetDeleteProtection.
func (mr *MockGCPAPIMockRecorder) SetDeleteProtection(project, zone, nodeName, protection interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetDeleteProtection", reflect.TypeOf((*MockGCPAPI)(nil).SetDeleteProtection), project, zone, nodeName, protection)
}
