// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             v3.19.4
// source: pcm-openstack.proto

package openstack

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

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

const (
	Openstack_GetComputeLimits_FullMethodName               = "/openstack.Openstack/GetComputeLimits"
	Openstack_GetVolumeLimits_FullMethodName                = "/openstack.Openstack/GetVolumeLimits"
	Openstack_ListServers_FullMethodName                    = "/openstack.Openstack/ListServers"
	Openstack_ListServersDetailed_FullMethodName            = "/openstack.Openstack/ListServersDetailed"
	Openstack_CreateServer_FullMethodName                   = "/openstack.Openstack/CreateServer"
	Openstack_DeleteServer_FullMethodName                   = "/openstack.Openstack/DeleteServer"
	Openstack_GetServersDetailedById_FullMethodName         = "/openstack.Openstack/GetServersDetailedById"
	Openstack_UpdateServer_FullMethodName                   = "/openstack.Openstack/UpdateServer"
	Openstack_StartServer_FullMethodName                    = "/openstack.Openstack/StartServer"
	Openstack_StopServer_FullMethodName                     = "/openstack.Openstack/StopServer"
	Openstack_RebootServer_FullMethodName                   = "/openstack.Openstack/RebootServer"
	Openstack_PauseServer_FullMethodName                    = "/openstack.Openstack/PauseServer"
	Openstack_UnpauseServer_FullMethodName                  = "/openstack.Openstack/UnpauseServer"
	Openstack_RebuildServer_FullMethodName                  = "/openstack.Openstack/RebuildServer"
	Openstack_ResizeServer_FullMethodName                   = "/openstack.Openstack/ResizeServer"
	Openstack_MigrateServer_FullMethodName                  = "/openstack.Openstack/MigrateServer"
	Openstack_ShelveServer_FullMethodName                   = "/openstack.Openstack/ShelveServer"
	Openstack_UnshelveServer_FullMethodName                 = "/openstack.Openstack/UnshelveServer"
	Openstack_ChangeAdministrativePassword_FullMethodName   = "/openstack.Openstack/ChangeAdministrativePassword"
	Openstack_RescueServer_FullMethodName                   = "/openstack.Openstack/RescueServer"
	Openstack_UnRescue_FullMethodName                       = "/openstack.Openstack/UnRescue"
	Openstack_SuspendServer_FullMethodName                  = "/openstack.Openstack/SuspendServer"
	Openstack_AddSecurityGroupToServer_FullMethodName       = "/openstack.Openstack/AddSecurityGroupToServer"
	Openstack_RemoveSecurityGroup_FullMethodName            = "/openstack.Openstack/removeSecurityGroup"
	Openstack_ListFlavorsDetail_FullMethodName              = "/openstack.Openstack/ListFlavorsDetail"
	Openstack_CreateFlavor_FullMethodName                   = "/openstack.Openstack/CreateFlavor"
	Openstack_DeleteFlavor_FullMethodName                   = "/openstack.Openstack/DeleteFlavor"
	Openstack_ShowNetworkDetails_FullMethodName             = "/openstack.Openstack/ShowNetworkDetails"
	Openstack_UpdateNetwork_FullMethodName                  = "/openstack.Openstack/UpdateNetwork"
	Openstack_DeleteNetwork_FullMethodName                  = "/openstack.Openstack/DeleteNetwork"
	Openstack_ListNetworks_FullMethodName                   = "/openstack.Openstack/ListNetworks"
	Openstack_CreateNetwork_FullMethodName                  = "/openstack.Openstack/CreateNetwork"
	Openstack_BulkCreateNetworks_FullMethodName             = "/openstack.Openstack/BulkCreateNetworks"
	Openstack_CreateSubnet_FullMethodName                   = "/openstack.Openstack/CreateSubnet"
	Openstack_ListSubnets_FullMethodName                    = "/openstack.Openstack/ListSubnets"
	Openstack_DeleteSubnet_FullMethodName                   = "/openstack.Openstack/DeleteSubnet"
	Openstack_UpdateSubnet_FullMethodName                   = "/openstack.Openstack/UpdateSubnet"
	Openstack_CreateNetworkSegmentRange_FullMethodName      = "/openstack.Openstack/CreateNetworkSegmentRange"
	Openstack_ListNetworkSegmentRanges_FullMethodName       = "/openstack.Openstack/ListNetworkSegmentRanges"
	Openstack_DeleteNetworkSegmentRanges_FullMethodName     = "/openstack.Openstack/DeleteNetworkSegmentRanges"
	Openstack_UpdateNetworkSegmentRanges_FullMethodName     = "/openstack.Openstack/UpdateNetworkSegmentRanges"
	Openstack_ShowNetworkSegmentRangeDetails_FullMethodName = "/openstack.Openstack/ShowNetworkSegmentRangeDetails"
	Openstack_CreatePort_FullMethodName                     = "/openstack.Openstack/CreatePort"
	Openstack_ListPorts_FullMethodName                      = "/openstack.Openstack/ListPorts"
	Openstack_DeletePort_FullMethodName                     = "/openstack.Openstack/DeletePort"
	Openstack_UpdatePort_FullMethodName                     = "/openstack.Openstack/UpdatePort"
	Openstack_ShowPortDetails_FullMethodName                = "/openstack.Openstack/ShowPortDetails"
	Openstack_CreateRouter_FullMethodName                   = "/openstack.Openstack/CreateRouter"
	Openstack_ListRouters_FullMethodName                    = "/openstack.Openstack/ListRouters"
	Openstack_ShowRouterDetails_FullMethodName              = "/openstack.Openstack/ShowRouterDetails"
	Openstack_UpdateRouter_FullMethodName                   = "/openstack.Openstack/UpdateRouter"
	Openstack_DeleteRouter_FullMethodName                   = "/openstack.Openstack/DeleteRouter"
	Openstack_ListFloatingIPs_FullMethodName                = "/openstack.Openstack/ListFloatingIPs"
	Openstack_CreateFloatingIP_FullMethodName               = "/openstack.Openstack/CreateFloatingIP"
	Openstack_UpdateFloatingIP_FullMethodName               = "/openstack.Openstack/UpdateFloatingIP"
	Openstack_DeleteFloatingIP_FullMethodName               = "/openstack.Openstack/DeleteFloatingIP"
	Openstack_ShowFloatingIPDetails_FullMethodName          = "/openstack.Openstack/ShowFloatingIPDetails"
	Openstack_ListFirewallGroups_FullMethodName             = "/openstack.Openstack/ListFirewallGroups"
	Openstack_DeleteFirewallGroup_FullMethodName            = "/openstack.Openstack/DeleteFirewallGroup"
	Openstack_CreateFirewallGroup_FullMethodName            = "/openstack.Openstack/CreateFirewallGroup"
	Openstack_UpdateFirewallGroup_FullMethodName            = "/openstack.Openstack/UpdateFirewallGroup"
	Openstack_ShowFirewallGroupDetails_FullMethodName       = "/openstack.Openstack/ShowFirewallGroupDetails"
	Openstack_CreateFirewallPolicy_FullMethodName           = "/openstack.Openstack/CreateFirewallPolicy"
	Openstack_DeleteFirewallPolicy_FullMethodName           = "/openstack.Openstack/DeleteFirewallPolicy"
	Openstack_ListFirewallPolicies_FullMethodName           = "/openstack.Openstack/ListFirewallPolicies"
	Openstack_ShowFirewallPolicyDetails_FullMethodName      = "/openstack.Openstack/ShowFirewallPolicyDetails"
	Openstack_CreateFirewallRule_FullMethodName             = "/openstack.Openstack/CreateFirewallRule"
	Openstack_DeleteFirewallRule_FullMethodName             = "/openstack.Openstack/DeleteFirewallRule"
	Openstack_ListFirewallRules_FullMethodName              = "/openstack.Openstack/ListFirewallRules"
	Openstack_ShowFirewallRuleDetails_FullMethodName        = "/openstack.Openstack/ShowFirewallRuleDetails"
	Openstack_ListSecurityGroups_FullMethodName             = "/openstack.Openstack/ListSecurityGroups"
	Openstack_CreateSecurityGroup_FullMethodName            = "/openstack.Openstack/CreateSecurityGroup"
	Openstack_DeleteSecurityGroup_FullMethodName            = "/openstack.Openstack/DeleteSecurityGroup"
	Openstack_UpdateSecurityGroup_FullMethodName            = "/openstack.Openstack/UpdateSecurityGroup"
	Openstack_ShowSecurityGroup_FullMethodName              = "/openstack.Openstack/ShowSecurityGroup"
	Openstack_ListSecurityGroupRules_FullMethodName         = "/openstack.Openstack/ListSecurityGroupRules"
	Openstack_CreateSecurityGroupRule_FullMethodName        = "/openstack.Openstack/CreateSecurityGroupRule"
	Openstack_ShowSecurityGroupRule_FullMethodName          = "/openstack.Openstack/ShowSecurityGroupRule"
	Openstack_DeleteSecurityGroupRule_FullMethodName        = "/openstack.Openstack/DeleteSecurityGroupRule"
	Openstack_CreateImage_FullMethodName                    = "/openstack.Openstack/CreateImage"
	Openstack_ListImages_FullMethodName                     = "/openstack.Openstack/ListImages"
	Openstack_DeleteImage_FullMethodName                    = "/openstack.Openstack/DeleteImage"
	Openstack_UploadImage_FullMethodName                    = "/openstack.Openstack/UploadImage"
	Openstack_ListNodes_FullMethodName                      = "/openstack.Openstack/ListNodes"
	Openstack_CreateNode_FullMethodName                     = "/openstack.Openstack/CreateNode"
	Openstack_DeleteNode_FullMethodName                     = "/openstack.Openstack/DeleteNode"
	Openstack_ShowNodeDetails_FullMethodName                = "/openstack.Openstack/ShowNodeDetails"
	Openstack_ListVolumes_FullMethodName                    = "/openstack.Openstack/ListVolumes"
	Openstack_ListVolumesDetail_FullMethodName              = "/openstack.Openstack/ListVolumesDetail"
	Openstack_CreateVolume_FullMethodName                   = "/openstack.Openstack/CreateVolume"
	Openstack_DeleteVolume_FullMethodName                   = "/openstack.Openstack/DeleteVolume"
	Openstack_UpdateVolume_FullMethodName                   = "/openstack.Openstack/UpdateVolume"
	Openstack_GetVolumeDetailedById_FullMethodName          = "/openstack.Openstack/GetVolumeDetailedById"
	Openstack_ListVolumeTypes_FullMethodName                = "/openstack.Openstack/ListVolumeTypes"
	Openstack_CreateVolumeTypes_FullMethodName              = "/openstack.Openstack/CreateVolumeTypes"
	Openstack_DeleteVolumeTypes_FullMethodName              = "/openstack.Openstack/DeleteVolumeTypes"
)

