Files
ubicloud/kubernetes/csi/lib/csi_services_pb.rb
mohi-kalantari 9a665057c0 Generate Ruby definitions of CSI protobuf
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.
2025-07-25 15:20:55 +02:00

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