# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

import bgp_pb2 as bgp__pb2
import cloudrpc_pb2 as cloudrpc__pb2
import device_pb2 as device__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
import interface_pb2 as interface__pb2
import mapping_pb2 as mapping__pb2
import networkpolicy_pb2 as networkpolicy__pb2
import nexthop_pb2 as nexthop__pb2
import port_pb2 as port__pb2
import route_pb2 as route__pb2
import subnet_pb2 as subnet__pb2
import tunnel_pb2 as tunnel__pb2
import underlayroute_pb2 as underlayroute__pb2
import vnic_pb2 as vnic__pb2
import vpc_pb2 as vpc__pb2


class CloudInfraServiceStub(object):
    """Cloud Infra Service configure/operate objects to manage cloud infrastructure
    Device Capabilities APIs
    Device APIs
    Port APIs
    Vnic APIs
    Interface APIs
    RouteTable APIs
    Route APIs
    Mapping APIs
    SecurityPolicy APIs
    SecurityRule APIs
    SecurityProfile APIs


    Cloud Infra APIs - to manage a multi-node cloud infrastructure on a xPU
    """

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.GetDeviceCapabilities = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetDeviceCapabilities',
                request_serializer=cloudrpc__pb2.GetDeviceCapabilitiesRequest.SerializeToString,
                response_deserializer=device__pb2.DeviceCapabilities.FromString,
                )
        self.CreateDevice = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateDevice',
                request_serializer=cloudrpc__pb2.CreateDeviceRequest.SerializeToString,
                response_deserializer=device__pb2.Device.FromString,
                )
        self.DeleteDevice = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteDevice',
                request_serializer=cloudrpc__pb2.DeleteDeviceRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateDevice = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateDevice',
                request_serializer=cloudrpc__pb2.UpdateDeviceRequest.SerializeToString,
                response_deserializer=device__pb2.Device.FromString,
                )
        self.ListDevices = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListDevices',
                request_serializer=cloudrpc__pb2.ListDevicesRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListDevicesResponse.FromString,
                )
        self.GetDevice = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetDevice',
                request_serializer=cloudrpc__pb2.GetDeviceRequest.SerializeToString,
                response_deserializer=device__pb2.Device.FromString,
                )
        self.UpdatePort = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdatePort',
                request_serializer=cloudrpc__pb2.UpdatePortRequest.SerializeToString,
                response_deserializer=port__pb2.Port.FromString,
                )
        self.ListPorts = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListPorts',
                request_serializer=cloudrpc__pb2.ListPortsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListPortsResponse.FromString,
                )
        self.GetPort = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetPort',
                request_serializer=cloudrpc__pb2.GetPortRequest.SerializeToString,
                response_deserializer=port__pb2.Port.FromString,
                )
        self.CreateVnic = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateVnic',
                request_serializer=cloudrpc__pb2.CreateVnicRequest.SerializeToString,
                response_deserializer=vnic__pb2.Vnic.FromString,
                )
        self.DeleteVnic = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteVnic',
                request_serializer=cloudrpc__pb2.DeleteVnicRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateVnic = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateVnic',
                request_serializer=cloudrpc__pb2.UpdateVnicRequest.SerializeToString,
                response_deserializer=vnic__pb2.Vnic.FromString,
                )
        self.ListVnics = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListVnics',
                request_serializer=cloudrpc__pb2.ListVnicsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListVnicsResponse.FromString,
                )
        self.GetVnic = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetVnic',
                request_serializer=cloudrpc__pb2.GetVnicRequest.SerializeToString,
                response_deserializer=vnic__pb2.Vnic.FromString,
                )
        self.CreateInterface = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateInterface',
                request_serializer=cloudrpc__pb2.CreateInterfaceRequest.SerializeToString,
                response_deserializer=interface__pb2.Interface.FromString,
                )
        self.DeleteInterface = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteInterface',
                request_serializer=cloudrpc__pb2.DeleteInterfaceRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateInterface = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateInterface',
                request_serializer=cloudrpc__pb2.UpdateInterfaceRequest.SerializeToString,
                response_deserializer=interface__pb2.Interface.FromString,
                )
        self.ListInterfaces = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListInterfaces',
                request_serializer=cloudrpc__pb2.ListInterfacesRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListInterfacesResponse.FromString,
                )
        self.GetInterface = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetInterface',
                request_serializer=cloudrpc__pb2.GetInterfaceRequest.SerializeToString,
                response_deserializer=interface__pb2.Interface.FromString,
                )
        self.CreateRouteTable = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateRouteTable',
                request_serializer=cloudrpc__pb2.CreateRouteTableRequest.SerializeToString,
                response_deserializer=route__pb2.RouteTable.FromString,
                )
        self.DeleteRouteTable = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteRouteTable',
                request_serializer=cloudrpc__pb2.DeleteRouteTableRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateRouteTable = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateRouteTable',
                request_serializer=cloudrpc__pb2.UpdateRouteTableRequest.SerializeToString,
                response_deserializer=route__pb2.RouteTable.FromString,
                )
        self.ListRouteTables = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListRouteTables',
                request_serializer=cloudrpc__pb2.ListRouteTablesRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListRouteTablesResponse.FromString,
                )
        self.GetRouteTable = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetRouteTable',
                request_serializer=cloudrpc__pb2.GetRouteTableRequest.SerializeToString,
                response_deserializer=route__pb2.RouteTable.FromString,
                )
        self.CreateRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateRoute',
                request_serializer=cloudrpc__pb2.CreateRouteRequest.SerializeToString,
                response_deserializer=route__pb2.Route.FromString,
                )
        self.DeleteRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteRoute',
                request_serializer=cloudrpc__pb2.DeleteRouteRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateRoute',
                request_serializer=cloudrpc__pb2.UpdateRouteRequest.SerializeToString,
                response_deserializer=route__pb2.Route.FromString,
                )
        self.ListRoutes = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListRoutes',
                request_serializer=cloudrpc__pb2.ListRoutesRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListRoutesResponse.FromString,
                )
        self.GetRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetRoute',
                request_serializer=cloudrpc__pb2.GetRouteRequest.SerializeToString,
                response_deserializer=route__pb2.Route.FromString,
                )
        self.CreateUnderlayRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateUnderlayRoute',
                request_serializer=cloudrpc__pb2.CreateUnderlayRouteRequest.SerializeToString,
                response_deserializer=underlayroute__pb2.UnderlayRoute.FromString,
                )
        self.DeleteUnderlayRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteUnderlayRoute',
                request_serializer=cloudrpc__pb2.DeleteUnderlayRouteRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateUnderlayRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateUnderlayRoute',
                request_serializer=cloudrpc__pb2.UpdateUnderlayRouteRequest.SerializeToString,
                response_deserializer=underlayroute__pb2.UnderlayRoute.FromString,
                )
        self.ListUnderlayRoutes = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListUnderlayRoutes',
                request_serializer=cloudrpc__pb2.ListUnderlayRoutesRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListUnderlayRoutesResponse.FromString,
                )
        self.GetUnderlayRoute = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetUnderlayRoute',
                request_serializer=cloudrpc__pb2.GetUnderlayRouteRequest.SerializeToString,
                response_deserializer=underlayroute__pb2.UnderlayRoute.FromString,
                )
        self.CreateBgp = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateBgp',
                request_serializer=cloudrpc__pb2.CreateBgpRequest.SerializeToString,
                response_deserializer=bgp__pb2.Bgp.FromString,
                )
        self.DeleteBgp = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteBgp',
                request_serializer=cloudrpc__pb2.DeleteBgpRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateBgp = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateBgp',
                request_serializer=cloudrpc__pb2.UpdateBgpRequest.SerializeToString,
                response_deserializer=bgp__pb2.Bgp.FromString,
                )
        self.ListBgps = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListBgps',
                request_serializer=cloudrpc__pb2.ListBgpsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListBgpsResponse.FromString,
                )
        self.GetBgp = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetBgp',
                request_serializer=cloudrpc__pb2.GetBgpRequest.SerializeToString,
                response_deserializer=bgp__pb2.Bgp.FromString,
                )
        self.CreateBGPPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateBGPPeer',
                request_serializer=cloudrpc__pb2.CreateBGPPeerRequest.SerializeToString,
                response_deserializer=bgp__pb2.BGPPeer.FromString,
                )
        self.DeleteBGPPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteBGPPeer',
                request_serializer=cloudrpc__pb2.DeleteBGPPeerRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateBGPPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateBGPPeer',
                request_serializer=cloudrpc__pb2.UpdateBGPPeerRequest.SerializeToString,
                response_deserializer=bgp__pb2.BGPPeer.FromString,
                )
        self.ListBGPPeers = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListBGPPeers',
                request_serializer=cloudrpc__pb2.ListBGPPeersRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListBGPPeersResponse.FromString,
                )
        self.GetBGPPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetBGPPeer',
                request_serializer=cloudrpc__pb2.GetBGPPeerRequest.SerializeToString,
                response_deserializer=bgp__pb2.BGPPeer.FromString,
                )
        self.CreateBGPPeerAf = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateBGPPeerAf',
                request_serializer=cloudrpc__pb2.CreateBGPPeerAfRequest.SerializeToString,
                response_deserializer=bgp__pb2.BGPPeerAf.FromString,
                )
        self.DeleteBGPPeerAf = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteBGPPeerAf',
                request_serializer=cloudrpc__pb2.DeleteBGPPeerAfRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateBGPPeerAf = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateBGPPeerAf',
                request_serializer=cloudrpc__pb2.UpdateBGPPeerAfRequest.SerializeToString,
                response_deserializer=bgp__pb2.BGPPeerAf.FromString,
                )
        self.ListBGPPeerAfs = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListBGPPeerAfs',
                request_serializer=cloudrpc__pb2.ListBGPPeerAfsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListBGPPeerAfsResponse.FromString,
                )
        self.GetBGPPeerAf = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetBGPPeerAf',
                request_serializer=cloudrpc__pb2.GetBGPPeerAfRequest.SerializeToString,
                response_deserializer=bgp__pb2.BGPPeerAf.FromString,
                )
        self.CreateMapping = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateMapping',
                request_serializer=cloudrpc__pb2.CreateMappingRequest.SerializeToString,
                response_deserializer=mapping__pb2.Mapping.FromString,
                )
        self.DeleteMapping = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteMapping',
                request_serializer=cloudrpc__pb2.DeleteMappingRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateMapping = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateMapping',
                request_serializer=cloudrpc__pb2.UpdateMappingRequest.SerializeToString,
                response_deserializer=mapping__pb2.Mapping.FromString,
                )
        self.ListMappings = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListMappings',
                request_serializer=cloudrpc__pb2.ListMappingsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListMappingsResponse.FromString,
                )
        self.GetMapping = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetMapping',
                request_serializer=cloudrpc__pb2.GetMappingRequest.SerializeToString,
                response_deserializer=mapping__pb2.Mapping.FromString,
                )
        self.CreateNextHop = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateNextHop',
                request_serializer=cloudrpc__pb2.CreateNextHopRequest.SerializeToString,
                response_deserializer=nexthop__pb2.NextHop.FromString,
                )
        self.DeleteNextHop = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteNextHop',
                request_serializer=cloudrpc__pb2.DeleteNextHopRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateNextHop = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateNextHop',
                request_serializer=cloudrpc__pb2.UpdateNextHopRequest.SerializeToString,
                response_deserializer=nexthop__pb2.NextHop.FromString,
                )
        self.ListNextHop = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListNextHop',
                request_serializer=cloudrpc__pb2.ListNextHopRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListNextHopsResponse.FromString,
                )
        self.GetNextHop = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetNextHop',
                request_serializer=cloudrpc__pb2.GetNextHopRequest.SerializeToString,
                response_deserializer=nexthop__pb2.NextHop.FromString,
                )
        self.CreateNextHopGroup = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateNextHopGroup',
                request_serializer=cloudrpc__pb2.CreateNextHopGroupRequest.SerializeToString,
                response_deserializer=nexthop__pb2.NextHopGroup.FromString,
                )
        self.DeleteNextHopGroup = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteNextHopGroup',
                request_serializer=cloudrpc__pb2.DeleteNextHopGroupRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateNextHopGroup = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateNextHopGroup',
                request_serializer=cloudrpc__pb2.UpdateNextHopGroupRequest.SerializeToString,
                response_deserializer=nexthop__pb2.NextHopGroup.FromString,
                )
        self.ListNextHopGroups = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListNextHopGroups',
                request_serializer=cloudrpc__pb2.ListNextHopGroupsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListNextHopGroupsResponse.FromString,
                )
        self.GetNextHopGroup = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetNextHopGroup',
                request_serializer=cloudrpc__pb2.GetNextHopGroupRequest.SerializeToString,
                response_deserializer=nexthop__pb2.NextHopGroup.FromString,
                )
        self.CreateSubnet = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSubnet',
                request_serializer=cloudrpc__pb2.CreateSubnetRequest.SerializeToString,
                response_deserializer=subnet__pb2.Subnet.FromString,
                )
        self.DeleteSubnet = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSubnet',
                request_serializer=cloudrpc__pb2.DeleteSubnetRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateSubnet = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSubnet',
                request_serializer=cloudrpc__pb2.UpdateSubnetRequest.SerializeToString,
                response_deserializer=subnet__pb2.Subnet.FromString,
                )
        self.ListSubnets = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSubnets',
                request_serializer=cloudrpc__pb2.ListSubnetsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListSubnetsResponse.FromString,
                )
        self.GetSubnet = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSubnet',
                request_serializer=cloudrpc__pb2.GetSubnetRequest.SerializeToString,
                response_deserializer=subnet__pb2.Subnet.FromString,
                )
        self.CreateTunnel = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateTunnel',
                request_serializer=cloudrpc__pb2.CreateTunnelRequest.SerializeToString,
                response_deserializer=tunnel__pb2.Tunnel.FromString,
                )
        self.DeleteTunnel = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteTunnel',
                request_serializer=cloudrpc__pb2.DeleteTunnelRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateTunnel = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateTunnel',
                request_serializer=cloudrpc__pb2.UpdateTunnelRequest.SerializeToString,
                response_deserializer=tunnel__pb2.Tunnel.FromString,
                )
        self.ListTunnels = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListTunnels',
                request_serializer=cloudrpc__pb2.ListTunnelsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListTunnelsResponse.FromString,
                )
        self.GetTunnel = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetTunnel',
                request_serializer=cloudrpc__pb2.GetTunnelRequest.SerializeToString,
                response_deserializer=tunnel__pb2.Tunnel.FromString,
                )
        self.CreateVpc = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateVpc',
                request_serializer=cloudrpc__pb2.CreateVpcRequest.SerializeToString,
                response_deserializer=vpc__pb2.Vpc.FromString,
                )
        self.DeleteVpc = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteVpc',
                request_serializer=cloudrpc__pb2.DeleteVpcRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateVpc = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateVpc',
                request_serializer=cloudrpc__pb2.UpdateVpcRequest.SerializeToString,
                response_deserializer=vpc__pb2.Vpc.FromString,
                )
        self.ListVpcs = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListVpcs',
                request_serializer=cloudrpc__pb2.ListVpcsRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListVpcsResponse.FromString,
                )
        self.GetVpc = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetVpc',
                request_serializer=cloudrpc__pb2.GetVpcRequest.SerializeToString,
                response_deserializer=vpc__pb2.Vpc.FromString,
                )
        self.CreateVPCPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateVPCPeer',
                request_serializer=cloudrpc__pb2.CreateVPCPeerRequest.SerializeToString,
                response_deserializer=vpc__pb2.VPCPeer.FromString,
                )
        self.DeleteVPCPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteVPCPeer',
                request_serializer=cloudrpc__pb2.DeleteVPCPeerRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateVPCPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateVPCPeer',
                request_serializer=cloudrpc__pb2.UpdateVPCPeerRequest.SerializeToString,
                response_deserializer=vpc__pb2.VPCPeer.FromString,
                )
        self.ListVPCPeers = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListVPCPeers',
                request_serializer=cloudrpc__pb2.ListVPCPeersRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListVPCPeersResponse.FromString,
                )
        self.GetVPCPeer = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetVPCPeer',
                request_serializer=cloudrpc__pb2.GetVPCPeerRequest.SerializeToString,
                response_deserializer=vpc__pb2.VPCPeer.FromString,
                )
        self.CreateSecurityPolicy = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSecurityPolicy',
                request_serializer=cloudrpc__pb2.CreateSecurityPolicyRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityPolicy.FromString,
                )
        self.DeleteSecurityPolicy = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSecurityPolicy',
                request_serializer=cloudrpc__pb2.DeleteSecurityPolicyRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateSecurityPolicy = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSecurityPolicy',
                request_serializer=cloudrpc__pb2.UpdateSecurityPolicyRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityPolicy.FromString,
                )
        self.ListSecurityPolicys = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSecurityPolicys',
                request_serializer=cloudrpc__pb2.ListSecurityPolicysRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListSecurityPolicysResponse.FromString,
                )
        self.GetSecurityPolicy = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSecurityPolicy',
                request_serializer=cloudrpc__pb2.GetSecurityPolicyRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityPolicy.FromString,
                )
        self.CreateSecurityRule = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSecurityRule',
                request_serializer=cloudrpc__pb2.CreateSecurityRuleRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityRule.FromString,
                )
        self.DeleteSecurityRule = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSecurityRule',
                request_serializer=cloudrpc__pb2.DeleteSecurityRuleRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateSecurityRule = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSecurityRule',
                request_serializer=cloudrpc__pb2.UpdateSecurityRuleRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityRule.FromString,
                )
        self.ListSecurityRules = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSecurityRules',
                request_serializer=cloudrpc__pb2.ListSecurityRulesRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListSecurityRulesResponse.FromString,
                )
        self.GetSecurityRule = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSecurityRule',
                request_serializer=cloudrpc__pb2.GetSecurityRuleRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityRule.FromString,
                )
        self.CreateSecurityProfile = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSecurityProfile',
                request_serializer=cloudrpc__pb2.CreateSecurityProfileRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityProfile.FromString,
                )
        self.DeleteSecurityProfile = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSecurityProfile',
                request_serializer=cloudrpc__pb2.DeleteSecurityProfileRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateSecurityProfile = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSecurityProfile',
                request_serializer=cloudrpc__pb2.UpdateSecurityProfileRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityProfile.FromString,
                )
        self.ListSecurityProfiles = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSecurityProfiles',
                request_serializer=cloudrpc__pb2.ListSecurityProfilesRequest.SerializeToString,
                response_deserializer=cloudrpc__pb2.ListSecurityProfilesResponse.FromString,
                )
        self.GetSecurityProfile = channel.unary_unary(
                '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSecurityProfile',
                request_serializer=cloudrpc__pb2.GetSecurityProfileRequest.SerializeToString,
                response_deserializer=networkpolicy__pb2.SecurityProfile.FromString,
                )


