First we need to download the csi.proto file You can download this file directly from the repo using this command: wget https://raw.githubusercontent.com/container-storage-interface/spec/\ v1.11.0/csi.proto -O kubernetes/csi/csi.proto This file represents the CSI spec version v1.11.0 Using the ruby grpc gem, we would generate the ruby scaffold code for the GRPC server. In order to generate for yourself, run the following commands: gem install grpc gem install grpc-tools sudo apt install -y protobuf-compiler or brew install protobuf grpc_tools_ruby_protoc -I kubernetes/csi --ruby_out=kubernetes/csi/lib \ --grpc_out=kubernetes/csi/lib kubernetes/csi/csi.proto Since there is no need to keep the csi.proto file, remove it after generating the ruby code: rm kubernetes/csi/csi.proto After generating the files, you can see that Rubocop complains about the files in kubernetes/csi/lib which you might need to manually fix or let your linter take care of it.
110 lines
4.9 KiB
Ruby
110 lines
4.9 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
# Source: csi.proto for package 'csi.v1'
|
|
# Original file comments:
|
|
# Code generated by make; DO NOT EDIT.
|
|
|
|
require "grpc"
|
|
require "csi_pb"
|
|
|
|
module Csi
|
|
module V1
|
|
module Identity
|
|
class Service
|
|
include ::GRPC::GenericService
|
|
|
|
self.marshal_class_method = :encode
|
|
self.unmarshal_class_method = :decode
|
|
self.service_name = "csi.v1.Identity"
|
|
|
|
rpc :GetPluginInfo, ::Csi::V1::GetPluginInfoRequest, ::Csi::V1::GetPluginInfoResponse
|
|
rpc :GetPluginCapabilities, ::Csi::V1::GetPluginCapabilitiesRequest, ::Csi::V1::GetPluginCapabilitiesResponse
|
|
rpc :Probe, ::Csi::V1::ProbeRequest, ::Csi::V1::ProbeResponse
|
|
end
|
|
|
|
Stub = Service.rpc_stub_class
|
|
end
|
|
|
|
module Controller
|
|
class Service
|
|
include ::GRPC::GenericService
|
|
|
|
self.marshal_class_method = :encode
|
|
self.unmarshal_class_method = :decode
|
|
self.service_name = "csi.v1.Controller"
|
|
|
|
rpc :CreateVolume, ::Csi::V1::CreateVolumeRequest, ::Csi::V1::CreateVolumeResponse
|
|
rpc :DeleteVolume, ::Csi::V1::DeleteVolumeRequest, ::Csi::V1::DeleteVolumeResponse
|
|
rpc :ControllerPublishVolume, ::Csi::V1::ControllerPublishVolumeRequest, ::Csi::V1::ControllerPublishVolumeResponse
|
|
rpc :ControllerUnpublishVolume, ::Csi::V1::ControllerUnpublishVolumeRequest, ::Csi::V1::ControllerUnpublishVolumeResponse
|
|
rpc :ValidateVolumeCapabilities, ::Csi::V1::ValidateVolumeCapabilitiesRequest, ::Csi::V1::ValidateVolumeCapabilitiesResponse
|
|
rpc :ListVolumes, ::Csi::V1::ListVolumesRequest, ::Csi::V1::ListVolumesResponse
|
|
rpc :GetCapacity, ::Csi::V1::GetCapacityRequest, ::Csi::V1::GetCapacityResponse
|
|
rpc :ControllerGetCapabilities, ::Csi::V1::ControllerGetCapabilitiesRequest, ::Csi::V1::ControllerGetCapabilitiesResponse
|
|
rpc :CreateSnapshot, ::Csi::V1::CreateSnapshotRequest, ::Csi::V1::CreateSnapshotResponse
|
|
rpc :DeleteSnapshot, ::Csi::V1::DeleteSnapshotRequest, ::Csi::V1::DeleteSnapshotResponse
|
|
rpc :ListSnapshots, ::Csi::V1::ListSnapshotsRequest, ::Csi::V1::ListSnapshotsResponse
|
|
rpc :ControllerExpandVolume, ::Csi::V1::ControllerExpandVolumeRequest, ::Csi::V1::ControllerExpandVolumeResponse
|
|
rpc :ControllerGetVolume, ::Csi::V1::ControllerGetVolumeRequest, ::Csi::V1::ControllerGetVolumeResponse
|
|
rpc :ControllerModifyVolume, ::Csi::V1::ControllerModifyVolumeRequest, ::Csi::V1::ControllerModifyVolumeResponse
|
|
end
|
|
|
|
Stub = Service.rpc_stub_class
|
|
end
|
|
|
|
module GroupController
|
|
class Service
|
|
include ::GRPC::GenericService
|
|
|
|
self.marshal_class_method = :encode
|
|
self.unmarshal_class_method = :decode
|
|
self.service_name = "csi.v1.GroupController"
|
|
|
|
rpc :GroupControllerGetCapabilities, ::Csi::V1::GroupControllerGetCapabilitiesRequest, ::Csi::V1::GroupControllerGetCapabilitiesResponse
|
|
rpc :CreateVolumeGroupSnapshot, ::Csi::V1::CreateVolumeGroupSnapshotRequest, ::Csi::V1::CreateVolumeGroupSnapshotResponse
|
|
rpc :DeleteVolumeGroupSnapshot, ::Csi::V1::DeleteVolumeGroupSnapshotRequest, ::Csi::V1::DeleteVolumeGroupSnapshotResponse
|
|
rpc :GetVolumeGroupSnapshot, ::Csi::V1::GetVolumeGroupSnapshotRequest, ::Csi::V1::GetVolumeGroupSnapshotResponse
|
|
end
|
|
|
|
Stub = Service.rpc_stub_class
|
|
end
|
|
|
|
module SnapshotMetadata
|
|
class Service
|
|
include ::GRPC::GenericService
|
|
|
|
self.marshal_class_method = :encode
|
|
self.unmarshal_class_method = :decode
|
|
self.service_name = "csi.v1.SnapshotMetadata"
|
|
|
|
rpc :GetMetadataAllocated, ::Csi::V1::GetMetadataAllocatedRequest, stream(::Csi::V1::GetMetadataAllocatedResponse)
|
|
rpc :GetMetadataDelta, ::Csi::V1::GetMetadataDeltaRequest, stream(::Csi::V1::GetMetadataDeltaResponse)
|
|
end
|
|
|
|
Stub = Service.rpc_stub_class
|
|
end
|
|
|
|
module Node
|
|
class Service
|
|
include ::GRPC::GenericService
|
|
|
|
self.marshal_class_method = :encode
|
|
self.unmarshal_class_method = :decode
|
|
self.service_name = "csi.v1.Node"
|
|
|
|
rpc :NodeStageVolume, ::Csi::V1::NodeStageVolumeRequest, ::Csi::V1::NodeStageVolumeResponse
|
|
rpc :NodeUnstageVolume, ::Csi::V1::NodeUnstageVolumeRequest, ::Csi::V1::NodeUnstageVolumeResponse
|
|
rpc :NodePublishVolume, ::Csi::V1::NodePublishVolumeRequest, ::Csi::V1::NodePublishVolumeResponse
|
|
rpc :NodeUnpublishVolume, ::Csi::V1::NodeUnpublishVolumeRequest, ::Csi::V1::NodeUnpublishVolumeResponse
|
|
rpc :NodeGetVolumeStats, ::Csi::V1::NodeGetVolumeStatsRequest, ::Csi::V1::NodeGetVolumeStatsResponse
|
|
rpc :NodeExpandVolume, ::Csi::V1::NodeExpandVolumeRequest, ::Csi::V1::NodeExpandVolumeResponse
|
|
rpc :NodeGetCapabilities, ::Csi::V1::NodeGetCapabilitiesRequest, ::Csi::V1::NodeGetCapabilitiesResponse
|
|
rpc :NodeGetInfo, ::Csi::V1::NodeGetInfoRequest, ::Csi::V1::NodeGetInfoResponse
|
|
end
|
|
|
|
Stub = Service.rpc_stub_class
|
|
end
|
|
end
|
|
end
|