// OpenstackClient is the client API for Openstack service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type OpenstackClient interface {
	// Overview
	GetComputeLimits(ctx context.Context, in *GetComputeLimitsReq, opts ...grpc.CallOption) (*GetComputeLimitsResp, error)
	GetVolumeLimits(ctx context.Context, in *GetVolumeLimitsReq, opts ...grpc.CallOption) (*GetVolumeLimitsResp, error)
	// Servers
	ListServers(ctx context.Context, in *ListServersReq, opts ...grpc.CallOption) (*ListServersResp, error)
	ListServersDetailed(ctx context.Context, in *ListServersDetailedReq, opts ...grpc.CallOption) (*ListServersDetailedResp, error)
	CreateServer(ctx context.Context, in *CreateServerReq, opts ...grpc.CallOption) (*CreateServerResp, error)
	DeleteServer(ctx context.Context, in *DeleteServerReq, opts ...grpc.CallOption) (*DeleteServerResp, error)
	GetServersDetailedById(ctx context.Context, in *GetServersDetailedByIdReq, opts ...grpc.CallOption) (*GetServersDetailedByIdResp, error)
	UpdateServer(ctx context.Context, in *UpdateServerReq, opts ...grpc.CallOption) (*UpdateServerResp, error)
	StartServer(ctx context.Context, in *StartServerReq, opts ...grpc.CallOption) (*StartServerResp, error)
	StopServer(ctx context.Context, in *StopServerReq, opts ...grpc.CallOption) (*StopServerResp, error)
	RebootServer(ctx context.Context, in *RebootServerReq, opts ...grpc.CallOption) (*RebootServerResp, error)
	PauseServer(ctx context.Context, in *PauseServerReq, opts ...grpc.CallOption) (*PauseServerResp, error)
	UnpauseServer(ctx context.Context, in *UnpauseServerReq, opts ...grpc.CallOption) (*UnpauseServerResp, error)
	RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error)
	ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error)
	MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error)
	ShelveServer(ctx context.Context, in *ShelveServerReq, opts ...grpc.CallOption) (*ShelveServerResp, error)
	UnshelveServer(ctx context.Context, in *UnshelveServerReq, opts ...grpc.CallOption) (*UnshelveServerResp, error)
	ChangeAdministrativePassword(ctx context.Context, in *ChangeAdministrativePasswordReq, opts ...grpc.CallOption) (*ChangeAdministrativePasswordResp, error)
	RescueServer(ctx context.Context, in *RescueServerReq, opts ...grpc.CallOption) (*RescueServerResp, error)
	UnRescue(ctx context.Context, in *UnRescueServerReq, opts ...grpc.CallOption) (*UnRescueServerResp, error)
	SuspendServer(ctx context.Context, in *SuspendServerReq, opts ...grpc.CallOption) (*SuspendServerResp, error)
	AddSecurityGroupToServer(ctx context.Context, in *AddSecurityGroupToServerReq, opts ...grpc.CallOption) (*AddSecurityGroupToServerResp, error)
	RemoveSecurityGroup(ctx context.Context, in *RemoveSecurityGroupReq, opts ...grpc.CallOption) (*RemoveSecurityGroupResp, error)
	// 规格(Flavors)
	ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error)
	CreateFlavor(ctx context.Context, in *CreateFlavorReq, opts ...grpc.CallOption) (*CreateFlavorResp, error)
	DeleteFlavor(ctx context.Context, in *DeleteFlavorReq, opts ...grpc.CallOption) (*DeleteFlavorResp, error)
	// network
	ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error)
	UpdateNetwork(ctx context.Context, in *UpdateNetworkReq, opts ...grpc.CallOption) (*UpdateNetworkResp, error)
	DeleteNetwork(ctx context.Context, in *DeleteNetworkReq, opts ...grpc.CallOption) (*DeleteNetworkResp, error)
	ListNetworks(ctx context.Context, in *ListNetworksReq, opts ...grpc.CallOption) (*ListNetworksResp, error)
	CreateNetwork(ctx context.Context, in *CreateNetworkReq, opts ...grpc.CallOption) (*CreateNetworkResp, error)
	BulkCreateNetworks(ctx context.Context, in *BulkCreateNetworksReq, opts ...grpc.CallOption) (*BulkCreateNetworksResp, error)
	// 子网
	CreateSubnet(ctx context.Context, in *CreateSubnetReq, opts ...grpc.CallOption) (*CreateSubnetResp, error)
	ListSubnets(ctx context.Context, in *ListSubnetsReq, opts ...grpc.CallOption) (*ListSubnetsResp, error)
	DeleteSubnet(ctx context.Context, in *DeleteSubnetReq, opts ...grpc.CallOption) (*DeleteSubnetResp, error)
	UpdateSubnet(ctx context.Context, in *UpdateSubnetReq, opts ...grpc.CallOption) (*UpdateSubnetResp, error)
	// 网段
	CreateNetworkSegmentRange(ctx context.Context, in *CreateNetworkSegmentRangeReq, opts ...grpc.CallOption) (*CreateNetworkSegmentRangeResp, error)
	ListNetworkSegmentRanges(ctx context.Context, in *ListNetworkSegmentRangesReq, opts ...grpc.CallOption) (*ListNetworkSegmentRangesResp, error)
	DeleteNetworkSegmentRanges(ctx context.Context, in *DeleteNetworkSegmentRangesReq, opts ...grpc.CallOption) (*DeleteNetworkSegmentRangesResp, error)
	UpdateNetworkSegmentRanges(ctx context.Context, in *UpdateNetworkSegmentRangesReq, opts ...grpc.CallOption) (*UpdateNetworkSegmentRangesResp, error)
	ShowNetworkSegmentRangeDetails(ctx context.Context, in *ShowNetworkSegmentRangeDetailsReq, opts ...grpc.CallOption) (*ShowNetworkSegmentRangeDetailsResp, error)
	// 端口
	CreatePort(ctx context.Context, in *CreatePortReq, opts ...grpc.CallOption) (*CreatePortResp, error)
	ListPorts(ctx context.Context, in *ListPortsReq, opts ...grpc.CallOption) (*ListPortsResp, error)
	DeletePort(ctx context.Context, in *DeletePortReq, opts ...grpc.CallOption) (*DeletePortResp, error)
	UpdatePort(ctx context.Context, in *UpdatePortReq, opts ...grpc.CallOption) (*UpdatePortResp, error)
	ShowPortDetails(ctx context.Context, in *ShowPortDetailsReq, opts ...grpc.CallOption) (*ShowPortDetailsResp, error)
	// 路由
	CreateRouter(ctx context.Context, in *CreateRouterReq, opts ...grpc.CallOption) (*CreateRouterResp, error)
	ListRouters(ctx context.Context, in *ListRoutersReq, opts ...grpc.CallOption) (*ListRoutersResp, error)
	ShowRouterDetails(ctx context.Context, in *ShowRouterDetailsReq, opts ...grpc.CallOption) (*ShowRouterDetailsResp, error)
	UpdateRouter(ctx context.Context, in *UpdateRouterReq, opts ...grpc.CallOption) (*UpdateRouterResp, error)
	DeleteRouter(ctx context.Context, in *DeleteRouterReq, opts ...grpc.CallOption) (*DeleteRouterResp, error)
	// 浮动IP
	ListFloatingIPs(ctx context.Context, in *ListFloatingIPsReq, opts ...grpc.CallOption) (*ListFloatingIPsResp, error)
	CreateFloatingIP(ctx context.Context, in *CreateFloatingIPReq, opts ...grpc.CallOption) (*CreateFloatingIPResp, error)
	UpdateFloatingIP(ctx context.Context, in *UpdateFloatingIPReq, opts ...grpc.CallOption) (*UpdateFloatingIPResp, error)
	DeleteFloatingIP(ctx context.Context, in *DeleteFloatingIPReq, opts ...grpc.CallOption) (*DeleteFloatingIPResp, error)
	ShowFloatingIPDetails(ctx context.Context, in *ShowFloatingIPDetailsReq, opts ...grpc.CallOption) (*ShowFloatingIPDetailsResp, error)
	// 防火墙
	ListFirewallGroups(ctx context.Context, in *ListFirewallGroupsReq, opts ...grpc.CallOption) (*ListFirewallGroupsResp, error)
	DeleteFirewallGroup(ctx context.Context, in *DeleteFirewallGroupReq, opts ...grpc.CallOption) (*DeleteFirewallGroupResp, error)
	CreateFirewallGroup(ctx context.Context, in *CreateFirewallGroupReq, opts ...grpc.CallOption) (*CreateFirewallGroupResp, error)
	UpdateFirewallGroup(ctx context.Context, in *UpdateFirewallGroupReq, opts ...grpc.CallOption) (*UpdateFirewallGroupResp, error)
	ShowFirewallGroupDetails(ctx context.Context, in *ShowFirewallGroupDetailsReq, opts ...grpc.CallOption) (*ShowFirewallGroupDetailsResp, error)
	CreateFirewallPolicy(ctx context.Context, in *CreateFirewallPolicyReq, opts ...grpc.CallOption) (*CreateFirewallPolicyResp, error)
	DeleteFirewallPolicy(ctx context.Context, in *DeleteFirewallPolicyReq, opts ...grpc.CallOption) (*DeleteFirewallPolicyResp, error)
	ListFirewallPolicies(ctx context.Context, in *ListFirewallPoliciesReq, opts ...grpc.CallOption) (*ListFirewallPoliciesResp, error)
	ShowFirewallPolicyDetails(ctx context.Context, in *ShowFirewallPolicyDetailsReq, opts ...grpc.CallOption) (*ShowFirewallPolicyDetailsResp, error)
	CreateFirewallRule(ctx context.Context, in *CreateFirewallRuleReq, opts ...grpc.CallOption) (*CreateFirewallRuleResp, error)
	DeleteFirewallRule(ctx context.Context, in *DeleteFirewallRuleReq, opts ...grpc.CallOption) (*DeleteFirewallRuleResp, error)
	ListFirewallRules(ctx context.Context, in *ListFirewallRulesReq, opts ...grpc.CallOption) (*ListFirewallRulesResp, error)
	ShowFirewallRuleDetails(ctx context.Context, in *ShowFirewallRuleDetailsReq, opts ...grpc.CallOption) (*ShowFirewallRuleDetailsResp, error)
	// 安全组
	ListSecurityGroups(ctx context.Context, in *ListSecurityGroupsReq, opts ...grpc.CallOption) (*ListSecurityGroupsResp, error)
	CreateSecurityGroup(ctx context.Context, in *CreateSecurityGroupReq, opts ...grpc.CallOption) (*CreateSecurityGroupResp, error)
	DeleteSecurityGroup(ctx context.Context, in *DeleteSecurityGroupReq, opts ...grpc.CallOption) (*DeleteSecurityGroupResp, error)
	UpdateSecurityGroup(ctx context.Context, in *UpdateSecurityGroupReq, opts ...grpc.CallOption) (*UpdateSecurityGroupResp, error)
	ShowSecurityGroup(ctx context.Context, in *ShowSecurityGroupReq, opts ...grpc.CallOption) (*ShowSecurityGroupResp, error)
	// 安全组规则
	ListSecurityGroupRules(ctx context.Context, in *ListSecurityGroupRulesReq, opts ...grpc.CallOption) (*ListSecurityGroupRulesResp, error)
	CreateSecurityGroupRule(ctx context.Context, in *CreateSecurityGroupRuleReq, opts ...grpc.CallOption) (*CreateSecurityGroupRuleResp, error)
	ShowSecurityGroupRule(ctx context.Context, in *ShowSecurityGroupRuleReq, opts ...grpc.CallOption) (*ShowSecurityGroupRuleResp, error)
	DeleteSecurityGroupRule(ctx context.Context, in *DeleteSecurityGroupRuleReq, opts ...grpc.CallOption) (*DeleteSecurityGroupRuleResp, error)
	// Images from glance
	CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error)
	ListImages(ctx context.Context, in *ListImagesReq, opts ...grpc.CallOption) (*ListImagesResp, error)
	DeleteImage(ctx context.Context, in *DeleteImageReq, opts ...grpc.CallOption) (*DeleteImageResp, error)
	UploadImage(ctx context.Context, in *UploadOsImageReq, opts ...grpc.CallOption) (*UploadOsImageResp, error)
	// Bare Metal
	ListNodes(ctx context.Context, in *ListNodesReq, opts ...grpc.CallOption) (*ListNodesResp, error)
	CreateNode(ctx context.Context, in *CreateNodeReq, opts ...grpc.CallOption) (*CreateNodeResp, error)
	DeleteNode(ctx context.Context, in *DeleteNodeReq, opts ...grpc.CallOption) (*DeleteNodeResp, error)
	ShowNodeDetails(ctx context.Context, in *ShowNodeDetailsReq, opts ...grpc.CallOption) (*ShowNodeDetailsResp, error)
	// cinder(block storage) volumes
	ListVolumes(ctx context.Context, in *ListVolumesReq, opts ...grpc.CallOption) (*ListVolumesResp, error)
	ListVolumesDetail(ctx context.Context, in *ListVolumesDetailReq, opts ...grpc.CallOption) (*ListVolumesDetailResp, error)
	CreateVolume(ctx context.Context, in *CreateVolumeReq, opts ...grpc.CallOption) (*CreateVolumeResp, error)
	DeleteVolume(ctx context.Context, in *DeleteVolumeReq, opts ...grpc.CallOption) (*DeleteVolumeResp, error)
	UpdateVolume(ctx context.Context, in *UpdateVolumeReq, opts ...grpc.CallOption) (*UpdateVolumeResp, error)
	GetVolumeDetailedById(ctx context.Context, in *GetVolumeDetailedByIdReq, opts ...grpc.CallOption) (*GetVolumeDetailedByIdResp, error)
	ListVolumeTypes(ctx context.Context, in *ListVolumeTypesReq, opts ...grpc.CallOption) (*ListVolumeTypesResp, error)
	CreateVolumeTypes(ctx context.Context, in *CreateVolumeTypeReq, opts ...grpc.CallOption) (*CreateVolumeTypeResp, error)
	DeleteVolumeTypes(ctx context.Context, in *DeleteVolumeTypeReq, opts ...grpc.CallOption) (*DeleteVolumeTypeResp, error)
}

type openstackClient struct {
	cc grpc.ClientConnInterface
}

func NewOpenstackClient(cc grpc.ClientConnInterface) OpenstackClient {
	return &openstackClient{cc}
}