class CloudInfraServiceServicer(object):
    """Cloud Infra Service configure/operate objects to manage cloud infrastructure
    Device Capabilities APIs
    Device APIs
    Port APIs
    Vnic APIs
    Interface APIs
    RouteTable APIs
    Route APIs
    Mapping APIs
    SecurityPolicy APIs
    SecurityRule APIs
    SecurityProfile APIs


    Cloud Infra APIs - to manage a multi-node cloud infrastructure on a xPU
    """

    def GetDeviceCapabilities(self, request, context):
        """device capabilities
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateDevice(self, request, context):
        """device apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteDevice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateDevice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListDevices(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDevice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdatePort(self, request, context):
        """port apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListPorts(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPort(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateVnic(self, request, context):
        """vnic apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteVnic(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateVnic(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListVnics(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetVnic(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateInterface(self, request, context):
        """interface apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteInterface(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateInterface(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListInterfaces(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetInterface(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateRouteTable(self, request, context):
        """routetable apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteRouteTable(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateRouteTable(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListRouteTables(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRouteTable(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateRoute(self, request, context):
        """route apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteRoute(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateRoute(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListRoutes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRoute(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateUnderlayRoute(self, request, context):
        """underlayroute apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteUnderlayRoute(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateUnderlayRoute(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListUnderlayRoutes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUnderlayRoute(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateBgp(self, request, context):
        """bgp (optional) apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteBgp(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateBgp(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListBgps(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBgp(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateBGPPeer(self, request, context):
        """bgppeer (optional) apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteBGPPeer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateBGPPeer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListBGPPeers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBGPPeer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateBGPPeerAf(self, request, context):
        """bgppeeraf (optional) apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteBGPPeerAf(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateBGPPeerAf(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListBGPPeerAfs(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBGPPeerAf(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateMapping(self, request, context):
        """mapping apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteMapping(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateMapping(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListMappings(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetMapping(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateNextHop(self, request, context):
        """nexthop apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteNextHop(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateNextHop(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListNextHop(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetNextHop(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateNextHopGroup(self, request, context):
        """nexthopgroup apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteNextHopGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateNextHopGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListNextHopGroups(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetNextHopGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSubnet(self, request, context):
        """subnet apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteSubnet(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateSubnet(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSubnets(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSubnet(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateTunnel(self, request, context):
        """tunnel apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteTunnel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateTunnel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListTunnels(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTunnel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateVpc(self, request, context):
        """vpc apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteVpc(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateVpc(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListVpcs(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetVpc(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateVPCPeer(self, request, context):
        """vpcpeer apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteVPCPeer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateVPCPeer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListVPCPeers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetVPCPeer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSecurityPolicy(self, request, context):
        """securitypolicy apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteSecurityPolicy(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateSecurityPolicy(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSecurityPolicys(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSecurityPolicy(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSecurityRule(self, request, context):
        """securityrule apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteSecurityRule(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateSecurityRule(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSecurityRules(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSecurityRule(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSecurityProfile(self, request, context):
        """securityprofile apis
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteSecurityProfile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateSecurityProfile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSecurityProfiles(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSecurityProfile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_CloudInfraServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetDeviceCapabilities': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDeviceCapabilities,
                    request_deserializer=cloudrpc__pb2.GetDeviceCapabilitiesRequest.FromString,
                    response_serializer=device__pb2.DeviceCapabilities.SerializeToString,
            ),
            'CreateDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateDevice,
                    request_deserializer=cloudrpc__pb2.CreateDeviceRequest.FromString,
                    response_serializer=device__pb2.Device.SerializeToString,
            ),
            'DeleteDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteDevice,
                    request_deserializer=cloudrpc__pb2.DeleteDeviceRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateDevice,
                    request_deserializer=cloudrpc__pb2.UpdateDeviceRequest.FromString,
                    response_serializer=device__pb2.Device.SerializeToString,
            ),
            'ListDevices': grpc.unary_unary_rpc_method_handler(
                    servicer.ListDevices,
                    request_deserializer=cloudrpc__pb2.ListDevicesRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListDevicesResponse.SerializeToString,
            ),
            'GetDevice': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDevice,
                    request_deserializer=cloudrpc__pb2.GetDeviceRequest.FromString,
                    response_serializer=device__pb2.Device.SerializeToString,
            ),
            'UpdatePort': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdatePort,
                    request_deserializer=cloudrpc__pb2.UpdatePortRequest.FromString,
                    response_serializer=port__pb2.Port.SerializeToString,
            ),
            'ListPorts': grpc.unary_unary_rpc_method_handler(
                    servicer.ListPorts,
                    request_deserializer=cloudrpc__pb2.ListPortsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListPortsResponse.SerializeToString,
            ),
            'GetPort': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPort,
                    request_deserializer=cloudrpc__pb2.GetPortRequest.FromString,
                    response_serializer=port__pb2.Port.SerializeToString,
            ),
            'CreateVnic': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateVnic,
                    request_deserializer=cloudrpc__pb2.CreateVnicRequest.FromString,
                    response_serializer=vnic__pb2.Vnic.SerializeToString,
            ),
            'DeleteVnic': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteVnic,
                    request_deserializer=cloudrpc__pb2.DeleteVnicRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateVnic': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateVnic,
                    request_deserializer=cloudrpc__pb2.UpdateVnicRequest.FromString,
                    response_serializer=vnic__pb2.Vnic.SerializeToString,
            ),
            'ListVnics': grpc.unary_unary_rpc_method_handler(
                    servicer.ListVnics,
                    request_deserializer=cloudrpc__pb2.ListVnicsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListVnicsResponse.SerializeToString,
            ),
            'GetVnic': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVnic,
                    request_deserializer=cloudrpc__pb2.GetVnicRequest.FromString,
                    response_serializer=vnic__pb2.Vnic.SerializeToString,
            ),
            'CreateInterface': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateInterface,
                    request_deserializer=cloudrpc__pb2.CreateInterfaceRequest.FromString,
                    response_serializer=interface__pb2.Interface.SerializeToString,
            ),
            'DeleteInterface': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteInterface,
                    request_deserializer=cloudrpc__pb2.DeleteInterfaceRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateInterface': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateInterface,
                    request_deserializer=cloudrpc__pb2.UpdateInterfaceRequest.FromString,
                    response_serializer=interface__pb2.Interface.SerializeToString,
            ),
            'ListInterfaces': grpc.unary_unary_rpc_method_handler(
                    servicer.ListInterfaces,
                    request_deserializer=cloudrpc__pb2.ListInterfacesRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListInterfacesResponse.SerializeToString,
            ),
            'GetInterface': grpc.unary_unary_rpc_method_handler(
                    servicer.GetInterface,
                    request_deserializer=cloudrpc__pb2.GetInterfaceRequest.FromString,
                    response_serializer=interface__pb2.Interface.SerializeToString,
            ),
            'CreateRouteTable': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateRouteTable,
                    request_deserializer=cloudrpc__pb2.CreateRouteTableRequest.FromString,
                    response_serializer=route__pb2.RouteTable.SerializeToString,
            ),
            'DeleteRouteTable': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteRouteTable,
                    request_deserializer=cloudrpc__pb2.DeleteRouteTableRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateRouteTable': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateRouteTable,
                    request_deserializer=cloudrpc__pb2.UpdateRouteTableRequest.FromString,
                    response_serializer=route__pb2.RouteTable.SerializeToString,
            ),
            'ListRouteTables': grpc.unary_unary_rpc_method_handler(
                    servicer.ListRouteTables,
                    request_deserializer=cloudrpc__pb2.ListRouteTablesRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListRouteTablesResponse.SerializeToString,
            ),
            'GetRouteTable': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRouteTable,
                    request_deserializer=cloudrpc__pb2.GetRouteTableRequest.FromString,
                    response_serializer=route__pb2.RouteTable.SerializeToString,
            ),
            'CreateRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateRoute,
                    request_deserializer=cloudrpc__pb2.CreateRouteRequest.FromString,
                    response_serializer=route__pb2.Route.SerializeToString,
            ),
            'DeleteRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteRoute,
                    request_deserializer=cloudrpc__pb2.DeleteRouteRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateRoute,
                    request_deserializer=cloudrpc__pb2.UpdateRouteRequest.FromString,
                    response_serializer=route__pb2.Route.SerializeToString,
            ),
            'ListRoutes': grpc.unary_unary_rpc_method_handler(
                    servicer.ListRoutes,
                    request_deserializer=cloudrpc__pb2.ListRoutesRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListRoutesResponse.SerializeToString,
            ),
            'GetRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRoute,
                    request_deserializer=cloudrpc__pb2.GetRouteRequest.FromString,
                    response_serializer=route__pb2.Route.SerializeToString,
            ),
            'CreateUnderlayRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateUnderlayRoute,
                    request_deserializer=cloudrpc__pb2.CreateUnderlayRouteRequest.FromString,
                    response_serializer=underlayroute__pb2.UnderlayRoute.SerializeToString,
            ),
            'DeleteUnderlayRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteUnderlayRoute,
                    request_deserializer=cloudrpc__pb2.DeleteUnderlayRouteRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateUnderlayRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateUnderlayRoute,
                    request_deserializer=cloudrpc__pb2.UpdateUnderlayRouteRequest.FromString,
                    response_serializer=underlayroute__pb2.UnderlayRoute.SerializeToString,
            ),
            'ListUnderlayRoutes': grpc.unary_unary_rpc_method_handler(
                    servicer.ListUnderlayRoutes,
                    request_deserializer=cloudrpc__pb2.ListUnderlayRoutesRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListUnderlayRoutesResponse.SerializeToString,
            ),
            'GetUnderlayRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUnderlayRoute,
                    request_deserializer=cloudrpc__pb2.GetUnderlayRouteRequest.FromString,
                    response_serializer=underlayroute__pb2.UnderlayRoute.SerializeToString,
            ),
            'CreateBgp': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateBgp,
                    request_deserializer=cloudrpc__pb2.CreateBgpRequest.FromString,
                    response_serializer=bgp__pb2.Bgp.SerializeToString,
            ),
            'DeleteBgp': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteBgp,
                    request_deserializer=cloudrpc__pb2.DeleteBgpRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateBgp': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateBgp,
                    request_deserializer=cloudrpc__pb2.UpdateBgpRequest.FromString,
                    response_serializer=bgp__pb2.Bgp.SerializeToString,
            ),
            'ListBgps': grpc.unary_unary_rpc_method_handler(
                    servicer.ListBgps,
                    request_deserializer=cloudrpc__pb2.ListBgpsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListBgpsResponse.SerializeToString,
            ),
            'GetBgp': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBgp,
                    request_deserializer=cloudrpc__pb2.GetBgpRequest.FromString,
                    response_serializer=bgp__pb2.Bgp.SerializeToString,
            ),
            'CreateBGPPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateBGPPeer,
                    request_deserializer=cloudrpc__pb2.CreateBGPPeerRequest.FromString,
                    response_serializer=bgp__pb2.BGPPeer.SerializeToString,
            ),
            'DeleteBGPPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteBGPPeer,
                    request_deserializer=cloudrpc__pb2.DeleteBGPPeerRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateBGPPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateBGPPeer,
                    request_deserializer=cloudrpc__pb2.UpdateBGPPeerRequest.FromString,
                    response_serializer=bgp__pb2.BGPPeer.SerializeToString,
            ),
            'ListBGPPeers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListBGPPeers,
                    request_deserializer=cloudrpc__pb2.ListBGPPeersRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListBGPPeersResponse.SerializeToString,
            ),
            'GetBGPPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBGPPeer,
                    request_deserializer=cloudrpc__pb2.GetBGPPeerRequest.FromString,
                    response_serializer=bgp__pb2.BGPPeer.SerializeToString,
            ),
            'CreateBGPPeerAf': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateBGPPeerAf,
                    request_deserializer=cloudrpc__pb2.CreateBGPPeerAfRequest.FromString,
                    response_serializer=bgp__pb2.BGPPeerAf.SerializeToString,
            ),
            'DeleteBGPPeerAf': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteBGPPeerAf,
                    request_deserializer=cloudrpc__pb2.DeleteBGPPeerAfRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateBGPPeerAf': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateBGPPeerAf,
                    request_deserializer=cloudrpc__pb2.UpdateBGPPeerAfRequest.FromString,
                    response_serializer=bgp__pb2.BGPPeerAf.SerializeToString,
            ),
            'ListBGPPeerAfs': grpc.unary_unary_rpc_method_handler(
                    servicer.ListBGPPeerAfs,
                    request_deserializer=cloudrpc__pb2.ListBGPPeerAfsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListBGPPeerAfsResponse.SerializeToString,
            ),
            'GetBGPPeerAf': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBGPPeerAf,
                    request_deserializer=cloudrpc__pb2.GetBGPPeerAfRequest.FromString,
                    response_serializer=bgp__pb2.BGPPeerAf.SerializeToString,
            ),
            'CreateMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateMapping,
                    request_deserializer=cloudrpc__pb2.CreateMappingRequest.FromString,
                    response_serializer=mapping__pb2.Mapping.SerializeToString,
            ),
            'DeleteMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteMapping,
                    request_deserializer=cloudrpc__pb2.DeleteMappingRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateMapping,
                    request_deserializer=cloudrpc__pb2.UpdateMappingRequest.FromString,
                    response_serializer=mapping__pb2.Mapping.SerializeToString,
            ),
            'ListMappings': grpc.unary_unary_rpc_method_handler(
                    servicer.ListMappings,
                    request_deserializer=cloudrpc__pb2.ListMappingsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListMappingsResponse.SerializeToString,
            ),
            'GetMapping': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMapping,
                    request_deserializer=cloudrpc__pb2.GetMappingRequest.FromString,
                    response_serializer=mapping__pb2.Mapping.SerializeToString,
            ),
            'CreateNextHop': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateNextHop,
                    request_deserializer=cloudrpc__pb2.CreateNextHopRequest.FromString,
                    response_serializer=nexthop__pb2.NextHop.SerializeToString,
            ),
            'DeleteNextHop': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteNextHop,
                    request_deserializer=cloudrpc__pb2.DeleteNextHopRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateNextHop': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateNextHop,
                    request_deserializer=cloudrpc__pb2.UpdateNextHopRequest.FromString,
                    response_serializer=nexthop__pb2.NextHop.SerializeToString,
            ),
            'ListNextHop': grpc.unary_unary_rpc_method_handler(
                    servicer.ListNextHop,
                    request_deserializer=cloudrpc__pb2.ListNextHopRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListNextHopsResponse.SerializeToString,
            ),
            'GetNextHop': grpc.unary_unary_rpc_method_handler(
                    servicer.GetNextHop,
                    request_deserializer=cloudrpc__pb2.GetNextHopRequest.FromString,
                    response_serializer=nexthop__pb2.NextHop.SerializeToString,
            ),
            'CreateNextHopGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateNextHopGroup,
                    request_deserializer=cloudrpc__pb2.CreateNextHopGroupRequest.FromString,
                    response_serializer=nexthop__pb2.NextHopGroup.SerializeToString,
            ),
            'DeleteNextHopGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteNextHopGroup,
                    request_deserializer=cloudrpc__pb2.DeleteNextHopGroupRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateNextHopGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateNextHopGroup,
                    request_deserializer=cloudrpc__pb2.UpdateNextHopGroupRequest.FromString,
                    response_serializer=nexthop__pb2.NextHopGroup.SerializeToString,
            ),
            'ListNextHopGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.ListNextHopGroups,
                    request_deserializer=cloudrpc__pb2.ListNextHopGroupsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListNextHopGroupsResponse.SerializeToString,
            ),
            'GetNextHopGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GetNextHopGroup,
                    request_deserializer=cloudrpc__pb2.GetNextHopGroupRequest.FromString,
                    response_serializer=nexthop__pb2.NextHopGroup.SerializeToString,
            ),
            'CreateSubnet': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSubnet,
                    request_deserializer=cloudrpc__pb2.CreateSubnetRequest.FromString,
                    response_serializer=subnet__pb2.Subnet.SerializeToString,
            ),
            'DeleteSubnet': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSubnet,
                    request_deserializer=cloudrpc__pb2.DeleteSubnetRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateSubnet': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateSubnet,
                    request_deserializer=cloudrpc__pb2.UpdateSubnetRequest.FromString,
                    response_serializer=subnet__pb2.Subnet.SerializeToString,
            ),
            'ListSubnets': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSubnets,
                    request_deserializer=cloudrpc__pb2.ListSubnetsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListSubnetsResponse.SerializeToString,
            ),
            'GetSubnet': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSubnet,
                    request_deserializer=cloudrpc__pb2.GetSubnetRequest.FromString,
                    response_serializer=subnet__pb2.Subnet.SerializeToString,
            ),
            'CreateTunnel': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTunnel,
                    request_deserializer=cloudrpc__pb2.CreateTunnelRequest.FromString,
                    response_serializer=tunnel__pb2.Tunnel.SerializeToString,
            ),
            'DeleteTunnel': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteTunnel,
                    request_deserializer=cloudrpc__pb2.DeleteTunnelRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateTunnel': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateTunnel,
                    request_deserializer=cloudrpc__pb2.UpdateTunnelRequest.FromString,
                    response_serializer=tunnel__pb2.Tunnel.SerializeToString,
            ),
            'ListTunnels': grpc.unary_unary_rpc_method_handler(
                    servicer.ListTunnels,
                    request_deserializer=cloudrpc__pb2.ListTunnelsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListTunnelsResponse.SerializeToString,
            ),
            'GetTunnel': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTunnel,
                    request_deserializer=cloudrpc__pb2.GetTunnelRequest.FromString,
                    response_serializer=tunnel__pb2.Tunnel.SerializeToString,
            ),
            'CreateVpc': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateVpc,
                    request_deserializer=cloudrpc__pb2.CreateVpcRequest.FromString,
                    response_serializer=vpc__pb2.Vpc.SerializeToString,
            ),
            'DeleteVpc': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteVpc,
                    request_deserializer=cloudrpc__pb2.DeleteVpcRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateVpc': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateVpc,
                    request_deserializer=cloudrpc__pb2.UpdateVpcRequest.FromString,
                    response_serializer=vpc__pb2.Vpc.SerializeToString,
            ),
            'ListVpcs': grpc.unary_unary_rpc_method_handler(
                    servicer.ListVpcs,
                    request_deserializer=cloudrpc__pb2.ListVpcsRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListVpcsResponse.SerializeToString,
            ),
            'GetVpc': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVpc,
                    request_deserializer=cloudrpc__pb2.GetVpcRequest.FromString,
                    response_serializer=vpc__pb2.Vpc.SerializeToString,
            ),
            'CreateVPCPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateVPCPeer,
                    request_deserializer=cloudrpc__pb2.CreateVPCPeerRequest.FromString,
                    response_serializer=vpc__pb2.VPCPeer.SerializeToString,
            ),
            'DeleteVPCPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteVPCPeer,
                    request_deserializer=cloudrpc__pb2.DeleteVPCPeerRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateVPCPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateVPCPeer,
                    request_deserializer=cloudrpc__pb2.UpdateVPCPeerRequest.FromString,
                    response_serializer=vpc__pb2.VPCPeer.SerializeToString,
            ),
            'ListVPCPeers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListVPCPeers,
                    request_deserializer=cloudrpc__pb2.ListVPCPeersRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListVPCPeersResponse.SerializeToString,
            ),
            'GetVPCPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVPCPeer,
                    request_deserializer=cloudrpc__pb2.GetVPCPeerRequest.FromString,
                    response_serializer=vpc__pb2.VPCPeer.SerializeToString,
            ),
            'CreateSecurityPolicy': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSecurityPolicy,
                    request_deserializer=cloudrpc__pb2.CreateSecurityPolicyRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityPolicy.SerializeToString,
            ),
            'DeleteSecurityPolicy': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSecurityPolicy,
                    request_deserializer=cloudrpc__pb2.DeleteSecurityPolicyRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateSecurityPolicy': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateSecurityPolicy,
                    request_deserializer=cloudrpc__pb2.UpdateSecurityPolicyRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityPolicy.SerializeToString,
            ),
            'ListSecurityPolicys': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSecurityPolicys,
                    request_deserializer=cloudrpc__pb2.ListSecurityPolicysRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListSecurityPolicysResponse.SerializeToString,
            ),
            'GetSecurityPolicy': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSecurityPolicy,
                    request_deserializer=cloudrpc__pb2.GetSecurityPolicyRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityPolicy.SerializeToString,
            ),
            'CreateSecurityRule': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSecurityRule,
                    request_deserializer=cloudrpc__pb2.CreateSecurityRuleRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityRule.SerializeToString,
            ),
            'DeleteSecurityRule': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSecurityRule,
                    request_deserializer=cloudrpc__pb2.DeleteSecurityRuleRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateSecurityRule': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateSecurityRule,
                    request_deserializer=cloudrpc__pb2.UpdateSecurityRuleRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityRule.SerializeToString,
            ),
            'ListSecurityRules': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSecurityRules,
                    request_deserializer=cloudrpc__pb2.ListSecurityRulesRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListSecurityRulesResponse.SerializeToString,
            ),
            'GetSecurityRule': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSecurityRule,
                    request_deserializer=cloudrpc__pb2.GetSecurityRuleRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityRule.SerializeToString,
            ),
            'CreateSecurityProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSecurityProfile,
                    request_deserializer=cloudrpc__pb2.CreateSecurityProfileRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityProfile.SerializeToString,
            ),
            'DeleteSecurityProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSecurityProfile,
                    request_deserializer=cloudrpc__pb2.DeleteSecurityProfileRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateSecurityProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateSecurityProfile,
                    request_deserializer=cloudrpc__pb2.UpdateSecurityProfileRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityProfile.SerializeToString,
            ),
            'ListSecurityProfiles': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSecurityProfiles,
                    request_deserializer=cloudrpc__pb2.ListSecurityProfilesRequest.FromString,
                    response_serializer=cloudrpc__pb2.ListSecurityProfilesResponse.SerializeToString,
            ),
            'GetSecurityProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSecurityProfile,
                    request_deserializer=cloudrpc__pb2.GetSecurityProfileRequest.FromString,
                    response_serializer=networkpolicy__pb2.SecurityProfile.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'opi_api.network.cloud.v1alpha1.CloudInfraService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class CloudInfraService(object):
    """Cloud Infra Service configure/operate objects to manage cloud infrastructure
    Device Capabilities APIs
    Device APIs
    Port APIs
    Vnic APIs
    Interface APIs
    RouteTable APIs
    Route APIs
    Mapping APIs
    SecurityPolicy APIs
    SecurityRule APIs
    SecurityProfile APIs


    Cloud Infra APIs - to manage a multi-node cloud infrastructure on a xPU
    """

    @staticmethod
    def GetDeviceCapabilities(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetDeviceCapabilities',
            cloudrpc__pb2.GetDeviceCapabilitiesRequest.SerializeToString,
            device__pb2.DeviceCapabilities.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateDevice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateDevice',
            cloudrpc__pb2.CreateDeviceRequest.SerializeToString,
            device__pb2.Device.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteDevice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteDevice',
            cloudrpc__pb2.DeleteDeviceRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateDevice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateDevice',
            cloudrpc__pb2.UpdateDeviceRequest.SerializeToString,
            device__pb2.Device.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListDevices(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListDevices',
            cloudrpc__pb2.ListDevicesRequest.SerializeToString,
            cloudrpc__pb2.ListDevicesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDevice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetDevice',
            cloudrpc__pb2.GetDeviceRequest.SerializeToString,
            device__pb2.Device.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdatePort(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdatePort',
            cloudrpc__pb2.UpdatePortRequest.SerializeToString,
            port__pb2.Port.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListPorts(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListPorts',
            cloudrpc__pb2.ListPortsRequest.SerializeToString,
            cloudrpc__pb2.ListPortsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPort(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetPort',
            cloudrpc__pb2.GetPortRequest.SerializeToString,
            port__pb2.Port.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateVnic(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateVnic',
            cloudrpc__pb2.CreateVnicRequest.SerializeToString,
            vnic__pb2.Vnic.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteVnic(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteVnic',
            cloudrpc__pb2.DeleteVnicRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateVnic(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateVnic',
            cloudrpc__pb2.UpdateVnicRequest.SerializeToString,
            vnic__pb2.Vnic.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListVnics(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListVnics',
            cloudrpc__pb2.ListVnicsRequest.SerializeToString,
            cloudrpc__pb2.ListVnicsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVnic(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetVnic',
            cloudrpc__pb2.GetVnicRequest.SerializeToString,
            vnic__pb2.Vnic.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateInterface(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateInterface',
            cloudrpc__pb2.CreateInterfaceRequest.SerializeToString,
            interface__pb2.Interface.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteInterface(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteInterface',
            cloudrpc__pb2.DeleteInterfaceRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateInterface(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateInterface',
            cloudrpc__pb2.UpdateInterfaceRequest.SerializeToString,
            interface__pb2.Interface.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListInterfaces(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListInterfaces',
            cloudrpc__pb2.ListInterfacesRequest.SerializeToString,
            cloudrpc__pb2.ListInterfacesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetInterface(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetInterface',
            cloudrpc__pb2.GetInterfaceRequest.SerializeToString,
            interface__pb2.Interface.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateRouteTable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateRouteTable',
            cloudrpc__pb2.CreateRouteTableRequest.SerializeToString,
            route__pb2.RouteTable.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteRouteTable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteRouteTable',
            cloudrpc__pb2.DeleteRouteTableRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateRouteTable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateRouteTable',
            cloudrpc__pb2.UpdateRouteTableRequest.SerializeToString,
            route__pb2.RouteTable.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListRouteTables(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListRouteTables',
            cloudrpc__pb2.ListRouteTablesRequest.SerializeToString,
            cloudrpc__pb2.ListRouteTablesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRouteTable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetRouteTable',
            cloudrpc__pb2.GetRouteTableRequest.SerializeToString,
            route__pb2.RouteTable.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateRoute',
            cloudrpc__pb2.CreateRouteRequest.SerializeToString,
            route__pb2.Route.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteRoute',
            cloudrpc__pb2.DeleteRouteRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateRoute',
            cloudrpc__pb2.UpdateRouteRequest.SerializeToString,
            route__pb2.Route.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListRoutes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListRoutes',
            cloudrpc__pb2.ListRoutesRequest.SerializeToString,
            cloudrpc__pb2.ListRoutesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetRoute',
            cloudrpc__pb2.GetRouteRequest.SerializeToString,
            route__pb2.Route.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateUnderlayRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateUnderlayRoute',
            cloudrpc__pb2.CreateUnderlayRouteRequest.SerializeToString,
            underlayroute__pb2.UnderlayRoute.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteUnderlayRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteUnderlayRoute',
            cloudrpc__pb2.DeleteUnderlayRouteRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateUnderlayRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateUnderlayRoute',
            cloudrpc__pb2.UpdateUnderlayRouteRequest.SerializeToString,
            underlayroute__pb2.UnderlayRoute.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListUnderlayRoutes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListUnderlayRoutes',
            cloudrpc__pb2.ListUnderlayRoutesRequest.SerializeToString,
            cloudrpc__pb2.ListUnderlayRoutesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUnderlayRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetUnderlayRoute',
            cloudrpc__pb2.GetUnderlayRouteRequest.SerializeToString,
            underlayroute__pb2.UnderlayRoute.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateBgp(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateBgp',
            cloudrpc__pb2.CreateBgpRequest.SerializeToString,
            bgp__pb2.Bgp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteBgp(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteBgp',
            cloudrpc__pb2.DeleteBgpRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateBgp(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateBgp',
            cloudrpc__pb2.UpdateBgpRequest.SerializeToString,
            bgp__pb2.Bgp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListBgps(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListBgps',
            cloudrpc__pb2.ListBgpsRequest.SerializeToString,
            cloudrpc__pb2.ListBgpsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetBgp(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetBgp',
            cloudrpc__pb2.GetBgpRequest.SerializeToString,
            bgp__pb2.Bgp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateBGPPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateBGPPeer',
            cloudrpc__pb2.CreateBGPPeerRequest.SerializeToString,
            bgp__pb2.BGPPeer.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteBGPPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteBGPPeer',
            cloudrpc__pb2.DeleteBGPPeerRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateBGPPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateBGPPeer',
            cloudrpc__pb2.UpdateBGPPeerRequest.SerializeToString,
            bgp__pb2.BGPPeer.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListBGPPeers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListBGPPeers',
            cloudrpc__pb2.ListBGPPeersRequest.SerializeToString,
            cloudrpc__pb2.ListBGPPeersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetBGPPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetBGPPeer',
            cloudrpc__pb2.GetBGPPeerRequest.SerializeToString,
            bgp__pb2.BGPPeer.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateBGPPeerAf(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateBGPPeerAf',
            cloudrpc__pb2.CreateBGPPeerAfRequest.SerializeToString,
            bgp__pb2.BGPPeerAf.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteBGPPeerAf(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteBGPPeerAf',
            cloudrpc__pb2.DeleteBGPPeerAfRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateBGPPeerAf(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateBGPPeerAf',
            cloudrpc__pb2.UpdateBGPPeerAfRequest.SerializeToString,
            bgp__pb2.BGPPeerAf.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListBGPPeerAfs(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListBGPPeerAfs',
            cloudrpc__pb2.ListBGPPeerAfsRequest.SerializeToString,
            cloudrpc__pb2.ListBGPPeerAfsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetBGPPeerAf(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetBGPPeerAf',
            cloudrpc__pb2.GetBGPPeerAfRequest.SerializeToString,
            bgp__pb2.BGPPeerAf.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateMapping(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateMapping',
            cloudrpc__pb2.CreateMappingRequest.SerializeToString,
            mapping__pb2.Mapping.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteMapping(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteMapping',
            cloudrpc__pb2.DeleteMappingRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateMapping(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateMapping',
            cloudrpc__pb2.UpdateMappingRequest.SerializeToString,
            mapping__pb2.Mapping.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListMappings(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListMappings',
            cloudrpc__pb2.ListMappingsRequest.SerializeToString,
            cloudrpc__pb2.ListMappingsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMapping(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetMapping',
            cloudrpc__pb2.GetMappingRequest.SerializeToString,
            mapping__pb2.Mapping.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateNextHop(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateNextHop',
            cloudrpc__pb2.CreateNextHopRequest.SerializeToString,
            nexthop__pb2.NextHop.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteNextHop(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteNextHop',
            cloudrpc__pb2.DeleteNextHopRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateNextHop(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateNextHop',
            cloudrpc__pb2.UpdateNextHopRequest.SerializeToString,
            nexthop__pb2.NextHop.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListNextHop(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListNextHop',
            cloudrpc__pb2.ListNextHopRequest.SerializeToString,
            cloudrpc__pb2.ListNextHopsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetNextHop(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetNextHop',
            cloudrpc__pb2.GetNextHopRequest.SerializeToString,
            nexthop__pb2.NextHop.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateNextHopGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateNextHopGroup',
            cloudrpc__pb2.CreateNextHopGroupRequest.SerializeToString,
            nexthop__pb2.NextHopGroup.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteNextHopGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteNextHopGroup',
            cloudrpc__pb2.DeleteNextHopGroupRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateNextHopGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateNextHopGroup',
            cloudrpc__pb2.UpdateNextHopGroupRequest.SerializeToString,
            nexthop__pb2.NextHopGroup.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListNextHopGroups(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListNextHopGroups',
            cloudrpc__pb2.ListNextHopGroupsRequest.SerializeToString,
            cloudrpc__pb2.ListNextHopGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetNextHopGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetNextHopGroup',
            cloudrpc__pb2.GetNextHopGroupRequest.SerializeToString,
            nexthop__pb2.NextHopGroup.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateSubnet(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSubnet',
            cloudrpc__pb2.CreateSubnetRequest.SerializeToString,
            subnet__pb2.Subnet.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteSubnet(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSubnet',
            cloudrpc__pb2.DeleteSubnetRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateSubnet(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSubnet',
            cloudrpc__pb2.UpdateSubnetRequest.SerializeToString,
            subnet__pb2.Subnet.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListSubnets(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSubnets',
            cloudrpc__pb2.ListSubnetsRequest.SerializeToString,
            cloudrpc__pb2.ListSubnetsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSubnet(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSubnet',
            cloudrpc__pb2.GetSubnetRequest.SerializeToString,
            subnet__pb2.Subnet.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTunnel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateTunnel',
            cloudrpc__pb2.CreateTunnelRequest.SerializeToString,
            tunnel__pb2.Tunnel.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteTunnel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteTunnel',
            cloudrpc__pb2.DeleteTunnelRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateTunnel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateTunnel',
            cloudrpc__pb2.UpdateTunnelRequest.SerializeToString,
            tunnel__pb2.Tunnel.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListTunnels(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListTunnels',
            cloudrpc__pb2.ListTunnelsRequest.SerializeToString,
            cloudrpc__pb2.ListTunnelsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTunnel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetTunnel',
            cloudrpc__pb2.GetTunnelRequest.SerializeToString,
            tunnel__pb2.Tunnel.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateVpc(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateVpc',
            cloudrpc__pb2.CreateVpcRequest.SerializeToString,
            vpc__pb2.Vpc.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteVpc(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteVpc',
            cloudrpc__pb2.DeleteVpcRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateVpc(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateVpc',
            cloudrpc__pb2.UpdateVpcRequest.SerializeToString,
            vpc__pb2.Vpc.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListVpcs(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListVpcs',
            cloudrpc__pb2.ListVpcsRequest.SerializeToString,
            cloudrpc__pb2.ListVpcsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVpc(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetVpc',
            cloudrpc__pb2.GetVpcRequest.SerializeToString,
            vpc__pb2.Vpc.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateVPCPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateVPCPeer',
            cloudrpc__pb2.CreateVPCPeerRequest.SerializeToString,
            vpc__pb2.VPCPeer.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteVPCPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteVPCPeer',
            cloudrpc__pb2.DeleteVPCPeerRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateVPCPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateVPCPeer',
            cloudrpc__pb2.UpdateVPCPeerRequest.SerializeToString,
            vpc__pb2.VPCPeer.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListVPCPeers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListVPCPeers',
            cloudrpc__pb2.ListVPCPeersRequest.SerializeToString,
            cloudrpc__pb2.ListVPCPeersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVPCPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetVPCPeer',
            cloudrpc__pb2.GetVPCPeerRequest.SerializeToString,
            vpc__pb2.VPCPeer.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateSecurityPolicy(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSecurityPolicy',
            cloudrpc__pb2.CreateSecurityPolicyRequest.SerializeToString,
            networkpolicy__pb2.SecurityPolicy.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteSecurityPolicy(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSecurityPolicy',
            cloudrpc__pb2.DeleteSecurityPolicyRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateSecurityPolicy(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSecurityPolicy',
            cloudrpc__pb2.UpdateSecurityPolicyRequest.SerializeToString,
            networkpolicy__pb2.SecurityPolicy.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListSecurityPolicys(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSecurityPolicys',
            cloudrpc__pb2.ListSecurityPolicysRequest.SerializeToString,
            cloudrpc__pb2.ListSecurityPolicysResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSecurityPolicy(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSecurityPolicy',
            cloudrpc__pb2.GetSecurityPolicyRequest.SerializeToString,
            networkpolicy__pb2.SecurityPolicy.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateSecurityRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSecurityRule',
            cloudrpc__pb2.CreateSecurityRuleRequest.SerializeToString,
            networkpolicy__pb2.SecurityRule.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteSecurityRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSecurityRule',
            cloudrpc__pb2.DeleteSecurityRuleRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateSecurityRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSecurityRule',
            cloudrpc__pb2.UpdateSecurityRuleRequest.SerializeToString,
            networkpolicy__pb2.SecurityRule.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListSecurityRules(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSecurityRules',
            cloudrpc__pb2.ListSecurityRulesRequest.SerializeToString,
            cloudrpc__pb2.ListSecurityRulesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSecurityRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSecurityRule',
            cloudrpc__pb2.GetSecurityRuleRequest.SerializeToString,
            networkpolicy__pb2.SecurityRule.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateSecurityProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/CreateSecurityProfile',
            cloudrpc__pb2.CreateSecurityProfileRequest.SerializeToString,
            networkpolicy__pb2.SecurityProfile.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteSecurityProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/DeleteSecurityProfile',
            cloudrpc__pb2.DeleteSecurityProfileRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateSecurityProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/UpdateSecurityProfile',
            cloudrpc__pb2.UpdateSecurityProfileRequest.SerializeToString,
            networkpolicy__pb2.SecurityProfile.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListSecurityProfiles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/ListSecurityProfiles',
            cloudrpc__pb2.ListSecurityProfilesRequest.SerializeToString,
            cloudrpc__pb2.ListSecurityProfilesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSecurityProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/opi_api.network.cloud.v1alpha1.CloudInfraService/GetSecurityProfile',
            cloudrpc__pb2.GetSecurityProfileRequest.SerializeToString,
            networkpolicy__pb2.SecurityProfile.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
