// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc             v3.21.12
// source: yandex/cloud/cloudrouter/v1/routing_instance_service.proto

package cloudrouter

import (
	context "context"
	operation "github.com/yandex-cloud/go-genproto/yandex/cloud/operation"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9

const (
	RoutingInstanceService_Get_FullMethodName                         = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/Get"
	RoutingInstanceService_GetByVpcNetworkId_FullMethodName           = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/GetByVpcNetworkId"
	RoutingInstanceService_GetByCicPrivateConnectionId_FullMethodName = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/GetByCicPrivateConnectionId"
	RoutingInstanceService_List_FullMethodName                        = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/List"
	RoutingInstanceService_Create_FullMethodName                      = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/Create"
	RoutingInstanceService_Update_FullMethodName                      = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/Update"
	RoutingInstanceService_UpsertPrefixes_FullMethodName              = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/UpsertPrefixes"
	RoutingInstanceService_RemovePrefixes_FullMethodName              = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/RemovePrefixes"
	RoutingInstanceService_UpdateNetworks_FullMethodName              = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/UpdateNetworks"
	RoutingInstanceService_MovePrefix_FullMethodName                  = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/MovePrefix"
	RoutingInstanceService_UpdatePrefixMask_FullMethodName            = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/UpdatePrefixMask"
	RoutingInstanceService_AddPrivateConnection_FullMethodName        = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/AddPrivateConnection"
	RoutingInstanceService_RemovePrivateConnection_FullMethodName     = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/RemovePrivateConnection"
	RoutingInstanceService_Delete_FullMethodName                      = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/Delete"
	RoutingInstanceService_Move_FullMethodName                        = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/Move"
	RoutingInstanceService_ListOperations_FullMethodName              = "/yandex.cloud.cloudrouter.v1.RoutingInstanceService/ListOperations"
)

// RoutingInstanceServiceClient is the client API for RoutingInstanceService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// A set of methods for managing RoutingInstance resources.
type RoutingInstanceServiceClient interface {
	// Returns the specified RoutingInstance resource.
	//
	// To get the list of available RoutingInstance resources, make a [List] request.
	Get(ctx context.Context, in *GetRoutingInstanceRequest, opts ...grpc.CallOption) (*RoutingInstance, error)
	// Returns the RoutingInstance resource by vpcNetworkId
	//
	// To get the list of available RoutingInstance resources, make a [List] request.
	GetByVpcNetworkId(ctx context.Context, in *GetRoutingInstanceByVpcNetworkIdRequest, opts ...grpc.CallOption) (*RoutingInstance, error)
	// Returns the RoutingInstance resource by cicPrivateConnectionId
	//
	// To get the list of available RoutingInstance resources, make a [List] request.
	GetByCicPrivateConnectionId(ctx context.Context, in *GetRoutingInstanceByCicPrivateConnectionIdRequest, opts ...grpc.CallOption) (*RoutingInstance, error)
	// Retrieves the list of RoutingInstance resources in the specified folder.
	List(ctx context.Context, in *ListRoutingInstancesRequest, opts ...grpc.CallOption) (*ListRoutingInstancesResponse, error)
	// Creates a RoutingInstance resource in the specified folder using the data specified in the request.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	Create(ctx context.Context, in *CreateRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Updates a RoutingInstance resource using the data specified in the request.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	Update(ctx context.Context, in *UpdateRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Upserts specified prefixes to a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	UpsertPrefixes(ctx context.Context, in *UpsertPrefixesRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Removes specified prefixes from a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	RemovePrefixes(ctx context.Context, in *RemovePrefixesRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Updates multiple vpc using the data specified in the request.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	UpdateNetworks(ctx context.Context, in *UpdateNetworksRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Moves the specified prefix between availability zones of the RoutingInstance.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	MovePrefix(ctx context.Context, in *MovePrefixRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Removes specified PrivateConnection from a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	UpdatePrefixMask(ctx context.Context, in *UpdatePrefixMaskRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Adds specified PrivateConnection to a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	AddPrivateConnection(ctx context.Context, in *AddPrivateConnectionRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Removes specified PrivateConnection from a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	RemovePrivateConnection(ctx context.Context, in *RemovePrivateConnectionRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Deletes a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	Delete(ctx context.Context, in *DeleteRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Moves the specified RoutingInstance to another folder.
	Move(ctx context.Context, in *MoveRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error)
	// Lists operations for the specified RoutingInstance.
	ListOperations(ctx context.Context, in *ListRoutingInstanceOperationsRequest, opts ...grpc.CallOption) (*ListRoutingInstanceOperationsResponse, error)
}

type routingInstanceServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewRoutingInstanceServiceClient(cc grpc.ClientConnInterface) RoutingInstanceServiceClient {
	return &routingInstanceServiceClient{cc}
}

func (c *routingInstanceServiceClient) Get(ctx context.Context, in *GetRoutingInstanceRequest, opts ...grpc.CallOption) (*RoutingInstance, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RoutingInstance)
	err := c.cc.Invoke(ctx, RoutingInstanceService_Get_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) GetByVpcNetworkId(ctx context.Context, in *GetRoutingInstanceByVpcNetworkIdRequest, opts ...grpc.CallOption) (*RoutingInstance, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RoutingInstance)
	err := c.cc.Invoke(ctx, RoutingInstanceService_GetByVpcNetworkId_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) GetByCicPrivateConnectionId(ctx context.Context, in *GetRoutingInstanceByCicPrivateConnectionIdRequest, opts ...grpc.CallOption) (*RoutingInstance, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RoutingInstance)
	err := c.cc.Invoke(ctx, RoutingInstanceService_GetByCicPrivateConnectionId_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) List(ctx context.Context, in *ListRoutingInstancesRequest, opts ...grpc.CallOption) (*ListRoutingInstancesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListRoutingInstancesResponse)
	err := c.cc.Invoke(ctx, RoutingInstanceService_List_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) Create(ctx context.Context, in *CreateRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_Create_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) Update(ctx context.Context, in *UpdateRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_Update_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) UpsertPrefixes(ctx context.Context, in *UpsertPrefixesRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_UpsertPrefixes_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) RemovePrefixes(ctx context.Context, in *RemovePrefixesRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_RemovePrefixes_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) UpdateNetworks(ctx context.Context, in *UpdateNetworksRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_UpdateNetworks_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) MovePrefix(ctx context.Context, in *MovePrefixRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_MovePrefix_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) UpdatePrefixMask(ctx context.Context, in *UpdatePrefixMaskRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_UpdatePrefixMask_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) AddPrivateConnection(ctx context.Context, in *AddPrivateConnectionRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_AddPrivateConnection_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) RemovePrivateConnection(ctx context.Context, in *RemovePrivateConnectionRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_RemovePrivateConnection_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) Delete(ctx context.Context, in *DeleteRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_Delete_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) Move(ctx context.Context, in *MoveRoutingInstanceRequest, opts ...grpc.CallOption) (*operation.Operation, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(operation.Operation)
	err := c.cc.Invoke(ctx, RoutingInstanceService_Move_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *routingInstanceServiceClient) ListOperations(ctx context.Context, in *ListRoutingInstanceOperationsRequest, opts ...grpc.CallOption) (*ListRoutingInstanceOperationsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListRoutingInstanceOperationsResponse)
	err := c.cc.Invoke(ctx, RoutingInstanceService_ListOperations_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// RoutingInstanceServiceServer is the server API for RoutingInstanceService service.
// All implementations should embed UnimplementedRoutingInstanceServiceServer
// for forward compatibility.
//
// A set of methods for managing RoutingInstance resources.
type RoutingInstanceServiceServer interface {
	// Returns the specified RoutingInstance resource.
	//
	// To get the list of available RoutingInstance resources, make a [List] request.
	Get(context.Context, *GetRoutingInstanceRequest) (*RoutingInstance, error)
	// Returns the RoutingInstance resource by vpcNetworkId
	//
	// To get the list of available RoutingInstance resources, make a [List] request.
	GetByVpcNetworkId(context.Context, *GetRoutingInstanceByVpcNetworkIdRequest) (*RoutingInstance, error)
	// Returns the RoutingInstance resource by cicPrivateConnectionId
	//
	// To get the list of available RoutingInstance resources, make a [List] request.
	GetByCicPrivateConnectionId(context.Context, *GetRoutingInstanceByCicPrivateConnectionIdRequest) (*RoutingInstance, error)
	// Retrieves the list of RoutingInstance resources in the specified folder.
	List(context.Context, *ListRoutingInstancesRequest) (*ListRoutingInstancesResponse, error)
	// Creates a RoutingInstance resource in the specified folder using the data specified in the request.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	Create(context.Context, *CreateRoutingInstanceRequest) (*operation.Operation, error)
	// Updates a RoutingInstance resource using the data specified in the request.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	Update(context.Context, *UpdateRoutingInstanceRequest) (*operation.Operation, error)
	// Upserts specified prefixes to a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	UpsertPrefixes(context.Context, *UpsertPrefixesRequest) (*operation.Operation, error)
	// Removes specified prefixes from a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	RemovePrefixes(context.Context, *RemovePrefixesRequest) (*operation.Operation, error)
	// Updates multiple vpc using the data specified in the request.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	UpdateNetworks(context.Context, *UpdateNetworksRequest) (*operation.Operation, error)
	// Moves the specified prefix between availability zones of the RoutingInstance.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	MovePrefix(context.Context, *MovePrefixRequest) (*operation.Operation, error)
	// Removes specified PrivateConnection from a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	UpdatePrefixMask(context.Context, *UpdatePrefixMaskRequest) (*operation.Operation, error)
	// Adds specified PrivateConnection to a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	AddPrivateConnection(context.Context, *AddPrivateConnectionRequest) (*operation.Operation, error)
	// Removes specified PrivateConnection from a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	RemovePrivateConnection(context.Context, *RemovePrivateConnectionRequest) (*operation.Operation, error)
	// Deletes a RoutingInstance resource.
	// Method starts an asynchronous operation that can be cancelled while it is in progress.
	Delete(context.Context, *DeleteRoutingInstanceRequest) (*operation.Operation, error)
	// Moves the specified RoutingInstance to another folder.
	Move(context.Context, *MoveRoutingInstanceRequest) (*operation.Operation, error)
	// Lists operations for the specified RoutingInstance.
	ListOperations(context.Context, *ListRoutingInstanceOperationsRequest) (*ListRoutingInstanceOperationsResponse, error)
}

// UnimplementedRoutingInstanceServiceServer should be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedRoutingInstanceServiceServer struct{}

func (UnimplementedRoutingInstanceServiceServer) Get(context.Context, *GetRoutingInstanceRequest) (*RoutingInstance, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) GetByVpcNetworkId(context.Context, *GetRoutingInstanceByVpcNetworkIdRequest) (*RoutingInstance, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetByVpcNetworkId not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) GetByCicPrivateConnectionId(context.Context, *GetRoutingInstanceByCicPrivateConnectionIdRequest) (*RoutingInstance, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetByCicPrivateConnectionId not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) List(context.Context, *ListRoutingInstancesRequest) (*ListRoutingInstancesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) Create(context.Context, *CreateRoutingInstanceRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) Update(context.Context, *UpdateRoutingInstanceRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) UpsertPrefixes(context.Context, *UpsertPrefixesRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpsertPrefixes not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) RemovePrefixes(context.Context, *RemovePrefixesRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemovePrefixes not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) UpdateNetworks(context.Context, *UpdateNetworksRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNetworks not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) MovePrefix(context.Context, *MovePrefixRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MovePrefix not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) UpdatePrefixMask(context.Context, *UpdatePrefixMaskRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePrefixMask not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) AddPrivateConnection(context.Context, *AddPrivateConnectionRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPrivateConnection not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) RemovePrivateConnection(context.Context, *RemovePrivateConnectionRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemovePrivateConnection not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) Delete(context.Context, *DeleteRoutingInstanceRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) Move(context.Context, *MoveRoutingInstanceRequest) (*operation.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Move not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) ListOperations(context.Context, *ListRoutingInstanceOperationsRequest) (*ListRoutingInstanceOperationsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListOperations not implemented")
}
func (UnimplementedRoutingInstanceServiceServer) testEmbeddedByValue() {}

// UnsafeRoutingInstanceServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to RoutingInstanceServiceServer will
// result in compilation errors.
type UnsafeRoutingInstanceServiceServer interface {
	mustEmbedUnimplementedRoutingInstanceServiceServer()
}

func RegisterRoutingInstanceServiceServer(s grpc.ServiceRegistrar, srv RoutingInstanceServiceServer) {
	// If the following call pancis, it indicates UnimplementedRoutingInstanceServiceServer was
	// embedded by pointer and is nil.  This will cause panics if an
	// unimplemented method is ever invoked, so we test this at initialization
	// time to prevent it from happening at runtime later due to I/O.
	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
		t.testEmbeddedByValue()
	}
	s.RegisterService(&RoutingInstanceService_ServiceDesc, srv)
}

func _RoutingInstanceService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRoutingInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).Get(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_Get_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).Get(ctx, req.(*GetRoutingInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_GetByVpcNetworkId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRoutingInstanceByVpcNetworkIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).GetByVpcNetworkId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_GetByVpcNetworkId_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).GetByVpcNetworkId(ctx, req.(*GetRoutingInstanceByVpcNetworkIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_GetByCicPrivateConnectionId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRoutingInstanceByCicPrivateConnectionIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).GetByCicPrivateConnectionId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_GetByCicPrivateConnectionId_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).GetByCicPrivateConnectionId(ctx, req.(*GetRoutingInstanceByCicPrivateConnectionIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListRoutingInstancesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_List_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).List(ctx, req.(*ListRoutingInstancesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRoutingInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_Create_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).Create(ctx, req.(*CreateRoutingInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRoutingInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_Update_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).Update(ctx, req.(*UpdateRoutingInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_UpsertPrefixes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpsertPrefixesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).UpsertPrefixes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_UpsertPrefixes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).UpsertPrefixes(ctx, req.(*UpsertPrefixesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_RemovePrefixes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemovePrefixesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).RemovePrefixes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_RemovePrefixes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).RemovePrefixes(ctx, req.(*RemovePrefixesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_UpdateNetworks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNetworksRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).UpdateNetworks(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_UpdateNetworks_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).UpdateNetworks(ctx, req.(*UpdateNetworksRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_MovePrefix_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MovePrefixRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).MovePrefix(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_MovePrefix_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).MovePrefix(ctx, req.(*MovePrefixRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_UpdatePrefixMask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdatePrefixMaskRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).UpdatePrefixMask(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_UpdatePrefixMask_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).UpdatePrefixMask(ctx, req.(*UpdatePrefixMaskRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_AddPrivateConnection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPrivateConnectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).AddPrivateConnection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_AddPrivateConnection_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).AddPrivateConnection(ctx, req.(*AddPrivateConnectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_RemovePrivateConnection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemovePrivateConnectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).RemovePrivateConnection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_RemovePrivateConnection_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).RemovePrivateConnection(ctx, req.(*RemovePrivateConnectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRoutingInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_Delete_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).Delete(ctx, req.(*DeleteRoutingInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_Move_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MoveRoutingInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).Move(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_Move_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).Move(ctx, req.(*MoveRoutingInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RoutingInstanceService_ListOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListRoutingInstanceOperationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RoutingInstanceServiceServer).ListOperations(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: RoutingInstanceService_ListOperations_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RoutingInstanceServiceServer).ListOperations(ctx, req.(*ListRoutingInstanceOperationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// RoutingInstanceService_ServiceDesc is the grpc.ServiceDesc for RoutingInstanceService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var RoutingInstanceService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "yandex.cloud.cloudrouter.v1.RoutingInstanceService",
	HandlerType: (*RoutingInstanceServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Get",
			Handler:    _RoutingInstanceService_Get_Handler,
		},
		{
			MethodName: "GetByVpcNetworkId",
			Handler:    _RoutingInstanceService_GetByVpcNetworkId_Handler,
		},
		{
			MethodName: "GetByCicPrivateConnectionId",
			Handler:    _RoutingInstanceService_GetByCicPrivateConnectionId_Handler,
		},
		{
			MethodName: "List",
			Handler:    _RoutingInstanceService_List_Handler,
		},
		{
			MethodName: "Create",
			Handler:    _RoutingInstanceService_Create_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _RoutingInstanceService_Update_Handler,
		},
		{
			MethodName: "UpsertPrefixes",
			Handler:    _RoutingInstanceService_UpsertPrefixes_Handler,
		},
		{
			MethodName: "RemovePrefixes",
			Handler:    _RoutingInstanceService_RemovePrefixes_Handler,
		},
		{
			MethodName: "UpdateNetworks",
			Handler:    _RoutingInstanceService_UpdateNetworks_Handler,
		},
		{
			MethodName: "MovePrefix",
			Handler:    _RoutingInstanceService_MovePrefix_Handler,
		},
		{
			MethodName: "UpdatePrefixMask",
			Handler:    _RoutingInstanceService_UpdatePrefixMask_Handler,
		},
		{
			MethodName: "AddPrivateConnection",
			Handler:    _RoutingInstanceService_AddPrivateConnection_Handler,
		},
		{
			MethodName: "RemovePrivateConnection",
			Handler:    _RoutingInstanceService_RemovePrivateConnection_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _RoutingInstanceService_Delete_Handler,
		},
		{
			MethodName: "Move",
			Handler:    _RoutingInstanceService_Move_Handler,
		},
		{
			MethodName: "ListOperations",
			Handler:    _RoutingInstanceService_ListOperations_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "yandex/cloud/cloudrouter/v1/routing_instance_service.proto",
}