func (c *openstackClient) GetComputeLimits(ctx context.Context, in *GetComputeLimitsReq, opts ...grpc.CallOption) (*GetComputeLimitsResp, error) {
	out := new(GetComputeLimitsResp)
	err := c.cc.Invoke(ctx, Openstack_GetComputeLimits_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) GetVolumeLimits(ctx context.Context, in *GetVolumeLimitsReq, opts ...grpc.CallOption) (*GetVolumeLimitsResp, error) {
	out := new(GetVolumeLimitsResp)
	err := c.cc.Invoke(ctx, Openstack_GetVolumeLimits_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListServers(ctx context.Context, in *ListServersReq, opts ...grpc.CallOption) (*ListServersResp, error) {
	out := new(ListServersResp)
	err := c.cc.Invoke(ctx, Openstack_ListServers_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListServersDetailed(ctx context.Context, in *ListServersDetailedReq, opts ...grpc.CallOption) (*ListServersDetailedResp, error) {
	out := new(ListServersDetailedResp)
	err := c.cc.Invoke(ctx, Openstack_ListServersDetailed_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateServer(ctx context.Context, in *CreateServerReq, opts ...grpc.CallOption) (*CreateServerResp, error) {
	out := new(CreateServerResp)
	err := c.cc.Invoke(ctx, Openstack_CreateServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteServer(ctx context.Context, in *DeleteServerReq, opts ...grpc.CallOption) (*DeleteServerResp, error) {
	out := new(DeleteServerResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) GetServersDetailedById(ctx context.Context, in *GetServersDetailedByIdReq, opts ...grpc.CallOption) (*GetServersDetailedByIdResp, error) {
	out := new(GetServersDetailedByIdResp)
	err := c.cc.Invoke(ctx, Openstack_GetServersDetailedById_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateServer(ctx context.Context, in *UpdateServerReq, opts ...grpc.CallOption) (*UpdateServerResp, error) {
	out := new(UpdateServerResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) StartServer(ctx context.Context, in *StartServerReq, opts ...grpc.CallOption) (*StartServerResp, error) {
	out := new(StartServerResp)
	err := c.cc.Invoke(ctx, Openstack_StartServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) StopServer(ctx context.Context, in *StopServerReq, opts ...grpc.CallOption) (*StopServerResp, error) {
	out := new(StopServerResp)
	err := c.cc.Invoke(ctx, Openstack_StopServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) RebootServer(ctx context.Context, in *RebootServerReq, opts ...grpc.CallOption) (*RebootServerResp, error) {
	out := new(RebootServerResp)
	err := c.cc.Invoke(ctx, Openstack_RebootServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) PauseServer(ctx context.Context, in *PauseServerReq, opts ...grpc.CallOption) (*PauseServerResp, error) {
	out := new(PauseServerResp)
	err := c.cc.Invoke(ctx, Openstack_PauseServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UnpauseServer(ctx context.Context, in *UnpauseServerReq, opts ...grpc.CallOption) (*UnpauseServerResp, error) {
	out := new(UnpauseServerResp)
	err := c.cc.Invoke(ctx, Openstack_UnpauseServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error) {
	out := new(RebuildServerResp)
	err := c.cc.Invoke(ctx, Openstack_RebuildServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error) {
	out := new(ResizeServerResp)
	err := c.cc.Invoke(ctx, Openstack_ResizeServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error) {
	out := new(MigrateServerResp)
	err := c.cc.Invoke(ctx, Openstack_MigrateServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShelveServer(ctx context.Context, in *ShelveServerReq, opts ...grpc.CallOption) (*ShelveServerResp, error) {
	out := new(ShelveServerResp)
	err := c.cc.Invoke(ctx, Openstack_ShelveServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UnshelveServer(ctx context.Context, in *UnshelveServerReq, opts ...grpc.CallOption) (*UnshelveServerResp, error) {
	out := new(UnshelveServerResp)
	err := c.cc.Invoke(ctx, Openstack_UnshelveServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ChangeAdministrativePassword(ctx context.Context, in *ChangeAdministrativePasswordReq, opts ...grpc.CallOption) (*ChangeAdministrativePasswordResp, error) {
	out := new(ChangeAdministrativePasswordResp)
	err := c.cc.Invoke(ctx, Openstack_ChangeAdministrativePassword_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) RescueServer(ctx context.Context, in *RescueServerReq, opts ...grpc.CallOption) (*RescueServerResp, error) {
	out := new(RescueServerResp)
	err := c.cc.Invoke(ctx, Openstack_RescueServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UnRescue(ctx context.Context, in *UnRescueServerReq, opts ...grpc.CallOption) (*UnRescueServerResp, error) {
	out := new(UnRescueServerResp)
	err := c.cc.Invoke(ctx, Openstack_UnRescue_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) SuspendServer(ctx context.Context, in *SuspendServerReq, opts ...grpc.CallOption) (*SuspendServerResp, error) {
	out := new(SuspendServerResp)
	err := c.cc.Invoke(ctx, Openstack_SuspendServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) AddSecurityGroupToServer(ctx context.Context, in *AddSecurityGroupToServerReq, opts ...grpc.CallOption) (*AddSecurityGroupToServerResp, error) {
	out := new(AddSecurityGroupToServerResp)
	err := c.cc.Invoke(ctx, Openstack_AddSecurityGroupToServer_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) RemoveSecurityGroup(ctx context.Context, in *RemoveSecurityGroupReq, opts ...grpc.CallOption) (*RemoveSecurityGroupResp, error) {
	out := new(RemoveSecurityGroupResp)
	err := c.cc.Invoke(ctx, Openstack_RemoveSecurityGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) {
	out := new(ListFlavorsDetailResp)
	err := c.cc.Invoke(ctx, Openstack_ListFlavorsDetail_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateFlavor(ctx context.Context, in *CreateFlavorReq, opts ...grpc.CallOption) (*CreateFlavorResp, error) {
	out := new(CreateFlavorResp)
	err := c.cc.Invoke(ctx, Openstack_CreateFlavor_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteFlavor(ctx context.Context, in *DeleteFlavorReq, opts ...grpc.CallOption) (*DeleteFlavorResp, error) {
	out := new(DeleteFlavorResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteFlavor_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error) {
	out := new(ShowNetworkDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowNetworkDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateNetwork(ctx context.Context, in *UpdateNetworkReq, opts ...grpc.CallOption) (*UpdateNetworkResp, error) {
	out := new(UpdateNetworkResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateNetwork_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteNetwork(ctx context.Context, in *DeleteNetworkReq, opts ...grpc.CallOption) (*DeleteNetworkResp, error) {
	out := new(DeleteNetworkResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteNetwork_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListNetworks(ctx context.Context, in *ListNetworksReq, opts ...grpc.CallOption) (*ListNetworksResp, error) {
	out := new(ListNetworksResp)
	err := c.cc.Invoke(ctx, Openstack_ListNetworks_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateNetwork(ctx context.Context, in *CreateNetworkReq, opts ...grpc.CallOption) (*CreateNetworkResp, error) {
	out := new(CreateNetworkResp)
	err := c.cc.Invoke(ctx, Openstack_CreateNetwork_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) BulkCreateNetworks(ctx context.Context, in *BulkCreateNetworksReq, opts ...grpc.CallOption) (*BulkCreateNetworksResp, error) {
	out := new(BulkCreateNetworksResp)
	err := c.cc.Invoke(ctx, Openstack_BulkCreateNetworks_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateSubnet(ctx context.Context, in *CreateSubnetReq, opts ...grpc.CallOption) (*CreateSubnetResp, error) {
	out := new(CreateSubnetResp)
	err := c.cc.Invoke(ctx, Openstack_CreateSubnet_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListSubnets(ctx context.Context, in *ListSubnetsReq, opts ...grpc.CallOption) (*ListSubnetsResp, error) {
	out := new(ListSubnetsResp)
	err := c.cc.Invoke(ctx, Openstack_ListSubnets_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteSubnet(ctx context.Context, in *DeleteSubnetReq, opts ...grpc.CallOption) (*DeleteSubnetResp, error) {
	out := new(DeleteSubnetResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteSubnet_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateSubnet(ctx context.Context, in *UpdateSubnetReq, opts ...grpc.CallOption) (*UpdateSubnetResp, error) {
	out := new(UpdateSubnetResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateSubnet_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateNetworkSegmentRange(ctx context.Context, in *CreateNetworkSegmentRangeReq, opts ...grpc.CallOption) (*CreateNetworkSegmentRangeResp, error) {
	out := new(CreateNetworkSegmentRangeResp)
	err := c.cc.Invoke(ctx, Openstack_CreateNetworkSegmentRange_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListNetworkSegmentRanges(ctx context.Context, in *ListNetworkSegmentRangesReq, opts ...grpc.CallOption) (*ListNetworkSegmentRangesResp, error) {
	out := new(ListNetworkSegmentRangesResp)
	err := c.cc.Invoke(ctx, Openstack_ListNetworkSegmentRanges_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteNetworkSegmentRanges(ctx context.Context, in *DeleteNetworkSegmentRangesReq, opts ...grpc.CallOption) (*DeleteNetworkSegmentRangesResp, error) {
	out := new(DeleteNetworkSegmentRangesResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteNetworkSegmentRanges_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateNetworkSegmentRanges(ctx context.Context, in *UpdateNetworkSegmentRangesReq, opts ...grpc.CallOption) (*UpdateNetworkSegmentRangesResp, error) {
	out := new(UpdateNetworkSegmentRangesResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateNetworkSegmentRanges_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowNetworkSegmentRangeDetails(ctx context.Context, in *ShowNetworkSegmentRangeDetailsReq, opts ...grpc.CallOption) (*ShowNetworkSegmentRangeDetailsResp, error) {
	out := new(ShowNetworkSegmentRangeDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowNetworkSegmentRangeDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreatePort(ctx context.Context, in *CreatePortReq, opts ...grpc.CallOption) (*CreatePortResp, error) {
	out := new(CreatePortResp)
	err := c.cc.Invoke(ctx, Openstack_CreatePort_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListPorts(ctx context.Context, in *ListPortsReq, opts ...grpc.CallOption) (*ListPortsResp, error) {
	out := new(ListPortsResp)
	err := c.cc.Invoke(ctx, Openstack_ListPorts_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeletePort(ctx context.Context, in *DeletePortReq, opts ...grpc.CallOption) (*DeletePortResp, error) {
	out := new(DeletePortResp)
	err := c.cc.Invoke(ctx, Openstack_DeletePort_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdatePort(ctx context.Context, in *UpdatePortReq, opts ...grpc.CallOption) (*UpdatePortResp, error) {
	out := new(UpdatePortResp)
	err := c.cc.Invoke(ctx, Openstack_UpdatePort_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowPortDetails(ctx context.Context, in *ShowPortDetailsReq, opts ...grpc.CallOption) (*ShowPortDetailsResp, error) {
	out := new(ShowPortDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowPortDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateRouter(ctx context.Context, in *CreateRouterReq, opts ...grpc.CallOption) (*CreateRouterResp, error) {
	out := new(CreateRouterResp)
	err := c.cc.Invoke(ctx, Openstack_CreateRouter_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListRouters(ctx context.Context, in *ListRoutersReq, opts ...grpc.CallOption) (*ListRoutersResp, error) {
	out := new(ListRoutersResp)
	err := c.cc.Invoke(ctx, Openstack_ListRouters_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowRouterDetails(ctx context.Context, in *ShowRouterDetailsReq, opts ...grpc.CallOption) (*ShowRouterDetailsResp, error) {
	out := new(ShowRouterDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowRouterDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateRouter(ctx context.Context, in *UpdateRouterReq, opts ...grpc.CallOption) (*UpdateRouterResp, error) {
	out := new(UpdateRouterResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateRouter_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteRouter(ctx context.Context, in *DeleteRouterReq, opts ...grpc.CallOption) (*DeleteRouterResp, error) {
	out := new(DeleteRouterResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteRouter_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListFloatingIPs(ctx context.Context, in *ListFloatingIPsReq, opts ...grpc.CallOption) (*ListFloatingIPsResp, error) {
	out := new(ListFloatingIPsResp)
	err := c.cc.Invoke(ctx, Openstack_ListFloatingIPs_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateFloatingIP(ctx context.Context, in *CreateFloatingIPReq, opts ...grpc.CallOption) (*CreateFloatingIPResp, error) {
	out := new(CreateFloatingIPResp)
	err := c.cc.Invoke(ctx, Openstack_CreateFloatingIP_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateFloatingIP(ctx context.Context, in *UpdateFloatingIPReq, opts ...grpc.CallOption) (*UpdateFloatingIPResp, error) {
	out := new(UpdateFloatingIPResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateFloatingIP_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteFloatingIP(ctx context.Context, in *DeleteFloatingIPReq, opts ...grpc.CallOption) (*DeleteFloatingIPResp, error) {
	out := new(DeleteFloatingIPResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteFloatingIP_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowFloatingIPDetails(ctx context.Context, in *ShowFloatingIPDetailsReq, opts ...grpc.CallOption) (*ShowFloatingIPDetailsResp, error) {
	out := new(ShowFloatingIPDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowFloatingIPDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListFirewallGroups(ctx context.Context, in *ListFirewallGroupsReq, opts ...grpc.CallOption) (*ListFirewallGroupsResp, error) {
	out := new(ListFirewallGroupsResp)
	err := c.cc.Invoke(ctx, Openstack_ListFirewallGroups_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteFirewallGroup(ctx context.Context, in *DeleteFirewallGroupReq, opts ...grpc.CallOption) (*DeleteFirewallGroupResp, error) {
	out := new(DeleteFirewallGroupResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteFirewallGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateFirewallGroup(ctx context.Context, in *CreateFirewallGroupReq, opts ...grpc.CallOption) (*CreateFirewallGroupResp, error) {
	out := new(CreateFirewallGroupResp)
	err := c.cc.Invoke(ctx, Openstack_CreateFirewallGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateFirewallGroup(ctx context.Context, in *UpdateFirewallGroupReq, opts ...grpc.CallOption) (*UpdateFirewallGroupResp, error) {
	out := new(UpdateFirewallGroupResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateFirewallGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowFirewallGroupDetails(ctx context.Context, in *ShowFirewallGroupDetailsReq, opts ...grpc.CallOption) (*ShowFirewallGroupDetailsResp, error) {
	out := new(ShowFirewallGroupDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowFirewallGroupDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateFirewallPolicy(ctx context.Context, in *CreateFirewallPolicyReq, opts ...grpc.CallOption) (*CreateFirewallPolicyResp, error) {
	out := new(CreateFirewallPolicyResp)
	err := c.cc.Invoke(ctx, Openstack_CreateFirewallPolicy_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteFirewallPolicy(ctx context.Context, in *DeleteFirewallPolicyReq, opts ...grpc.CallOption) (*DeleteFirewallPolicyResp, error) {
	out := new(DeleteFirewallPolicyResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteFirewallPolicy_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListFirewallPolicies(ctx context.Context, in *ListFirewallPoliciesReq, opts ...grpc.CallOption) (*ListFirewallPoliciesResp, error) {
	out := new(ListFirewallPoliciesResp)
	err := c.cc.Invoke(ctx, Openstack_ListFirewallPolicies_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowFirewallPolicyDetails(ctx context.Context, in *ShowFirewallPolicyDetailsReq, opts ...grpc.CallOption) (*ShowFirewallPolicyDetailsResp, error) {
	out := new(ShowFirewallPolicyDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowFirewallPolicyDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateFirewallRule(ctx context.Context, in *CreateFirewallRuleReq, opts ...grpc.CallOption) (*CreateFirewallRuleResp, error) {
	out := new(CreateFirewallRuleResp)
	err := c.cc.Invoke(ctx, Openstack_CreateFirewallRule_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteFirewallRule(ctx context.Context, in *DeleteFirewallRuleReq, opts ...grpc.CallOption) (*DeleteFirewallRuleResp, error) {
	out := new(DeleteFirewallRuleResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteFirewallRule_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListFirewallRules(ctx context.Context, in *ListFirewallRulesReq, opts ...grpc.CallOption) (*ListFirewallRulesResp, error) {
	out := new(ListFirewallRulesResp)
	err := c.cc.Invoke(ctx, Openstack_ListFirewallRules_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowFirewallRuleDetails(ctx context.Context, in *ShowFirewallRuleDetailsReq, opts ...grpc.CallOption) (*ShowFirewallRuleDetailsResp, error) {
	out := new(ShowFirewallRuleDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowFirewallRuleDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListSecurityGroups(ctx context.Context, in *ListSecurityGroupsReq, opts ...grpc.CallOption) (*ListSecurityGroupsResp, error) {
	out := new(ListSecurityGroupsResp)
	err := c.cc.Invoke(ctx, Openstack_ListSecurityGroups_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateSecurityGroup(ctx context.Context, in *CreateSecurityGroupReq, opts ...grpc.CallOption) (*CreateSecurityGroupResp, error) {
	out := new(CreateSecurityGroupResp)
	err := c.cc.Invoke(ctx, Openstack_CreateSecurityGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteSecurityGroup(ctx context.Context, in *DeleteSecurityGroupReq, opts ...grpc.CallOption) (*DeleteSecurityGroupResp, error) {
	out := new(DeleteSecurityGroupResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteSecurityGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateSecurityGroup(ctx context.Context, in *UpdateSecurityGroupReq, opts ...grpc.CallOption) (*UpdateSecurityGroupResp, error) {
	out := new(UpdateSecurityGroupResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateSecurityGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowSecurityGroup(ctx context.Context, in *ShowSecurityGroupReq, opts ...grpc.CallOption) (*ShowSecurityGroupResp, error) {
	out := new(ShowSecurityGroupResp)
	err := c.cc.Invoke(ctx, Openstack_ShowSecurityGroup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListSecurityGroupRules(ctx context.Context, in *ListSecurityGroupRulesReq, opts ...grpc.CallOption) (*ListSecurityGroupRulesResp, error) {
	out := new(ListSecurityGroupRulesResp)
	err := c.cc.Invoke(ctx, Openstack_ListSecurityGroupRules_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateSecurityGroupRule(ctx context.Context, in *CreateSecurityGroupRuleReq, opts ...grpc.CallOption) (*CreateSecurityGroupRuleResp, error) {
	out := new(CreateSecurityGroupRuleResp)
	err := c.cc.Invoke(ctx, Openstack_CreateSecurityGroupRule_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowSecurityGroupRule(ctx context.Context, in *ShowSecurityGroupRuleReq, opts ...grpc.CallOption) (*ShowSecurityGroupRuleResp, error) {
	out := new(ShowSecurityGroupRuleResp)
	err := c.cc.Invoke(ctx, Openstack_ShowSecurityGroupRule_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteSecurityGroupRule(ctx context.Context, in *DeleteSecurityGroupRuleReq, opts ...grpc.CallOption) (*DeleteSecurityGroupRuleResp, error) {
	out := new(DeleteSecurityGroupRuleResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteSecurityGroupRule_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) {
	out := new(CreateImageResp)
	err := c.cc.Invoke(ctx, Openstack_CreateImage_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListImages(ctx context.Context, in *ListImagesReq, opts ...grpc.CallOption) (*ListImagesResp, error) {
	out := new(ListImagesResp)
	err := c.cc.Invoke(ctx, Openstack_ListImages_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteImage(ctx context.Context, in *DeleteImageReq, opts ...grpc.CallOption) (*DeleteImageResp, error) {
	out := new(DeleteImageResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteImage_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UploadImage(ctx context.Context, in *UploadOsImageReq, opts ...grpc.CallOption) (*UploadOsImageResp, error) {
	out := new(UploadOsImageResp)
	err := c.cc.Invoke(ctx, Openstack_UploadImage_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListNodes(ctx context.Context, in *ListNodesReq, opts ...grpc.CallOption) (*ListNodesResp, error) {
	out := new(ListNodesResp)
	err := c.cc.Invoke(ctx, Openstack_ListNodes_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateNode(ctx context.Context, in *CreateNodeReq, opts ...grpc.CallOption) (*CreateNodeResp, error) {
	out := new(CreateNodeResp)
	err := c.cc.Invoke(ctx, Openstack_CreateNode_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteNode(ctx context.Context, in *DeleteNodeReq, opts ...grpc.CallOption) (*DeleteNodeResp, error) {
	out := new(DeleteNodeResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteNode_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ShowNodeDetails(ctx context.Context, in *ShowNodeDetailsReq, opts ...grpc.CallOption) (*ShowNodeDetailsResp, error) {
	out := new(ShowNodeDetailsResp)
	err := c.cc.Invoke(ctx, Openstack_ShowNodeDetails_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListVolumes(ctx context.Context, in *ListVolumesReq, opts ...grpc.CallOption) (*ListVolumesResp, error) {
	out := new(ListVolumesResp)
	err := c.cc.Invoke(ctx, Openstack_ListVolumes_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListVolumesDetail(ctx context.Context, in *ListVolumesDetailReq, opts ...grpc.CallOption) (*ListVolumesDetailResp, error) {
	out := new(ListVolumesDetailResp)
	err := c.cc.Invoke(ctx, Openstack_ListVolumesDetail_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateVolume(ctx context.Context, in *CreateVolumeReq, opts ...grpc.CallOption) (*CreateVolumeResp, error) {
	out := new(CreateVolumeResp)
	err := c.cc.Invoke(ctx, Openstack_CreateVolume_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteVolume(ctx context.Context, in *DeleteVolumeReq, opts ...grpc.CallOption) (*DeleteVolumeResp, error) {
	out := new(DeleteVolumeResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteVolume_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) UpdateVolume(ctx context.Context, in *UpdateVolumeReq, opts ...grpc.CallOption) (*UpdateVolumeResp, error) {
	out := new(UpdateVolumeResp)
	err := c.cc.Invoke(ctx, Openstack_UpdateVolume_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) GetVolumeDetailedById(ctx context.Context, in *GetVolumeDetailedByIdReq, opts ...grpc.CallOption) (*GetVolumeDetailedByIdResp, error) {
	out := new(GetVolumeDetailedByIdResp)
	err := c.cc.Invoke(ctx, Openstack_GetVolumeDetailedById_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) ListVolumeTypes(ctx context.Context, in *ListVolumeTypesReq, opts ...grpc.CallOption) (*ListVolumeTypesResp, error) {
	out := new(ListVolumeTypesResp)
	err := c.cc.Invoke(ctx, Openstack_ListVolumeTypes_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) CreateVolumeTypes(ctx context.Context, in *CreateVolumeTypeReq, opts ...grpc.CallOption) (*CreateVolumeTypeResp, error) {
	out := new(CreateVolumeTypeResp)
	err := c.cc.Invoke(ctx, Openstack_CreateVolumeTypes_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *openstackClient) DeleteVolumeTypes(ctx context.Context, in *DeleteVolumeTypeReq, opts ...grpc.CallOption) (*DeleteVolumeTypeResp, error) {
	out := new(DeleteVolumeTypeResp)
	err := c.cc.Invoke(ctx, Openstack_DeleteVolumeTypes_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// OpenstackServer is the server API for Openstack service.
// All implementations must embed UnimplementedOpenstackServer
// for forward compatibility
type OpenstackServer interface {
	// Overview
	GetComputeLimits(context.Context, *GetComputeLimitsReq) (*GetComputeLimitsResp, error)
	GetVolumeLimits(context.Context, *GetVolumeLimitsReq) (*GetVolumeLimitsResp, error)
	// Servers
	ListServers(context.Context, *ListServersReq) (*ListServersResp, error)
	ListServersDetailed(context.Context, *ListServersDetailedReq) (*ListServersDetailedResp, error)
	CreateServer(context.Context, *CreateServerReq) (*CreateServerResp, error)
	DeleteServer(context.Context, *DeleteServerReq) (*DeleteServerResp, error)
	GetServersDetailedById(context.Context, *GetServersDetailedByIdReq) (*GetServersDetailedByIdResp, error)
	UpdateServer(context.Context, *UpdateServerReq) (*UpdateServerResp, error)
	StartServer(context.Context, *StartServerReq) (*StartServerResp, error)
	StopServer(context.Context, *StopServerReq) (*StopServerResp, error)
	RebootServer(context.Context, *RebootServerReq) (*RebootServerResp, error)
	PauseServer(context.Context, *PauseServerReq) (*PauseServerResp, error)
	UnpauseServer(context.Context, *UnpauseServerReq) (*UnpauseServerResp, error)
	RebuildServer(context.Context, *RebuildServerReq) (*RebuildServerResp, error)
	ResizeServer(context.Context, *ResizeServerReq) (*ResizeServerResp, error)
	MigrateServer(context.Context, *MigrateServerReq) (*MigrateServerResp, error)
	ShelveServer(context.Context, *ShelveServerReq) (*ShelveServerResp, error)
	UnshelveServer(context.Context, *UnshelveServerReq) (*UnshelveServerResp, error)
	ChangeAdministrativePassword(context.Context, *ChangeAdministrativePasswordReq) (*ChangeAdministrativePasswordResp, error)
	RescueServer(context.Context, *RescueServerReq) (*RescueServerResp, error)
	UnRescue(context.Context, *UnRescueServerReq) (*UnRescueServerResp, error)
	SuspendServer(context.Context, *SuspendServerReq) (*SuspendServerResp, error)
	AddSecurityGroupToServer(context.Context, *AddSecurityGroupToServerReq) (*AddSecurityGroupToServerResp, error)
	RemoveSecurityGroup(context.Context, *RemoveSecurityGroupReq) (*RemoveSecurityGroupResp, error)
	// 规格(Flavors)
	ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error)
	CreateFlavor(context.Context, *CreateFlavorReq) (*CreateFlavorResp, error)
	DeleteFlavor(context.Context, *DeleteFlavorReq) (*DeleteFlavorResp, error)
	// network
	ShowNetworkDetails(context.Context, *ShowNetworkDetailsReq) (*ShowNetworkDetailsResp, error)
	UpdateNetwork(context.Context, *UpdateNetworkReq) (*UpdateNetworkResp, error)
	DeleteNetwork(context.Context, *DeleteNetworkReq) (*DeleteNetworkResp, error)
	ListNetworks(context.Context, *ListNetworksReq) (*ListNetworksResp, error)
	CreateNetwork(context.Context, *CreateNetworkReq) (*CreateNetworkResp, error)
	BulkCreateNetworks(context.Context, *BulkCreateNetworksReq) (*BulkCreateNetworksResp, error)
	// 子网
	CreateSubnet(context.Context, *CreateSubnetReq) (*CreateSubnetResp, error)
	ListSubnets(context.Context, *ListSubnetsReq) (*ListSubnetsResp, error)
	DeleteSubnet(context.Context, *DeleteSubnetReq) (*DeleteSubnetResp, error)
	UpdateSubnet(context.Context, *UpdateSubnetReq) (*UpdateSubnetResp, error)
	// 网段
	CreateNetworkSegmentRange(context.Context, *CreateNetworkSegmentRangeReq) (*CreateNetworkSegmentRangeResp, error)
	ListNetworkSegmentRanges(context.Context, *ListNetworkSegmentRangesReq) (*ListNetworkSegmentRangesResp, error)
	DeleteNetworkSegmentRanges(context.Context, *DeleteNetworkSegmentRangesReq) (*DeleteNetworkSegmentRangesResp, error)
	UpdateNetworkSegmentRanges(context.Context, *UpdateNetworkSegmentRangesReq) (*UpdateNetworkSegmentRangesResp, error)
	ShowNetworkSegmentRangeDetails(context.Context, *ShowNetworkSegmentRangeDetailsReq) (*ShowNetworkSegmentRangeDetailsResp, error)
	// 端口
	CreatePort(context.Context, *CreatePortReq) (*CreatePortResp, error)
	ListPorts(context.Context, *ListPortsReq) (*ListPortsResp, error)
	DeletePort(context.Context, *DeletePortReq) (*DeletePortResp, error)
	UpdatePort(context.Context, *UpdatePortReq) (*UpdatePortResp, error)
	ShowPortDetails(context.Context, *ShowPortDetailsReq) (*ShowPortDetailsResp, error)
	// 路由
	CreateRouter(context.Context, *CreateRouterReq) (*CreateRouterResp, error)
	ListRouters(context.Context, *ListRoutersReq) (*ListRoutersResp, error)
	ShowRouterDetails(context.Context, *ShowRouterDetailsReq) (*ShowRouterDetailsResp, error)
	UpdateRouter(context.Context, *UpdateRouterReq) (*UpdateRouterResp, error)
	DeleteRouter(context.Context, *DeleteRouterReq) (*DeleteRouterResp, error)
	// 浮动IP
	ListFloatingIPs(context.Context, *ListFloatingIPsReq) (*ListFloatingIPsResp, error)
	CreateFloatingIP(context.Context, *CreateFloatingIPReq) (*CreateFloatingIPResp, error)
	UpdateFloatingIP(context.Context, *UpdateFloatingIPReq) (*UpdateFloatingIPResp, error)
	DeleteFloatingIP(context.Context, *DeleteFloatingIPReq) (*DeleteFloatingIPResp, error)
	ShowFloatingIPDetails(context.Context, *ShowFloatingIPDetailsReq) (*ShowFloatingIPDetailsResp, error)
	// 防火墙
	ListFirewallGroups(context.Context, *ListFirewallGroupsReq) (*ListFirewallGroupsResp, error)
	DeleteFirewallGroup(context.Context, *DeleteFirewallGroupReq) (*DeleteFirewallGroupResp, error)
	CreateFirewallGroup(context.Context, *CreateFirewallGroupReq) (*CreateFirewallGroupResp, error)
	UpdateFirewallGroup(context.Context, *UpdateFirewallGroupReq) (*UpdateFirewallGroupResp, error)
	ShowFirewallGroupDetails(context.Context, *ShowFirewallGroupDetailsReq) (*ShowFirewallGroupDetailsResp, error)
	CreateFirewallPolicy(context.Context, *CreateFirewallPolicyReq) (*CreateFirewallPolicyResp, error)
	DeleteFirewallPolicy(context.Context, *DeleteFirewallPolicyReq) (*DeleteFirewallPolicyResp, error)
	ListFirewallPolicies(context.Context, *ListFirewallPoliciesReq) (*ListFirewallPoliciesResp, error)
	ShowFirewallPolicyDetails(context.Context, *ShowFirewallPolicyDetailsReq) (*ShowFirewallPolicyDetailsResp, error)
	CreateFirewallRule(context.Context, *CreateFirewallRuleReq) (*CreateFirewallRuleResp, error)
	DeleteFirewallRule(context.Context, *DeleteFirewallRuleReq) (*DeleteFirewallRuleResp, error)
	ListFirewallRules(context.Context, *ListFirewallRulesReq) (*ListFirewallRulesResp, error)
	ShowFirewallRuleDetails(context.Context, *ShowFirewallRuleDetailsReq) (*ShowFirewallRuleDetailsResp, error)
	// 安全组
	ListSecurityGroups(context.Context, *ListSecurityGroupsReq) (*ListSecurityGroupsResp, error)
	CreateSecurityGroup(context.Context, *CreateSecurityGroupReq) (*CreateSecurityGroupResp, error)
	DeleteSecurityGroup(context.Context, *DeleteSecurityGroupReq) (*DeleteSecurityGroupResp, error)
	UpdateSecurityGroup(context.Context, *UpdateSecurityGroupReq) (*UpdateSecurityGroupResp, error)
	ShowSecurityGroup(context.Context, *ShowSecurityGroupReq) (*ShowSecurityGroupResp, error)
	// 安全组规则
	ListSecurityGroupRules(context.Context, *ListSecurityGroupRulesReq) (*ListSecurityGroupRulesResp, error)
	CreateSecurityGroupRule(context.Context, *CreateSecurityGroupRuleReq) (*CreateSecurityGroupRuleResp, error)
	ShowSecurityGroupRule(context.Context, *ShowSecurityGroupRuleReq) (*ShowSecurityGroupRuleResp, error)
	DeleteSecurityGroupRule(context.Context, *DeleteSecurityGroupRuleReq) (*DeleteSecurityGroupRuleResp, error)
	// Images from glance
	CreateImage(context.Context, *CreateImageReq) (*CreateImageResp, error)
	ListImages(context.Context, *ListImagesReq) (*ListImagesResp, error)
	DeleteImage(context.Context, *DeleteImageReq) (*DeleteImageResp, error)
	UploadImage(context.Context, *UploadOsImageReq) (*UploadOsImageResp, error)
	// Bare Metal
	ListNodes(context.Context, *ListNodesReq) (*ListNodesResp, error)
	CreateNode(context.Context, *CreateNodeReq) (*CreateNodeResp, error)
	DeleteNode(context.Context, *DeleteNodeReq) (*DeleteNodeResp, error)
	ShowNodeDetails(context.Context, *ShowNodeDetailsReq) (*ShowNodeDetailsResp, error)
	// cinder(block storage) volumes
	ListVolumes(context.Context, *ListVolumesReq) (*ListVolumesResp, error)
	ListVolumesDetail(context.Context, *ListVolumesDetailReq) (*ListVolumesDetailResp, error)
	CreateVolume(context.Context, *CreateVolumeReq) (*CreateVolumeResp, error)
	DeleteVolume(context.Context, *DeleteVolumeReq) (*DeleteVolumeResp, error)
	UpdateVolume(context.Context, *UpdateVolumeReq) (*UpdateVolumeResp, error)
	GetVolumeDetailedById(context.Context, *GetVolumeDetailedByIdReq) (*GetVolumeDetailedByIdResp, error)
	ListVolumeTypes(context.Context, *ListVolumeTypesReq) (*ListVolumeTypesResp, error)
	CreateVolumeTypes(context.Context, *CreateVolumeTypeReq) (*CreateVolumeTypeResp, error)
	DeleteVolumeTypes(context.Context, *DeleteVolumeTypeReq) (*DeleteVolumeTypeResp, error)
	mustEmbedUnimplementedOpenstackServer()
}

// UnimplementedOpenstackServer must be embedded to have forward compatible implementations.
type UnimplementedOpenstackServer struct {
}

func (UnimplementedOpenstackServer) GetComputeLimits(context.Context, *GetComputeLimitsReq) (*GetComputeLimitsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetComputeLimits not implemented")
}
func (UnimplementedOpenstackServer) GetVolumeLimits(context.Context, *GetVolumeLimitsReq) (*GetVolumeLimitsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVolumeLimits not implemented")
}
func (UnimplementedOpenstackServer) ListServers(context.Context, *ListServersReq) (*ListServersResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListServers not implemented")
}
func (UnimplementedOpenstackServer) ListServersDetailed(context.Context, *ListServersDetailedReq) (*ListServersDetailedResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListServersDetailed not implemented")
}
func (UnimplementedOpenstackServer) CreateServer(context.Context, *CreateServerReq) (*CreateServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateServer not implemented")
}
func (UnimplementedOpenstackServer) DeleteServer(context.Context, *DeleteServerReq) (*DeleteServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteServer not implemented")
}
func (UnimplementedOpenstackServer) GetServersDetailedById(context.Context, *GetServersDetailedByIdReq) (*GetServersDetailedByIdResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServersDetailedById not implemented")
}
func (UnimplementedOpenstackServer) UpdateServer(context.Context, *UpdateServerReq) (*UpdateServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateServer not implemented")
}
func (UnimplementedOpenstackServer) StartServer(context.Context, *StartServerReq) (*StartServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StartServer not implemented")
}
func (UnimplementedOpenstackServer) StopServer(context.Context, *StopServerReq) (*StopServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StopServer not implemented")
}
func (UnimplementedOpenstackServer) RebootServer(context.Context, *RebootServerReq) (*RebootServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RebootServer not implemented")
}
func (UnimplementedOpenstackServer) PauseServer(context.Context, *PauseServerReq) (*PauseServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PauseServer not implemented")
}
func (UnimplementedOpenstackServer) UnpauseServer(context.Context, *UnpauseServerReq) (*UnpauseServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnpauseServer not implemented")
}
func (UnimplementedOpenstackServer) RebuildServer(context.Context, *RebuildServerReq) (*RebuildServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RebuildServer not implemented")
}
func (UnimplementedOpenstackServer) ResizeServer(context.Context, *ResizeServerReq) (*ResizeServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ResizeServer not implemented")
}
func (UnimplementedOpenstackServer) MigrateServer(context.Context, *MigrateServerReq) (*MigrateServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MigrateServer not implemented")
}
func (UnimplementedOpenstackServer) ShelveServer(context.Context, *ShelveServerReq) (*ShelveServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShelveServer not implemented")
}
func (UnimplementedOpenstackServer) UnshelveServer(context.Context, *UnshelveServerReq) (*UnshelveServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnshelveServer not implemented")
}
func (UnimplementedOpenstackServer) ChangeAdministrativePassword(context.Context, *ChangeAdministrativePasswordReq) (*ChangeAdministrativePasswordResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChangeAdministrativePassword not implemented")
}
func (UnimplementedOpenstackServer) RescueServer(context.Context, *RescueServerReq) (*RescueServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RescueServer not implemented")
}
func (UnimplementedOpenstackServer) UnRescue(context.Context, *UnRescueServerReq) (*UnRescueServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnRescue not implemented")
}
func (UnimplementedOpenstackServer) SuspendServer(context.Context, *SuspendServerReq) (*SuspendServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SuspendServer not implemented")
}
func (UnimplementedOpenstackServer) AddSecurityGroupToServer(context.Context, *AddSecurityGroupToServerReq) (*AddSecurityGroupToServerResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddSecurityGroupToServer not implemented")
}
func (UnimplementedOpenstackServer) RemoveSecurityGroup(context.Context, *RemoveSecurityGroupReq) (*RemoveSecurityGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemoveSecurityGroup not implemented")
}
func (UnimplementedOpenstackServer) ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListFlavorsDetail not implemented")
}
func (UnimplementedOpenstackServer) CreateFlavor(context.Context, *CreateFlavorReq) (*CreateFlavorResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateFlavor not implemented")
}
func (UnimplementedOpenstackServer) DeleteFlavor(context.Context, *DeleteFlavorReq) (*DeleteFlavorResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteFlavor not implemented")
}
func (UnimplementedOpenstackServer) ShowNetworkDetails(context.Context, *ShowNetworkDetailsReq) (*ShowNetworkDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowNetworkDetails not implemented")
}
func (UnimplementedOpenstackServer) UpdateNetwork(context.Context, *UpdateNetworkReq) (*UpdateNetworkResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNetwork not implemented")
}
func (UnimplementedOpenstackServer) DeleteNetwork(context.Context, *DeleteNetworkReq) (*DeleteNetworkResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteNetwork not implemented")
}
func (UnimplementedOpenstackServer) ListNetworks(context.Context, *ListNetworksReq) (*ListNetworksResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListNetworks not implemented")
}
func (UnimplementedOpenstackServer) CreateNetwork(context.Context, *CreateNetworkReq) (*CreateNetworkResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateNetwork not implemented")
}
func (UnimplementedOpenstackServer) BulkCreateNetworks(context.Context, *BulkCreateNetworksReq) (*BulkCreateNetworksResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BulkCreateNetworks not implemented")
}
func (UnimplementedOpenstackServer) CreateSubnet(context.Context, *CreateSubnetReq) (*CreateSubnetResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSubnet not implemented")
}
func (UnimplementedOpenstackServer) ListSubnets(context.Context, *ListSubnetsReq) (*ListSubnetsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListSubnets not implemented")
}
func (UnimplementedOpenstackServer) DeleteSubnet(context.Context, *DeleteSubnetReq) (*DeleteSubnetResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteSubnet not implemented")
}
func (UnimplementedOpenstackServer) UpdateSubnet(context.Context, *UpdateSubnetReq) (*UpdateSubnetResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateSubnet not implemented")
}
func (UnimplementedOpenstackServer) CreateNetworkSegmentRange(context.Context, *CreateNetworkSegmentRangeReq) (*CreateNetworkSegmentRangeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateNetworkSegmentRange not implemented")
}
func (UnimplementedOpenstackServer) ListNetworkSegmentRanges(context.Context, *ListNetworkSegmentRangesReq) (*ListNetworkSegmentRangesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListNetworkSegmentRanges not implemented")
}
func (UnimplementedOpenstackServer) DeleteNetworkSegmentRanges(context.Context, *DeleteNetworkSegmentRangesReq) (*DeleteNetworkSegmentRangesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteNetworkSegmentRanges not implemented")
}
func (UnimplementedOpenstackServer) UpdateNetworkSegmentRanges(context.Context, *UpdateNetworkSegmentRangesReq) (*UpdateNetworkSegmentRangesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNetworkSegmentRanges not implemented")
}
func (UnimplementedOpenstackServer) ShowNetworkSegmentRangeDetails(context.Context, *ShowNetworkSegmentRangeDetailsReq) (*ShowNetworkSegmentRangeDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowNetworkSegmentRangeDetails not implemented")
}
func (UnimplementedOpenstackServer) CreatePort(context.Context, *CreatePortReq) (*CreatePortResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePort not implemented")
}
func (UnimplementedOpenstackServer) ListPorts(context.Context, *ListPortsReq) (*ListPortsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPorts not implemented")
}
func (UnimplementedOpenstackServer) DeletePort(context.Context, *DeletePortReq) (*DeletePortResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePort not implemented")
}
func (UnimplementedOpenstackServer) UpdatePort(context.Context, *UpdatePortReq) (*UpdatePortResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePort not implemented")
}
func (UnimplementedOpenstackServer) ShowPortDetails(context.Context, *ShowPortDetailsReq) (*ShowPortDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowPortDetails not implemented")
}
func (UnimplementedOpenstackServer) CreateRouter(context.Context, *CreateRouterReq) (*CreateRouterResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateRouter not implemented")
}
func (UnimplementedOpenstackServer) ListRouters(context.Context, *ListRoutersReq) (*ListRoutersResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListRouters not implemented")
}
func (UnimplementedOpenstackServer) ShowRouterDetails(context.Context, *ShowRouterDetailsReq) (*ShowRouterDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowRouterDetails not implemented")
}
func (UnimplementedOpenstackServer) UpdateRouter(context.Context, *UpdateRouterReq) (*UpdateRouterResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateRouter not implemented")
}
func (UnimplementedOpenstackServer) DeleteRouter(context.Context, *DeleteRouterReq) (*DeleteRouterResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteRouter not implemented")
}
func (UnimplementedOpenstackServer) ListFloatingIPs(context.Context, *ListFloatingIPsReq) (*ListFloatingIPsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListFloatingIPs not implemented")
}
func (UnimplementedOpenstackServer) CreateFloatingIP(context.Context, *CreateFloatingIPReq) (*CreateFloatingIPResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateFloatingIP not implemented")
}
func (UnimplementedOpenstackServer) UpdateFloatingIP(context.Context, *UpdateFloatingIPReq) (*UpdateFloatingIPResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateFloatingIP not implemented")
}
func (UnimplementedOpenstackServer) DeleteFloatingIP(context.Context, *DeleteFloatingIPReq) (*DeleteFloatingIPResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteFloatingIP not implemented")
}
func (UnimplementedOpenstackServer) ShowFloatingIPDetails(context.Context, *ShowFloatingIPDetailsReq) (*ShowFloatingIPDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowFloatingIPDetails not implemented")
}
func (UnimplementedOpenstackServer) ListFirewallGroups(context.Context, *ListFirewallGroupsReq) (*ListFirewallGroupsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListFirewallGroups not implemented")
}
func (UnimplementedOpenstackServer) DeleteFirewallGroup(context.Context, *DeleteFirewallGroupReq) (*DeleteFirewallGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteFirewallGroup not implemented")
}
func (UnimplementedOpenstackServer) CreateFirewallGroup(context.Context, *CreateFirewallGroupReq) (*CreateFirewallGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateFirewallGroup not implemented")
}
func (UnimplementedOpenstackServer) UpdateFirewallGroup(context.Context, *UpdateFirewallGroupReq) (*UpdateFirewallGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateFirewallGroup not implemented")
}
func (UnimplementedOpenstackServer) ShowFirewallGroupDetails(context.Context, *ShowFirewallGroupDetailsReq) (*ShowFirewallGroupDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowFirewallGroupDetails not implemented")
}
func (UnimplementedOpenstackServer) CreateFirewallPolicy(context.Context, *CreateFirewallPolicyReq) (*CreateFirewallPolicyResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateFirewallPolicy not implemented")
}
func (UnimplementedOpenstackServer) DeleteFirewallPolicy(context.Context, *DeleteFirewallPolicyReq) (*DeleteFirewallPolicyResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteFirewallPolicy not implemented")
}
func (UnimplementedOpenstackServer) ListFirewallPolicies(context.Context, *ListFirewallPoliciesReq) (*ListFirewallPoliciesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListFirewallPolicies not implemented")
}
func (UnimplementedOpenstackServer) ShowFirewallPolicyDetails(context.Context, *ShowFirewallPolicyDetailsReq) (*ShowFirewallPolicyDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowFirewallPolicyDetails not implemented")
}
func (UnimplementedOpenstackServer) CreateFirewallRule(context.Context, *CreateFirewallRuleReq) (*CreateFirewallRuleResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateFirewallRule not implemented")
}
func (UnimplementedOpenstackServer) DeleteFirewallRule(context.Context, *DeleteFirewallRuleReq) (*DeleteFirewallRuleResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteFirewallRule not implemented")
}
func (UnimplementedOpenstackServer) ListFirewallRules(context.Context, *ListFirewallRulesReq) (*ListFirewallRulesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListFirewallRules not implemented")
}
func (UnimplementedOpenstackServer) ShowFirewallRuleDetails(context.Context, *ShowFirewallRuleDetailsReq) (*ShowFirewallRuleDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowFirewallRuleDetails not implemented")
}
func (UnimplementedOpenstackServer) ListSecurityGroups(context.Context, *ListSecurityGroupsReq) (*ListSecurityGroupsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListSecurityGroups not implemented")
}
func (UnimplementedOpenstackServer) CreateSecurityGroup(context.Context, *CreateSecurityGroupReq) (*CreateSecurityGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSecurityGroup not implemented")
}
func (UnimplementedOpenstackServer) DeleteSecurityGroup(context.Context, *DeleteSecurityGroupReq) (*DeleteSecurityGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteSecurityGroup not implemented")
}
func (UnimplementedOpenstackServer) UpdateSecurityGroup(context.Context, *UpdateSecurityGroupReq) (*UpdateSecurityGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateSecurityGroup not implemented")
}
func (UnimplementedOpenstackServer) ShowSecurityGroup(context.Context, *ShowSecurityGroupReq) (*ShowSecurityGroupResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowSecurityGroup not implemented")
}
func (UnimplementedOpenstackServer) ListSecurityGroupRules(context.Context, *ListSecurityGroupRulesReq) (*ListSecurityGroupRulesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListSecurityGroupRules not implemented")
}
func (UnimplementedOpenstackServer) CreateSecurityGroupRule(context.Context, *CreateSecurityGroupRuleReq) (*CreateSecurityGroupRuleResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSecurityGroupRule not implemented")
}
func (UnimplementedOpenstackServer) ShowSecurityGroupRule(context.Context, *ShowSecurityGroupRuleReq) (*ShowSecurityGroupRuleResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowSecurityGroupRule not implemented")
}
func (UnimplementedOpenstackServer) DeleteSecurityGroupRule(context.Context, *DeleteSecurityGroupRuleReq) (*DeleteSecurityGroupRuleResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteSecurityGroupRule not implemented")
}
func (UnimplementedOpenstackServer) CreateImage(context.Context, *CreateImageReq) (*CreateImageResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateImage not implemented")
}
func (UnimplementedOpenstackServer) ListImages(context.Context, *ListImagesReq) (*ListImagesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListImages not implemented")
}
func (UnimplementedOpenstackServer) DeleteImage(context.Context, *DeleteImageReq) (*DeleteImageResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteImage not implemented")
}
func (UnimplementedOpenstackServer) UploadImage(context.Context, *UploadOsImageReq) (*UploadOsImageResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UploadImage not implemented")
}
func (UnimplementedOpenstackServer) ListNodes(context.Context, *ListNodesReq) (*ListNodesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListNodes not implemented")
}
func (UnimplementedOpenstackServer) CreateNode(context.Context, *CreateNodeReq) (*CreateNodeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateNode not implemented")
}
func (UnimplementedOpenstackServer) DeleteNode(context.Context, *DeleteNodeReq) (*DeleteNodeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteNode not implemented")
}
func (UnimplementedOpenstackServer) ShowNodeDetails(context.Context, *ShowNodeDetailsReq) (*ShowNodeDetailsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShowNodeDetails not implemented")
}
func (UnimplementedOpenstackServer) ListVolumes(context.Context, *ListVolumesReq) (*ListVolumesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListVolumes not implemented")
}
func (UnimplementedOpenstackServer) ListVolumesDetail(context.Context, *ListVolumesDetailReq) (*ListVolumesDetailResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListVolumesDetail not implemented")
}
func (UnimplementedOpenstackServer) CreateVolume(context.Context, *CreateVolumeReq) (*CreateVolumeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateVolume not implemented")
}
func (UnimplementedOpenstackServer) DeleteVolume(context.Context, *DeleteVolumeReq) (*DeleteVolumeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteVolume not implemented")
}
func (UnimplementedOpenstackServer) UpdateVolume(context.Context, *UpdateVolumeReq) (*UpdateVolumeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateVolume not implemented")
}
func (UnimplementedOpenstackServer) GetVolumeDetailedById(context.Context, *GetVolumeDetailedByIdReq) (*GetVolumeDetailedByIdResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVolumeDetailedById not implemented")
}
func (UnimplementedOpenstackServer) ListVolumeTypes(context.Context, *ListVolumeTypesReq) (*ListVolumeTypesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListVolumeTypes not implemented")
}
func (UnimplementedOpenstackServer) CreateVolumeTypes(context.Context, *CreateVolumeTypeReq) (*CreateVolumeTypeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateVolumeTypes not implemented")
}
func (UnimplementedOpenstackServer) DeleteVolumeTypes(context.Context, *DeleteVolumeTypeReq) (*DeleteVolumeTypeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteVolumeTypes not implemented")
}
func (UnimplementedOpenstackServer) mustEmbedUnimplementedOpenstackServer() {}

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

func RegisterOpenstackServer(s grpc.ServiceRegistrar, srv OpenstackServer) {
	s.RegisterService(&Openstack_ServiceDesc, srv)
}

func _Openstack_GetComputeLimits_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetComputeLimitsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).GetComputeLimits(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_GetComputeLimits_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).GetComputeLimits(ctx, req.(*GetComputeLimitsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_GetVolumeLimits_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetVolumeLimitsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).GetVolumeLimits(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_GetVolumeLimits_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).GetVolumeLimits(ctx, req.(*GetVolumeLimitsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListServersReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListServers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListServers_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListServers(ctx, req.(*ListServersReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListServersDetailed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListServersDetailedReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListServersDetailed(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListServersDetailed_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListServersDetailed(ctx, req.(*ListServersDetailedReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateServer(ctx, req.(*CreateServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteServer(ctx, req.(*DeleteServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_GetServersDetailedById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetServersDetailedByIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).GetServersDetailedById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_GetServersDetailedById_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).GetServersDetailedById(ctx, req.(*GetServersDetailedByIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateServer(ctx, req.(*UpdateServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_StartServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).StartServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_StartServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).StartServer(ctx, req.(*StartServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_StopServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).StopServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_StopServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).StopServer(ctx, req.(*StopServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_RebootServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RebootServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).RebootServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_RebootServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).RebootServer(ctx, req.(*RebootServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_PauseServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PauseServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).PauseServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_PauseServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).PauseServer(ctx, req.(*PauseServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UnpauseServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnpauseServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UnpauseServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UnpauseServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UnpauseServer(ctx, req.(*UnpauseServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_RebuildServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RebuildServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).RebuildServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_RebuildServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).RebuildServer(ctx, req.(*RebuildServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ResizeServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ResizeServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ResizeServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ResizeServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ResizeServer(ctx, req.(*ResizeServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_MigrateServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MigrateServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).MigrateServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_MigrateServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).MigrateServer(ctx, req.(*MigrateServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShelveServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShelveServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShelveServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShelveServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShelveServer(ctx, req.(*ShelveServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UnshelveServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnshelveServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UnshelveServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UnshelveServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UnshelveServer(ctx, req.(*UnshelveServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ChangeAdministrativePassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChangeAdministrativePasswordReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ChangeAdministrativePassword(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ChangeAdministrativePassword_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ChangeAdministrativePassword(ctx, req.(*ChangeAdministrativePasswordReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_RescueServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RescueServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).RescueServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_RescueServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).RescueServer(ctx, req.(*RescueServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UnRescue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnRescueServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UnRescue(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UnRescue_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UnRescue(ctx, req.(*UnRescueServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_SuspendServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SuspendServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).SuspendServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_SuspendServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).SuspendServer(ctx, req.(*SuspendServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_AddSecurityGroupToServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddSecurityGroupToServerReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).AddSecurityGroupToServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_AddSecurityGroupToServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).AddSecurityGroupToServer(ctx, req.(*AddSecurityGroupToServerReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_RemoveSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemoveSecurityGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).RemoveSecurityGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_RemoveSecurityGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).RemoveSecurityGroup(ctx, req.(*RemoveSecurityGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListFlavorsDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListFlavorsDetailReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListFlavorsDetail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListFlavorsDetail_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListFlavorsDetail(ctx, req.(*ListFlavorsDetailReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateFlavor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateFlavorReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateFlavor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateFlavor_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateFlavor(ctx, req.(*CreateFlavorReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteFlavor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteFlavorReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteFlavor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteFlavor_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteFlavor(ctx, req.(*DeleteFlavorReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowNetworkDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowNetworkDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowNetworkDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowNetworkDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowNetworkDetails(ctx, req.(*ShowNetworkDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNetworkReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateNetwork(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateNetwork_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateNetwork(ctx, req.(*UpdateNetworkReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteNetworkReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteNetwork(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteNetwork_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteNetwork(ctx, req.(*DeleteNetworkReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListNetworks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListNetworksReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListNetworks(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListNetworks_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListNetworks(ctx, req.(*ListNetworksReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateNetworkReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateNetwork(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateNetwork_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateNetwork(ctx, req.(*CreateNetworkReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_BulkCreateNetworks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BulkCreateNetworksReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).BulkCreateNetworks(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_BulkCreateNetworks_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).BulkCreateNetworks(ctx, req.(*BulkCreateNetworksReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSubnetReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateSubnet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateSubnet_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateSubnet(ctx, req.(*CreateSubnetReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListSubnets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListSubnetsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListSubnets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListSubnets_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListSubnets(ctx, req.(*ListSubnetsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteSubnetReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteSubnet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteSubnet_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteSubnet(ctx, req.(*DeleteSubnetReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateSubnetReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateSubnet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateSubnet_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateSubnet(ctx, req.(*UpdateSubnetReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateNetworkSegmentRange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateNetworkSegmentRangeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateNetworkSegmentRange(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateNetworkSegmentRange_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateNetworkSegmentRange(ctx, req.(*CreateNetworkSegmentRangeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListNetworkSegmentRanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListNetworkSegmentRangesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListNetworkSegmentRanges(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListNetworkSegmentRanges_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListNetworkSegmentRanges(ctx, req.(*ListNetworkSegmentRangesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteNetworkSegmentRanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteNetworkSegmentRangesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteNetworkSegmentRanges(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteNetworkSegmentRanges_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteNetworkSegmentRanges(ctx, req.(*DeleteNetworkSegmentRangesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateNetworkSegmentRanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateNetworkSegmentRangesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateNetworkSegmentRanges(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateNetworkSegmentRanges_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateNetworkSegmentRanges(ctx, req.(*UpdateNetworkSegmentRangesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowNetworkSegmentRangeDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowNetworkSegmentRangeDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowNetworkSegmentRangeDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowNetworkSegmentRangeDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowNetworkSegmentRangeDetails(ctx, req.(*ShowNetworkSegmentRangeDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreatePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreatePortReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreatePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreatePort_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreatePort(ctx, req.(*CreatePortReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListPorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListPortsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListPorts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListPorts_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListPorts(ctx, req.(*ListPortsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeletePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePortReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeletePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeletePort_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeletePort(ctx, req.(*DeletePortReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdatePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdatePortReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdatePort(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdatePort_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdatePort(ctx, req.(*UpdatePortReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowPortDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowPortDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowPortDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowPortDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowPortDetails(ctx, req.(*ShowPortDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateRouter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRouterReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateRouter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateRouter_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateRouter(ctx, req.(*CreateRouterReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListRouters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListRoutersReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListRouters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListRouters_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListRouters(ctx, req.(*ListRoutersReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowRouterDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowRouterDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowRouterDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowRouterDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowRouterDetails(ctx, req.(*ShowRouterDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateRouter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRouterReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateRouter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateRouter_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateRouter(ctx, req.(*UpdateRouterReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteRouter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRouterReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteRouter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteRouter_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteRouter(ctx, req.(*DeleteRouterReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListFloatingIPs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListFloatingIPsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListFloatingIPs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListFloatingIPs_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListFloatingIPs(ctx, req.(*ListFloatingIPsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateFloatingIP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateFloatingIPReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateFloatingIP(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateFloatingIP_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateFloatingIP(ctx, req.(*CreateFloatingIPReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateFloatingIP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateFloatingIPReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateFloatingIP(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateFloatingIP_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateFloatingIP(ctx, req.(*UpdateFloatingIPReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteFloatingIP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteFloatingIPReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteFloatingIP(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteFloatingIP_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteFloatingIP(ctx, req.(*DeleteFloatingIPReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowFloatingIPDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowFloatingIPDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowFloatingIPDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowFloatingIPDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowFloatingIPDetails(ctx, req.(*ShowFloatingIPDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListFirewallGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListFirewallGroupsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListFirewallGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListFirewallGroups_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListFirewallGroups(ctx, req.(*ListFirewallGroupsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteFirewallGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteFirewallGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteFirewallGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteFirewallGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteFirewallGroup(ctx, req.(*DeleteFirewallGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateFirewallGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateFirewallGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateFirewallGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateFirewallGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateFirewallGroup(ctx, req.(*CreateFirewallGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateFirewallGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateFirewallGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateFirewallGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateFirewallGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateFirewallGroup(ctx, req.(*UpdateFirewallGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowFirewallGroupDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowFirewallGroupDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowFirewallGroupDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowFirewallGroupDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowFirewallGroupDetails(ctx, req.(*ShowFirewallGroupDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateFirewallPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateFirewallPolicyReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateFirewallPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateFirewallPolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateFirewallPolicy(ctx, req.(*CreateFirewallPolicyReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteFirewallPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteFirewallPolicyReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteFirewallPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteFirewallPolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteFirewallPolicy(ctx, req.(*DeleteFirewallPolicyReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListFirewallPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListFirewallPoliciesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListFirewallPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListFirewallPolicies_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListFirewallPolicies(ctx, req.(*ListFirewallPoliciesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowFirewallPolicyDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowFirewallPolicyDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowFirewallPolicyDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowFirewallPolicyDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowFirewallPolicyDetails(ctx, req.(*ShowFirewallPolicyDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateFirewallRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateFirewallRuleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateFirewallRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateFirewallRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateFirewallRule(ctx, req.(*CreateFirewallRuleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteFirewallRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteFirewallRuleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteFirewallRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteFirewallRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteFirewallRule(ctx, req.(*DeleteFirewallRuleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListFirewallRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListFirewallRulesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListFirewallRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListFirewallRules_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListFirewallRules(ctx, req.(*ListFirewallRulesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowFirewallRuleDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowFirewallRuleDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowFirewallRuleDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowFirewallRuleDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowFirewallRuleDetails(ctx, req.(*ShowFirewallRuleDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListSecurityGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListSecurityGroupsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListSecurityGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListSecurityGroups_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListSecurityGroups(ctx, req.(*ListSecurityGroupsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSecurityGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateSecurityGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateSecurityGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateSecurityGroup(ctx, req.(*CreateSecurityGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteSecurityGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteSecurityGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteSecurityGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteSecurityGroup(ctx, req.(*DeleteSecurityGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateSecurityGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateSecurityGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateSecurityGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateSecurityGroup(ctx, req.(*UpdateSecurityGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowSecurityGroupReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowSecurityGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowSecurityGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowSecurityGroup(ctx, req.(*ShowSecurityGroupReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListSecurityGroupRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListSecurityGroupRulesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListSecurityGroupRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListSecurityGroupRules_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListSecurityGroupRules(ctx, req.(*ListSecurityGroupRulesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateSecurityGroupRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSecurityGroupRuleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateSecurityGroupRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateSecurityGroupRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateSecurityGroupRule(ctx, req.(*CreateSecurityGroupRuleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowSecurityGroupRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowSecurityGroupRuleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowSecurityGroupRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowSecurityGroupRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowSecurityGroupRule(ctx, req.(*ShowSecurityGroupRuleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteSecurityGroupRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteSecurityGroupRuleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteSecurityGroupRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteSecurityGroupRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteSecurityGroupRule(ctx, req.(*DeleteSecurityGroupRuleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateImageReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateImage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateImage_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateImage(ctx, req.(*CreateImageReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListImagesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListImages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListImages_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListImages(ctx, req.(*ListImagesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteImageReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteImage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteImage_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteImage(ctx, req.(*DeleteImageReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UploadImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UploadOsImageReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UploadImage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UploadImage_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UploadImage(ctx, req.(*UploadOsImageReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListNodesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListNodes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListNodes(ctx, req.(*ListNodesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateNodeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateNode_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateNode(ctx, req.(*CreateNodeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteNodeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteNode_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteNode(ctx, req.(*DeleteNodeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ShowNodeDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShowNodeDetailsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ShowNodeDetails(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ShowNodeDetails_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ShowNodeDetails(ctx, req.(*ShowNodeDetailsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListVolumes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListVolumesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListVolumes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListVolumes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListVolumes(ctx, req.(*ListVolumesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListVolumesDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListVolumesDetailReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListVolumesDetail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListVolumesDetail_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListVolumesDetail(ctx, req.(*ListVolumesDetailReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateVolumeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateVolume(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateVolume_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateVolume(ctx, req.(*CreateVolumeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteVolumeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteVolume(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteVolume_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteVolume(ctx, req.(*DeleteVolumeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_UpdateVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateVolumeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).UpdateVolume(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_UpdateVolume_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).UpdateVolume(ctx, req.(*UpdateVolumeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_GetVolumeDetailedById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetVolumeDetailedByIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).GetVolumeDetailedById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_GetVolumeDetailedById_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).GetVolumeDetailedById(ctx, req.(*GetVolumeDetailedByIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_ListVolumeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListVolumeTypesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).ListVolumeTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_ListVolumeTypes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).ListVolumeTypes(ctx, req.(*ListVolumeTypesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_CreateVolumeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateVolumeTypeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).CreateVolumeTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_CreateVolumeTypes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).CreateVolumeTypes(ctx, req.(*CreateVolumeTypeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Openstack_DeleteVolumeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteVolumeTypeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OpenstackServer).DeleteVolumeTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Openstack_DeleteVolumeTypes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OpenstackServer).DeleteVolumeTypes(ctx, req.(*DeleteVolumeTypeReq))
	}
	return interceptor(ctx, in, info, handler)
}

// Openstack_ServiceDesc is the grpc.ServiceDesc for Openstack service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Openstack_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "openstack.Openstack",
	HandlerType: (*OpenstackServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetComputeLimits",
			Handler:    _Openstack_GetComputeLimits_Handler,
		},
		{
			MethodName: "GetVolumeLimits",
			Handler:    _Openstack_GetVolumeLimits_Handler,
		},
		{
			MethodName: "ListServers",
			Handler:    _Openstack_ListServers_Handler,
		},
		{
			MethodName: "ListServersDetailed",
			Handler:    _Openstack_ListServersDetailed_Handler,
		},
		{
			MethodName: "CreateServer",
			Handler:    _Openstack_CreateServer_Handler,
		},
		{
			MethodName: "DeleteServer",
			Handler:    _Openstack_DeleteServer_Handler,
		},
		{
			MethodName: "GetServersDetailedById",
			Handler:    _Openstack_GetServersDetailedById_Handler,
		},
		{
			MethodName: "UpdateServer",
			Handler:    _Openstack_UpdateServer_Handler,
		},
		{
			MethodName: "StartServer",
			Handler:    _Openstack_StartServer_Handler,
		},
		{
			MethodName: "StopServer",
			Handler:    _Openstack_StopServer_Handler,
		},
		{
			MethodName: "RebootServer",
			Handler:    _Openstack_RebootServer_Handler,
		},
		{
			MethodName: "PauseServer",
			Handler:    _Openstack_PauseServer_Handler,
		},
		{
			MethodName: "UnpauseServer",
			Handler:    _Openstack_UnpauseServer_Handler,
		},
		{
			MethodName: "RebuildServer",
			Handler:    _Openstack_RebuildServer_Handler,
		},
		{
			MethodName: "ResizeServer",
			Handler:    _Openstack_ResizeServer_Handler,
		},
		{
			MethodName: "MigrateServer",
			Handler:    _Openstack_MigrateServer_Handler,
		},
		{
			MethodName: "ShelveServer",
			Handler:    _Openstack_ShelveServer_Handler,
		},
		{
			MethodName: "UnshelveServer",
			Handler:    _Openstack_UnshelveServer_Handler,
		},
		{
			MethodName: "ChangeAdministrativePassword",
			Handler:    _Openstack_ChangeAdministrativePassword_Handler,
		},
		{
			MethodName: "RescueServer",
			Handler:    _Openstack_RescueServer_Handler,
		},
		{
			MethodName: "UnRescue",
			Handler:    _Openstack_UnRescue_Handler,
		},
		{
			MethodName: "SuspendServer",
			Handler:    _Openstack_SuspendServer_Handler,
		},
		{
			MethodName: "AddSecurityGroupToServer",
			Handler:    _Openstack_AddSecurityGroupToServer_Handler,
		},
		{
			MethodName: "removeSecurityGroup",
			Handler:    _Openstack_RemoveSecurityGroup_Handler,
		},
		{
			MethodName: "ListFlavorsDetail",
			Handler:    _Openstack_ListFlavorsDetail_Handler,
		},
		{
			MethodName: "CreateFlavor",
			Handler:    _Openstack_CreateFlavor_Handler,
		},
		{
			MethodName: "DeleteFlavor",
			Handler:    _Openstack_DeleteFlavor_Handler,
		},
		{
			MethodName: "ShowNetworkDetails",
			Handler:    _Openstack_ShowNetworkDetails_Handler,
		},
		{
			MethodName: "UpdateNetwork",
			Handler:    _Openstack_UpdateNetwork_Handler,
		},
		{
			MethodName: "DeleteNetwork",
			Handler:    _Openstack_DeleteNetwork_Handler,
		},
		{
			MethodName: "ListNetworks",
			Handler:    _Openstack_ListNetworks_Handler,
		},
		{
			MethodName: "CreateNetwork",
			Handler:    _Openstack_CreateNetwork_Handler,
		},
		{
			MethodName: "BulkCreateNetworks",
			Handler:    _Openstack_BulkCreateNetworks_Handler,
		},
		{
			MethodName: "CreateSubnet",
			Handler:    _Openstack_CreateSubnet_Handler,
		},
		{
			MethodName: "ListSubnets",
			Handler:    _Openstack_ListSubnets_Handler,
		},
		{
			MethodName: "DeleteSubnet",
			Handler:    _Openstack_DeleteSubnet_Handler,
		},
		{
			MethodName: "UpdateSubnet",
			Handler:    _Openstack_UpdateSubnet_Handler,
		},
		{
			MethodName: "CreateNetworkSegmentRange",
			Handler:    _Openstack_CreateNetworkSegmentRange_Handler,
		},
		{
			MethodName: "ListNetworkSegmentRanges",
			Handler:    _Openstack_ListNetworkSegmentRanges_Handler,
		},
		{
			MethodName: "DeleteNetworkSegmentRanges",
			Handler:    _Openstack_DeleteNetworkSegmentRanges_Handler,
		},
		{
			MethodName: "UpdateNetworkSegmentRanges",
			Handler:    _Openstack_UpdateNetworkSegmentRanges_Handler,
		},
		{
			MethodName: "ShowNetworkSegmentRangeDetails",
			Handler:    _Openstack_ShowNetworkSegmentRangeDetails_Handler,
		},
		{
			MethodName: "CreatePort",
			Handler:    _Openstack_CreatePort_Handler,
		},
		{
			MethodName: "ListPorts",
			Handler:    _Openstack_ListPorts_Handler,
		},
		{
			MethodName: "DeletePort",
			Handler:    _Openstack_DeletePort_Handler,
		},
		{
			MethodName: "UpdatePort",
			Handler:    _Openstack_UpdatePort_Handler,
		},
		{
			MethodName: "ShowPortDetails",
			Handler:    _Openstack_ShowPortDetails_Handler,
		},
		{
			MethodName: "CreateRouter",
			Handler:    _Openstack_CreateRouter_Handler,
		},
		{
			MethodName: "ListRouters",
			Handler:    _Openstack_ListRouters_Handler,
		},
		{
			MethodName: "ShowRouterDetails",
			Handler:    _Openstack_ShowRouterDetails_Handler,
		},
		{
			MethodName: "UpdateRouter",
			Handler:    _Openstack_UpdateRouter_Handler,
		},
		{
			MethodName: "DeleteRouter",
			Handler:    _Openstack_DeleteRouter_Handler,
		},
		{
			MethodName: "ListFloatingIPs",
			Handler:    _Openstack_ListFloatingIPs_Handler,
		},
		{
			MethodName: "CreateFloatingIP",
			Handler:    _Openstack_CreateFloatingIP_Handler,
		},
		{
			MethodName: "UpdateFloatingIP",
			Handler:    _Openstack_UpdateFloatingIP_Handler,
		},
		{
			MethodName: "DeleteFloatingIP",
			Handler:    _Openstack_DeleteFloatingIP_Handler,
		},
		{
			MethodName: "ShowFloatingIPDetails",
			Handler:    _Openstack_ShowFloatingIPDetails_Handler,
		},
		{
			MethodName: "ListFirewallGroups",
			Handler:    _Openstack_ListFirewallGroups_Handler,
		},
		{
			MethodName: "DeleteFirewallGroup",
			Handler:    _Openstack_DeleteFirewallGroup_Handler,
		},
		{
			MethodName: "CreateFirewallGroup",
			Handler:    _Openstack_CreateFirewallGroup_Handler,
		},
		{
			MethodName: "UpdateFirewallGroup",
			Handler:    _Openstack_UpdateFirewallGroup_Handler,
		},
		{
			MethodName: "ShowFirewallGroupDetails",
			Handler:    _Openstack_ShowFirewallGroupDetails_Handler,
		},
		{
			MethodName: "CreateFirewallPolicy",
			Handler:    _Openstack_CreateFirewallPolicy_Handler,
		},
		{
			MethodName: "DeleteFirewallPolicy",
			Handler:    _Openstack_DeleteFirewallPolicy_Handler,
		},
		{
			MethodName: "ListFirewallPolicies",
			Handler:    _Openstack_ListFirewallPolicies_Handler,
		},
		{
			MethodName: "ShowFirewallPolicyDetails",
			Handler:    _Openstack_ShowFirewallPolicyDetails_Handler,
		},
		{
			MethodName: "CreateFirewallRule",
			Handler:    _Openstack_CreateFirewallRule_Handler,
		},
		{
			MethodName: "DeleteFirewallRule",
			Handler:    _Openstack_DeleteFirewallRule_Handler,
		},
		{
			MethodName: "ListFirewallRules",
			Handler:    _Openstack_ListFirewallRules_Handler,
		},
		{
			MethodName: "ShowFirewallRuleDetails",
			Handler:    _Openstack_ShowFirewallRuleDetails_Handler,
		},
		{
			MethodName: "ListSecurityGroups",
			Handler:    _Openstack_ListSecurityGroups_Handler,
		},
		{
			MethodName: "CreateSecurityGroup",
			Handler:    _Openstack_CreateSecurityGroup_Handler,
		},
		{
			MethodName: "DeleteSecurityGroup",
			Handler:    _Openstack_DeleteSecurityGroup_Handler,
		},
		{
			MethodName: "UpdateSecurityGroup",
			Handler:    _Openstack_UpdateSecurityGroup_Handler,
		},
		{
			MethodName: "ShowSecurityGroup",
			Handler:    _Openstack_ShowSecurityGroup_Handler,
		},
		{
			MethodName: "ListSecurityGroupRules",
			Handler:    _Openstack_ListSecurityGroupRules_Handler,
		},
		{
			MethodName: "CreateSecurityGroupRule",
			Handler:    _Openstack_CreateSecurityGroupRule_Handler,
		},
		{
			MethodName: "ShowSecurityGroupRule",
			Handler:    _Openstack_ShowSecurityGroupRule_Handler,
		},
		{
			MethodName: "DeleteSecurityGroupRule",
			Handler:    _Openstack_DeleteSecurityGroupRule_Handler,
		},
		{
			MethodName: "CreateImage",
			Handler:    _Openstack_CreateImage_Handler,
		},
		{
			MethodName: "ListImages",
			Handler:    _Openstack_ListImages_Handler,
		},
		{
			MethodName: "DeleteImage",
			Handler:    _Openstack_DeleteImage_Handler,
		},
		{
			MethodName: "UploadImage",
			Handler:    _Openstack_UploadImage_Handler,
		},
		{
			MethodName: "ListNodes",
			Handler:    _Openstack_ListNodes_Handler,
		},
		{
			MethodName: "CreateNode",
			Handler:    _Openstack_CreateNode_Handler,
		},
		{
			MethodName: "DeleteNode",
			Handler:    _Openstack_DeleteNode_Handler,
		},
		{
			MethodName: "ShowNodeDetails",
			Handler:    _Openstack_ShowNodeDetails_Handler,
		},
		{
			MethodName: "ListVolumes",
			Handler:    _Openstack_ListVolumes_Handler,
		},
		{
			MethodName: "ListVolumesDetail",
			Handler:    _Openstack_ListVolumesDetail_Handler,
		},
		{
			MethodName: "CreateVolume",
			Handler:    _Openstack_CreateVolume_Handler,
		},
		{
			MethodName: "DeleteVolume",
			Handler:    _Openstack_DeleteVolume_Handler,
		},
		{
			MethodName: "UpdateVolume",
			Handler:    _Openstack_UpdateVolume_Handler,
		},
		{
			MethodName: "GetVolumeDetailedById",
			Handler:    _Openstack_GetVolumeDetailedById_Handler,
		},
		{
			MethodName: "ListVolumeTypes",
			Handler:    _Openstack_ListVolumeTypes_Handler,
		},
		{
			MethodName: "CreateVolumeTypes",
			Handler:    _Openstack_CreateVolumeTypes_Handler,
		},
		{
			MethodName: "DeleteVolumeTypes",
			Handler:    _Openstack_DeleteVolumeTypes_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "pcm-openstack.proto",
}
