From 6c573c41441675e833e4b65f5b5128d91a61dd6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E7=8E=AE=E6=96=87?= Date: Fri, 18 Jul 2025 03:57:22 +0800 Subject: [PATCH] Use go tool to manage protoc plugins Avoid any dependency on global GOBIN --- .github/workflows/build.yaml | 12 +- go.mod | 6 + go.sum | 2 + lib/go/.gitignore | 1 - lib/go/Makefile | 41 +- lib/go/csi/csi.pb.go | 4813 ++++++++++------------------------ lib/go/protoc-gen-go | 2 + lib/go/protoc-gen-go-grpc | 2 + 8 files changed, 1365 insertions(+), 3514 deletions(-) create mode 100755 lib/go/protoc-gen-go create mode 100755 lib/go/protoc-gen-go-grpc diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b45c62f5..ed27319e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,15 +10,11 @@ jobs: name: Build runs-on: ubuntu-latest steps: - - - name: Set up Go 1.x - uses: actions/setup-go@v3 + + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: - go-version: ^1.19 - id: go - - - name: Check out code into the Go module directory - uses: actions/checkout@v3 + go-version-file: go.mod - name: Build Test run: | diff --git a/go.mod b/go.mod index e9ff34b7..4b15f21f 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,11 @@ module github.com/container-storage-interface/spec go 1.24.0 +tool ( + google.golang.org/grpc/cmd/protoc-gen-go-grpc + google.golang.org/protobuf/cmd/protoc-gen-go +) + require ( google.golang.org/grpc v1.79.3 google.golang.org/protobuf v1.36.10 @@ -12,4 +17,5 @@ require ( golang.org/x/sys v0.39.0 // indirect golang.org/x/text v0.32.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 // indirect ) diff --git a/go.sum b/go.sum index 87cd2070..7cf93454 100644 --- a/go.sum +++ b/go.sum @@ -34,5 +34,7 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= diff --git a/lib/go/.gitignore b/lib/go/.gitignore index 44dae3ea..36933a03 100644 --- a/lib/go/.gitignore +++ b/lib/go/.gitignore @@ -1,4 +1,3 @@ /protoc -/protoc-gen-go /csi.a /.protoc diff --git a/lib/go/Makefile b/lib/go/Makefile index 0541c6d1..ba6f3f78 100644 --- a/lib/go/Makefile +++ b/lib/go/Makefile @@ -1,25 +1,5 @@ all: build -######################################################################## -## GOLANG ## -######################################################################## - -# If GOPATH isn't defined then set its default location. -ifeq (,$(strip $(GOPATH))) -GOPATH := $(HOME)/go -else -# If GOPATH is already set then update GOPATH to be its own -# first element. -GOPATH := $(word 1,$(subst :, ,$(GOPATH))) -endif -export GOPATH - -GOBIN := $(shell go env GOBIN) -ifeq (,$(strip $(GOBIN))) -GOBIN := $(GOPATH)/bin -endif - - ######################################################################## ## PROTOC ## ######################################################################## @@ -46,11 +26,6 @@ PROTOC_URL := https://github.com/protocolbuffers/protobuf/releases/download/v$(P PROTOC_TMP_DIR := .protoc PROTOC := $(PROTOC_TMP_DIR)/bin/protoc -$(GOBIN)/protoc-gen-go: ../../go.mod - go install google.golang.org/protobuf/cmd/protoc-gen-go -$(GOBIN)/protoc-gen-go-grpc: - go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 - $(PROTOC): -mkdir -p "$(PROTOC_TMP_DIR)" && \ curl -L $(PROTOC_URL) -o "$(PROTOC_TMP_DIR)/$(PROTOC_ZIP)" && \ @@ -58,16 +33,7 @@ $(PROTOC): chmod 0755 "$@" stat "$@" > /dev/null 2>&1 -PROTOC_ALL := $(GOBIN)/protoc-gen-go $(GOBIN)/protoc-gen-go-grpc $(PROTOC) - -######################################################################## -## PATH ## -######################################################################## - -# Update PATH with GOBIN. This enables the protoc binary to discover -# the protoc-gen-go binary -export PATH := $(GOBIN):$(PATH) - +PROTOC_ALL := protoc-gen-go protoc-gen-go-grpc $(PROTOC) ######################################################################## ## BUILD ## @@ -78,9 +44,10 @@ CSI_GO := $(CSI_PKG_SUB)/csi.pb.go CSI_GRPC := $(CSI_PKG_SUB)/csi_grpc.pb.go # This recipe generates the go language bindings -$(CSI_GO) $(CSI_GRPC): $(CSI_PROTO) $(PROTOC_ALL) +$(CSI_GO) $(CSI_GRPC): $(CSI_PROTO) $(PROTOC_ALL) ../../go.mod @mkdir -p "$(@D)" - $(PROTOC) -I../.. --go-grpc_out=$(CSI_PKG_SUB) --go_out=$(CSI_PKG_SUB) \ + $(PROTOC) --plugin=./protoc-gen-go --plugin=./protoc-gen-go-grpc \ + -I../.. --go-grpc_out=$(CSI_PKG_SUB) --go_out=$(CSI_PKG_SUB) \ --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative \ "$(\n" + + "\x14CreateVolumeResponse\x12&\n" + + "\x06volume\x18\x01 \x01(\v2\x0e.csi.v1.VolumeR\x06volume\"\x9f\x05\n" + + "\x10VolumeCapability\x12<\n" + + "\x05block\x18\x01 \x01(\v2$.csi.v1.VolumeCapability.BlockVolumeH\x00R\x05block\x12<\n" + + "\x05mount\x18\x02 \x01(\v2$.csi.v1.VolumeCapability.MountVolumeH\x00R\x05mount\x12D\n" + + "\vaccess_mode\x18\x03 \x01(\v2#.csi.v1.VolumeCapability.AccessModeR\n" + + "accessMode\x1a\r\n" + + "\vBlockVolume\x1au\n" + + "\vMountVolume\x12\x17\n" + + "\afs_type\x18\x01 \x01(\tR\x06fsType\x12\x1f\n" + + "\vmount_flags\x18\x02 \x03(\tR\n" + + "mountFlags\x12,\n" + + "\x12volume_mount_group\x18\x03 \x01(\tR\x10volumeMountGroup\x1a\xb3\x02\n" + + "\n" + + "AccessMode\x12<\n" + + "\x04mode\x18\x01 \x01(\x0e2(.csi.v1.VolumeCapability.AccessMode.ModeR\x04mode\"\xe6\x01\n" + + "\x04Mode\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x16\n" + + "\x12SINGLE_NODE_WRITER\x10\x01\x12\x1b\n" + + "\x17SINGLE_NODE_READER_ONLY\x10\x02\x12\x1a\n" + + "\x16MULTI_NODE_READER_ONLY\x10\x03\x12\x1c\n" + + "\x18MULTI_NODE_SINGLE_WRITER\x10\x04\x12\x1b\n" + + "\x17MULTI_NODE_MULTI_WRITER\x10\x05\x12\"\n" + + "\x19SINGLE_NODE_SINGLE_WRITER\x10\x06\x1a\x03\xa0B\x01\x12!\n" + + "\x18SINGLE_NODE_MULTI_WRITER\x10\a\x1a\x03\xa0B\x01B\r\n" + + "\vaccess_type\"W\n" + + "\rCapacityRange\x12%\n" + + "\x0erequired_bytes\x18\x01 \x01(\x03R\rrequiredBytes\x12\x1f\n" + + "\vlimit_bytes\x18\x02 \x01(\x03R\n" + + "limitBytes\"\xdf\x02\n" + + "\x06Volume\x12%\n" + + "\x0ecapacity_bytes\x18\x01 \x01(\x03R\rcapacityBytes\x12\x1b\n" + + "\tvolume_id\x18\x02 \x01(\tR\bvolumeId\x12H\n" + + "\x0evolume_context\x18\x03 \x03(\v2!.csi.v1.Volume.VolumeContextEntryR\rvolumeContext\x12B\n" + + "\x0econtent_source\x18\x04 \x01(\v2\x1b.csi.v1.VolumeContentSourceR\rcontentSource\x12A\n" + + "\x13accessible_topology\x18\x05 \x03(\v2\x10.csi.v1.TopologyR\x12accessibleTopology\x1a@\n" + + "\x12VolumeContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"u\n" + + "\x13TopologyRequirement\x12.\n" + + "\trequisite\x18\x01 \x03(\v2\x10.csi.v1.TopologyR\trequisite\x12.\n" + + "\tpreferred\x18\x02 \x03(\v2\x10.csi.v1.TopologyR\tpreferred\"\x83\x01\n" + + "\bTopology\x12:\n" + + "\bsegments\x18\x01 \x03(\v2\x1e.csi.v1.Topology.SegmentsEntryR\bsegments\x1a;\n" + + "\rSegmentsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xb7\x01\n" + + "\x13DeleteVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12G\n" + + "\asecrets\x18\x02 \x03(\v2(.csi.v1.DeleteVolumeRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x16\n" + + "\x14DeleteVolumeResponse\"\xed\x03\n" + + "\x1eControllerPublishVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12\x17\n" + + "\anode_id\x18\x02 \x01(\tR\x06nodeId\x12E\n" + + "\x11volume_capability\x18\x03 \x01(\v2\x18.csi.v1.VolumeCapabilityR\x10volumeCapability\x12\x1a\n" + + "\breadonly\x18\x04 \x01(\bR\breadonly\x12R\n" + + "\asecrets\x18\x05 \x03(\v23.csi.v1.ControllerPublishVolumeRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12`\n" + + "\x0evolume_context\x18\x06 \x03(\v29.csi.v1.ControllerPublishVolumeRequest.VolumeContextEntryR\rvolumeContext\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a@\n" + + "\x12VolumeContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xca\x01\n" + + "\x1fControllerPublishVolumeResponse\x12d\n" + + "\x0fpublish_context\x18\x01 \x03(\v2;.csi.v1.ControllerPublishVolumeResponse.PublishContextEntryR\x0epublishContext\x1aA\n" + + "\x13PublishContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xea\x01\n" + + " ControllerUnpublishVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12\x17\n" + + "\anode_id\x18\x02 \x01(\tR\x06nodeId\x12T\n" + + "\asecrets\x18\x03 \x03(\v25.csi.v1.ControllerUnpublishVolumeRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"#\n" + + "!ControllerUnpublishVolumeResponse\"\x96\x06\n" + + "!ValidateVolumeCapabilitiesRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12c\n" + + "\x0evolume_context\x18\x02 \x03(\v2<.csi.v1.ValidateVolumeCapabilitiesRequest.VolumeContextEntryR\rvolumeContext\x12I\n" + + "\x13volume_capabilities\x18\x03 \x03(\v2\x18.csi.v1.VolumeCapabilityR\x12volumeCapabilities\x12Y\n" + + "\n" + + "parameters\x18\x04 \x03(\v29.csi.v1.ValidateVolumeCapabilitiesRequest.ParametersEntryR\n" + + "parameters\x12U\n" + + "\asecrets\x18\x05 \x03(\v26.csi.v1.ValidateVolumeCapabilitiesRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12o\n" + + "\x12mutable_parameters\x18\x06 \x03(\v2@.csi.v1.ValidateVolumeCapabilitiesRequest.MutableParametersEntryR\x11mutableParameters\x1a@\n" + + "\x12VolumeContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aD\n" + + "\x16MutableParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x84\x06\n" + + "\"ValidateVolumeCapabilitiesResponse\x12R\n" + + "\tconfirmed\x18\x01 \x01(\v24.csi.v1.ValidateVolumeCapabilitiesResponse.ConfirmedR\tconfirmed\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x1a\xef\x04\n" + + "\tConfirmed\x12n\n" + + "\x0evolume_context\x18\x01 \x03(\v2G.csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.VolumeContextEntryR\rvolumeContext\x12I\n" + + "\x13volume_capabilities\x18\x02 \x03(\v2\x18.csi.v1.VolumeCapabilityR\x12volumeCapabilities\x12d\n" + + "\n" + + "parameters\x18\x03 \x03(\v2D.csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.ParametersEntryR\n" + + "parameters\x12z\n" + + "\x12mutable_parameters\x18\x04 \x03(\v2K.csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.MutableParametersEntryR\x11mutableParameters\x1a@\n" + + "\x12VolumeContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aD\n" + + "\x16MutableParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\\\n" + + "\x12ListVolumesRequest\x12\x1f\n" + + "\vmax_entries\x18\x01 \x01(\x05R\n" + + "maxEntries\x12%\n" + + "\x0estarting_token\x18\x02 \x01(\tR\rstartingToken\"\xec\x02\n" + + "\x13ListVolumesResponse\x12;\n" + + "\aentries\x18\x01 \x03(\v2!.csi.v1.ListVolumesResponse.EntryR\aentries\x12\x1d\n" + + "\n" + + "next_token\x18\x02 \x01(\tR\tnextToken\x1a\x85\x01\n" + + "\fVolumeStatus\x12,\n" + + "\x12published_node_ids\x18\x01 \x03(\tR\x10publishedNodeIds\x12G\n" + + "\x10volume_condition\x18\x02 \x01(\v2\x17.csi.v1.VolumeConditionB\x03\xa0B\x01R\x0fvolumeCondition\x1aq\n" + + "\x05Entry\x12&\n" + + "\x06volume\x18\x01 \x01(\v2\x0e.csi.v1.VolumeR\x06volume\x12@\n" + + "\x06status\x18\x02 \x01(\v2(.csi.v1.ListVolumesResponse.VolumeStatusR\x06status\">\n" + + "\x1aControllerGetVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId:\x03\xa0B\x01\"\x97\x02\n" + + "\x1bControllerGetVolumeResponse\x12&\n" + + "\x06volume\x18\x01 \x01(\v2\x0e.csi.v1.VolumeR\x06volume\x12H\n" + + "\x06status\x18\x02 \x01(\v20.csi.v1.ControllerGetVolumeResponse.VolumeStatusR\x06status\x1a\x80\x01\n" + + "\fVolumeStatus\x12,\n" + + "\x12published_node_ids\x18\x01 \x03(\tR\x10publishedNodeIds\x12B\n" + + "\x10volume_condition\x18\x02 \x01(\v2\x17.csi.v1.VolumeConditionR\x0fvolumeCondition:\x03\xa0B\x01\"\xfe\x02\n" + + "\x1dControllerModifyVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12Q\n" + + "\asecrets\x18\x02 \x03(\v22.csi.v1.ControllerModifyVolumeRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12k\n" + + "\x12mutable_parameters\x18\x03 \x03(\v2<.csi.v1.ControllerModifyVolumeRequest.MutableParametersEntryR\x11mutableParameters\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aD\n" + + "\x16MutableParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\" \n" + + "\x1eControllerModifyVolumeResponse\"\xad\x02\n" + + "\x12GetCapacityRequest\x12I\n" + + "\x13volume_capabilities\x18\x01 \x03(\v2\x18.csi.v1.VolumeCapabilityR\x12volumeCapabilities\x12J\n" + + "\n" + + "parameters\x18\x02 \x03(\v2*.csi.v1.GetCapacityRequest.ParametersEntryR\n" + + "parameters\x12A\n" + + "\x13accessible_topology\x18\x03 \x01(\v2\x10.csi.v1.TopologyR\x12accessibleTopology\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xe3\x01\n" + + "\x13GetCapacityResponse\x12-\n" + + "\x12available_capacity\x18\x01 \x01(\x03R\x11availableCapacity\x12K\n" + + "\x13maximum_volume_size\x18\x02 \x01(\v2\x1b.google.protobuf.Int64ValueR\x11maximumVolumeSize\x12P\n" + + "\x13minimum_volume_size\x18\x03 \x01(\v2\x1b.google.protobuf.Int64ValueB\x03\xa0B\x01R\x11minimumVolumeSize\"\"\n" + + " ControllerGetCapabilitiesRequest\"l\n" + + "!ControllerGetCapabilitiesResponse\x12G\n" + + "\fcapabilities\x18\x01 \x03(\v2#.csi.v1.ControllerServiceCapabilityR\fcapabilities\"\xa8\x04\n" + + "\x1bControllerServiceCapability\x12;\n" + + "\x03rpc\x18\x01 \x01(\v2'.csi.v1.ControllerServiceCapability.RPCH\x00R\x03rpc\x1a\xc3\x03\n" + + "\x03RPC\x12@\n" + + "\x04type\x18\x01 \x01(\x0e2,.csi.v1.ControllerServiceCapability.RPC.TypeR\x04type\"\xf9\x02\n" + + "\x04Type\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x18\n" + + "\x14CREATE_DELETE_VOLUME\x10\x01\x12\x1c\n" + + "\x18PUBLISH_UNPUBLISH_VOLUME\x10\x02\x12\x10\n" + + "\fLIST_VOLUMES\x10\x03\x12\x10\n" + + "\fGET_CAPACITY\x10\x04\x12\x1a\n" + + "\x16CREATE_DELETE_SNAPSHOT\x10\x05\x12\x12\n" + + "\x0eLIST_SNAPSHOTS\x10\x06\x12\x10\n" + + "\fCLONE_VOLUME\x10\a\x12\x14\n" + + "\x10PUBLISH_READONLY\x10\b\x12\x11\n" + + "\rEXPAND_VOLUME\x10\t\x12 \n" + + "\x1cLIST_VOLUMES_PUBLISHED_NODES\x10\n" + + "\x12\x19\n" + + "\x10VOLUME_CONDITION\x10\v\x1a\x03\xa0B\x01\x12\x13\n" + + "\n" + + "GET_VOLUME\x10\f\x1a\x03\xa0B\x01\x12!\n" + + "\x18SINGLE_NODE_MULTI_WRITER\x10\r\x1a\x03\xa0B\x01\x12\x11\n" + + "\rMODIFY_VOLUME\x10\x0e\x12\x15\n" + + "\fGET_SNAPSHOT\x10\x0f\x1a\x03\xa0B\x01B\x06\n" + + "\x04type\"\xea\x02\n" + + "\x15CreateSnapshotRequest\x12(\n" + + "\x10source_volume_id\x18\x01 \x01(\tR\x0esourceVolumeId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12I\n" + + "\asecrets\x18\x03 \x03(\v2*.csi.v1.CreateSnapshotRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12M\n" + + "\n" + + "parameters\x18\x04 \x03(\v2-.csi.v1.CreateSnapshotRequest.ParametersEntryR\n" + + "parameters\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"F\n" + + "\x16CreateSnapshotResponse\x12,\n" + + "\bsnapshot\x18\x01 \x01(\v2\x10.csi.v1.SnapshotR\bsnapshot\"\x83\x02\n" + + "\bSnapshot\x12\x1d\n" + + "\n" + + "size_bytes\x18\x01 \x01(\x03R\tsizeBytes\x12\x1f\n" + + "\vsnapshot_id\x18\x02 \x01(\tR\n" + + "snapshotId\x12(\n" + + "\x10source_volume_id\x18\x03 \x01(\tR\x0esourceVolumeId\x12?\n" + + "\rcreation_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\fcreationTime\x12 \n" + + "\fready_to_use\x18\x05 \x01(\bR\n" + + "readyToUse\x12*\n" + + "\x11group_snapshot_id\x18\x06 \x01(\tR\x0fgroupSnapshotId\"\xbf\x01\n" + + "\x15DeleteSnapshotRequest\x12\x1f\n" + + "\vsnapshot_id\x18\x01 \x01(\tR\n" + + "snapshotId\x12I\n" + + "\asecrets\x18\x02 \x03(\v2*.csi.v1.DeleteSnapshotRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x18\n" + + "\x16DeleteSnapshotResponse\"\xaf\x02\n" + + "\x14ListSnapshotsRequest\x12\x1f\n" + + "\vmax_entries\x18\x01 \x01(\x05R\n" + + "maxEntries\x12%\n" + + "\x0estarting_token\x18\x02 \x01(\tR\rstartingToken\x12(\n" + + "\x10source_volume_id\x18\x03 \x01(\tR\x0esourceVolumeId\x12\x1f\n" + + "\vsnapshot_id\x18\x04 \x01(\tR\n" + + "snapshotId\x12H\n" + + "\asecrets\x18\x05 \x03(\v2).csi.v1.ListSnapshotsRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xac\x01\n" + + "\x15ListSnapshotsResponse\x12=\n" + + "\aentries\x18\x01 \x03(\v2#.csi.v1.ListSnapshotsResponse.EntryR\aentries\x12\x1d\n" + + "\n" + + "next_token\x18\x02 \x01(\tR\tnextToken\x1a5\n" + + "\x05Entry\x12,\n" + + "\bsnapshot\x18\x01 \x01(\v2\x10.csi.v1.SnapshotR\bsnapshot\"\xbe\x01\n" + + "\x12GetSnapshotRequest\x12\x1f\n" + + "\vsnapshot_id\x18\x01 \x01(\tR\n" + + "snapshotId\x12F\n" + + "\asecrets\x18\x02 \x03(\v2'.csi.v1.GetSnapshotRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01:\x03\xa0B\x01\"H\n" + + "\x13GetSnapshotResponse\x12,\n" + + "\bsnapshot\x18\x01 \x01(\v2\x10.csi.v1.SnapshotR\bsnapshot:\x03\xa0B\x01\"\xd0\x02\n" + + "\x1dControllerExpandVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12<\n" + + "\x0ecapacity_range\x18\x02 \x01(\v2\x15.csi.v1.CapacityRangeR\rcapacityRange\x12Q\n" + + "\asecrets\x18\x03 \x03(\v22.csi.v1.ControllerExpandVolumeRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12E\n" + + "\x11volume_capability\x18\x04 \x01(\v2\x18.csi.v1.VolumeCapabilityR\x10volumeCapability\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x7f\n" + + "\x1eControllerExpandVolumeResponse\x12%\n" + + "\x0ecapacity_bytes\x18\x01 \x01(\x03R\rcapacityBytes\x126\n" + + "\x17node_expansion_required\x18\x02 \x01(\bR\x15nodeExpansionRequired\"\xf0\x04\n" + + "\x16NodeStageVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12[\n" + + "\x0fpublish_context\x18\x02 \x03(\v22.csi.v1.NodeStageVolumeRequest.PublishContextEntryR\x0epublishContext\x12.\n" + + "\x13staging_target_path\x18\x03 \x01(\tR\x11stagingTargetPath\x12E\n" + + "\x11volume_capability\x18\x04 \x01(\v2\x18.csi.v1.VolumeCapabilityR\x10volumeCapability\x12J\n" + + "\asecrets\x18\x05 \x03(\v2+.csi.v1.NodeStageVolumeRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12X\n" + + "\x0evolume_context\x18\x06 \x03(\v21.csi.v1.NodeStageVolumeRequest.VolumeContextEntryR\rvolumeContext\x1aA\n" + + "\x13PublishContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a@\n" + + "\x12VolumeContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x19\n" + + "\x17NodeStageVolumeResponse\"g\n" + + "\x18NodeUnstageVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12.\n" + + "\x13staging_target_path\x18\x02 \x01(\tR\x11stagingTargetPath\"\x1b\n" + + "\x19NodeUnstageVolumeResponse\"\xb5\x05\n" + + "\x18NodePublishVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12]\n" + + "\x0fpublish_context\x18\x02 \x03(\v24.csi.v1.NodePublishVolumeRequest.PublishContextEntryR\x0epublishContext\x12.\n" + + "\x13staging_target_path\x18\x03 \x01(\tR\x11stagingTargetPath\x12\x1f\n" + + "\vtarget_path\x18\x04 \x01(\tR\n" + + "targetPath\x12E\n" + + "\x11volume_capability\x18\x05 \x01(\v2\x18.csi.v1.VolumeCapabilityR\x10volumeCapability\x12\x1a\n" + + "\breadonly\x18\x06 \x01(\bR\breadonly\x12L\n" + + "\asecrets\x18\a \x03(\v2-.csi.v1.NodePublishVolumeRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12Z\n" + + "\x0evolume_context\x18\b \x03(\v23.csi.v1.NodePublishVolumeRequest.VolumeContextEntryR\rvolumeContext\x1aA\n" + + "\x13PublishContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a@\n" + + "\x12VolumeContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x1b\n" + + "\x19NodePublishVolumeResponse\"Z\n" + + "\x1aNodeUnpublishVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12\x1f\n" + + "\vtarget_path\x18\x02 \x01(\tR\n" + + "targetPath\"\x1d\n" + + "\x1bNodeUnpublishVolumeResponse\"\x89\x01\n" + + "\x19NodeGetVolumeStatsRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12\x1f\n" + + "\vvolume_path\x18\x02 \x01(\tR\n" + + "volumePath\x12.\n" + + "\x13staging_target_path\x18\x03 \x01(\tR\x11stagingTargetPath\"\x90\x01\n" + + "\x1aNodeGetVolumeStatsResponse\x12)\n" + + "\x05usage\x18\x01 \x03(\v2\x13.csi.v1.VolumeUsageR\x05usage\x12G\n" + + "\x10volume_condition\x18\x02 \x01(\v2\x17.csi.v1.VolumeConditionB\x03\xa0B\x01R\x0fvolumeCondition\"\xaf\x01\n" + + "\vVolumeUsage\x12\x1c\n" + + "\tavailable\x18\x01 \x01(\x03R\tavailable\x12\x14\n" + + "\x05total\x18\x02 \x01(\x03R\x05total\x12\x12\n" + + "\x04used\x18\x03 \x01(\x03R\x04used\x12,\n" + + "\x04unit\x18\x04 \x01(\x0e2\x18.csi.v1.VolumeUsage.UnitR\x04unit\"*\n" + + "\x04Unit\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\t\n" + + "\x05BYTES\x10\x01\x12\n" + + "\n" + + "\x06INODES\x10\x02\"L\n" + + "\x0fVolumeCondition\x12\x1a\n" + + "\babnormal\x18\x01 \x01(\bR\babnormal\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage:\x03\xa0B\x01\"\x1c\n" + + "\x1aNodeGetCapabilitiesRequest\"`\n" + + "\x1bNodeGetCapabilitiesResponse\x12A\n" + + "\fcapabilities\x18\x01 \x03(\v2\x1d.csi.v1.NodeServiceCapabilityR\fcapabilities\"\xc9\x02\n" + + "\x15NodeServiceCapability\x125\n" + + "\x03rpc\x18\x01 \x01(\v2!.csi.v1.NodeServiceCapability.RPCH\x00R\x03rpc\x1a\xf0\x01\n" + + "\x03RPC\x12:\n" + + "\x04type\x18\x01 \x01(\x0e2&.csi.v1.NodeServiceCapability.RPC.TypeR\x04type\"\xac\x01\n" + + "\x04Type\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x18\n" + + "\x14STAGE_UNSTAGE_VOLUME\x10\x01\x12\x14\n" + + "\x10GET_VOLUME_STATS\x10\x02\x12\x11\n" + + "\rEXPAND_VOLUME\x10\x03\x12\x19\n" + + "\x10VOLUME_CONDITION\x10\x04\x1a\x03\xa0B\x01\x12!\n" + + "\x18SINGLE_NODE_MULTI_WRITER\x10\x05\x1a\x03\xa0B\x01\x12\x16\n" + + "\x12VOLUME_MOUNT_GROUP\x10\x06B\x06\n" + + "\x04type\"\x14\n" + + "\x12NodeGetInfoRequest\"\xa2\x01\n" + + "\x13NodeGetInfoResponse\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12/\n" + + "\x14max_volumes_per_node\x18\x02 \x01(\x03R\x11maxVolumesPerNode\x12A\n" + + "\x13accessible_topology\x18\x03 \x01(\v2\x10.csi.v1.TopologyR\x12accessibleTopology\"\x98\x03\n" + + "\x17NodeExpandVolumeRequest\x12\x1b\n" + + "\tvolume_id\x18\x01 \x01(\tR\bvolumeId\x12\x1f\n" + + "\vvolume_path\x18\x02 \x01(\tR\n" + + "volumePath\x12<\n" + + "\x0ecapacity_range\x18\x03 \x01(\v2\x15.csi.v1.CapacityRangeR\rcapacityRange\x12.\n" + + "\x13staging_target_path\x18\x04 \x01(\tR\x11stagingTargetPath\x12E\n" + + "\x11volume_capability\x18\x05 \x01(\v2\x18.csi.v1.VolumeCapabilityR\x10volumeCapability\x12N\n" + + "\asecrets\x18\x06 \x03(\v2,.csi.v1.NodeExpandVolumeRequest.SecretsEntryB\x06\x98B\x01\xa0B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"A\n" + + "\x18NodeExpandVolumeResponse\x12%\n" + + "\x0ecapacity_bytes\x18\x01 \x01(\x03R\rcapacityBytes\"'\n" + + "%GroupControllerGetCapabilitiesRequest\"v\n" + + "&GroupControllerGetCapabilitiesResponse\x12L\n" + + "\fcapabilities\x18\x01 \x03(\v2(.csi.v1.GroupControllerServiceCapabilityR\fcapabilities\"\xfd\x01\n" + + " GroupControllerServiceCapability\x12@\n" + + "\x03rpc\x18\x01 \x01(\v2,.csi.v1.GroupControllerServiceCapability.RPCH\x00R\x03rpc\x1a\x8e\x01\n" + + "\x03RPC\x12E\n" + + "\x04type\x18\x01 \x01(\x0e21.csi.v1.GroupControllerServiceCapability.RPC.TypeR\x04type\"@\n" + + "\x04Type\x12\v\n" + + "\aUNKNOWN\x10\x00\x12+\n" + + "'CREATE_DELETE_GET_VOLUME_GROUP_SNAPSHOT\x10\x01B\x06\n" + + "\x04type\"\x8d\x03\n" + + " CreateVolumeGroupSnapshotRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12*\n" + + "\x11source_volume_ids\x18\x02 \x03(\tR\x0fsourceVolumeIds\x12T\n" + + "\asecrets\x18\x03 \x03(\v25.csi.v1.CreateVolumeGroupSnapshotRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x12X\n" + + "\n" + + "parameters\x18\x04 \x03(\v28.csi.v1.CreateVolumeGroupSnapshotRequest.ParametersEntryR\n" + + "parameters\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"g\n" + + "!CreateVolumeGroupSnapshotResponse\x12B\n" + + "\x0egroup_snapshot\x18\x01 \x01(\v2\x1b.csi.v1.VolumeGroupSnapshotR\rgroupSnapshot\"\xd4\x01\n" + + "\x13VolumeGroupSnapshot\x12*\n" + + "\x11group_snapshot_id\x18\x01 \x01(\tR\x0fgroupSnapshotId\x12.\n" + + "\tsnapshots\x18\x02 \x03(\v2\x10.csi.v1.SnapshotR\tsnapshots\x12?\n" + + "\rcreation_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\fcreationTime\x12 \n" + + "\fready_to_use\x18\x04 \x01(\bR\n" + + "readyToUse\"\x83\x02\n" + + " DeleteVolumeGroupSnapshotRequest\x12*\n" + + "\x11group_snapshot_id\x18\x01 \x01(\tR\x0fgroupSnapshotId\x12!\n" + + "\fsnapshot_ids\x18\x02 \x03(\tR\vsnapshotIds\x12T\n" + + "\asecrets\x18\x03 \x03(\v25.csi.v1.DeleteVolumeGroupSnapshotRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"#\n" + + "!DeleteVolumeGroupSnapshotResponse\"\xfd\x01\n" + + "\x1dGetVolumeGroupSnapshotRequest\x12*\n" + + "\x11group_snapshot_id\x18\x01 \x01(\tR\x0fgroupSnapshotId\x12!\n" + + "\fsnapshot_ids\x18\x02 \x03(\tR\vsnapshotIds\x12Q\n" + + "\asecrets\x18\x03 \x03(\v22.csi.v1.GetVolumeGroupSnapshotRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"d\n" + + "\x1eGetVolumeGroupSnapshotResponse\x12B\n" + + "\x0egroup_snapshot\x18\x01 \x01(\v2\x1b.csi.v1.VolumeGroupSnapshotR\rgroupSnapshot\"O\n" + + "\rBlockMetadata\x12\x1f\n" + + "\vbyte_offset\x18\x01 \x01(\x03R\n" + + "byteOffset\x12\x1d\n" + + "\n" + + "size_bytes\x18\x02 \x01(\x03R\tsizeBytes\"\x95\x02\n" + + "\x1bGetMetadataAllocatedRequest\x12\x1f\n" + + "\vsnapshot_id\x18\x01 \x01(\tR\n" + + "snapshotId\x12'\n" + + "\x0fstarting_offset\x18\x02 \x01(\x03R\x0estartingOffset\x12\x1f\n" + + "\vmax_results\x18\x03 \x01(\x05R\n" + + "maxResults\x12O\n" + + "\asecrets\x18\x04 \x03(\v20.csi.v1.GetMetadataAllocatedRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xdb\x01\n" + + "\x1cGetMetadataAllocatedResponse\x12I\n" + + "\x13block_metadata_type\x18\x01 \x01(\x0e2\x19.csi.v1.BlockMetadataTypeR\x11blockMetadataType\x122\n" + + "\x15volume_capacity_bytes\x18\x02 \x01(\x03R\x13volumeCapacityBytes\x12<\n" + + "\x0eblock_metadata\x18\x03 \x03(\v2\x15.csi.v1.BlockMetadataR\rblockMetadata\"\xc4\x02\n" + + "\x17GetMetadataDeltaRequest\x12(\n" + + "\x10base_snapshot_id\x18\x01 \x01(\tR\x0ebaseSnapshotId\x12,\n" + + "\x12target_snapshot_id\x18\x02 \x01(\tR\x10targetSnapshotId\x12'\n" + + "\x0fstarting_offset\x18\x03 \x01(\x03R\x0estartingOffset\x12\x1f\n" + + "\vmax_results\x18\x04 \x01(\x05R\n" + + "maxResults\x12K\n" + + "\asecrets\x18\x05 \x03(\v2,.csi.v1.GetMetadataDeltaRequest.SecretsEntryB\x03\x98B\x01R\asecrets\x1a:\n" + + "\fSecretsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xd7\x01\n" + + "\x18GetMetadataDeltaResponse\x12I\n" + + "\x13block_metadata_type\x18\x01 \x01(\x0e2\x19.csi.v1.BlockMetadataTypeR\x11blockMetadataType\x122\n" + + "\x15volume_capacity_bytes\x18\x02 \x01(\x03R\x13volumeCapacityBytes\x12<\n" + + "\x0eblock_metadata\x18\x03 \x03(\v2\x15.csi.v1.BlockMetadataR\rblockMetadata*G\n" + + "\x11BlockMetadataType\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x10\n" + + "\fFIXED_LENGTH\x10\x01\x12\x13\n" + + "\x0fVARIABLE_LENGTH\x10\x022\xfa\x01\n" + + "\bIdentity\x12N\n" + + "\rGetPluginInfo\x12\x1c.csi.v1.GetPluginInfoRequest\x1a\x1d.csi.v1.GetPluginInfoResponse\"\x00\x12f\n" + + "\x15GetPluginCapabilities\x12$.csi.v1.GetPluginCapabilitiesRequest\x1a%.csi.v1.GetPluginCapabilitiesResponse\"\x00\x126\n" + + "\x05Probe\x12\x14.csi.v1.ProbeRequest\x1a\x15.csi.v1.ProbeResponse\"\x002\x85\v\n" + + "\n" + + "Controller\x12K\n" + + "\fCreateVolume\x12\x1b.csi.v1.CreateVolumeRequest\x1a\x1c.csi.v1.CreateVolumeResponse\"\x00\x12K\n" + + "\fDeleteVolume\x12\x1b.csi.v1.DeleteVolumeRequest\x1a\x1c.csi.v1.DeleteVolumeResponse\"\x00\x12l\n" + + "\x17ControllerPublishVolume\x12&.csi.v1.ControllerPublishVolumeRequest\x1a'.csi.v1.ControllerPublishVolumeResponse\"\x00\x12r\n" + + "\x19ControllerUnpublishVolume\x12(.csi.v1.ControllerUnpublishVolumeRequest\x1a).csi.v1.ControllerUnpublishVolumeResponse\"\x00\x12u\n" + + "\x1aValidateVolumeCapabilities\x12).csi.v1.ValidateVolumeCapabilitiesRequest\x1a*.csi.v1.ValidateVolumeCapabilitiesResponse\"\x00\x12H\n" + + "\vListVolumes\x12\x1a.csi.v1.ListVolumesRequest\x1a\x1b.csi.v1.ListVolumesResponse\"\x00\x12H\n" + + "\vGetCapacity\x12\x1a.csi.v1.GetCapacityRequest\x1a\x1b.csi.v1.GetCapacityResponse\"\x00\x12r\n" + + "\x19ControllerGetCapabilities\x12(.csi.v1.ControllerGetCapabilitiesRequest\x1a).csi.v1.ControllerGetCapabilitiesResponse\"\x00\x12Q\n" + + "\x0eCreateSnapshot\x12\x1d.csi.v1.CreateSnapshotRequest\x1a\x1e.csi.v1.CreateSnapshotResponse\"\x00\x12Q\n" + + "\x0eDeleteSnapshot\x12\x1d.csi.v1.DeleteSnapshotRequest\x1a\x1e.csi.v1.DeleteSnapshotResponse\"\x00\x12N\n" + + "\rListSnapshots\x12\x1c.csi.v1.ListSnapshotsRequest\x1a\x1d.csi.v1.ListSnapshotsResponse\"\x00\x12K\n" + + "\vGetSnapshot\x12\x1a.csi.v1.GetSnapshotRequest\x1a\x1b.csi.v1.GetSnapshotResponse\"\x03\xa0B\x01\x12i\n" + + "\x16ControllerExpandVolume\x12%.csi.v1.ControllerExpandVolumeRequest\x1a&.csi.v1.ControllerExpandVolumeResponse\"\x00\x12c\n" + + "\x13ControllerGetVolume\x12\".csi.v1.ControllerGetVolumeRequest\x1a#.csi.v1.ControllerGetVolumeResponse\"\x03\xa0B\x01\x12i\n" + + "\x16ControllerModifyVolume\x12%.csi.v1.ControllerModifyVolumeRequest\x1a&.csi.v1.ControllerModifyVolumeResponse\"\x002\xe8\x03\n" + + "\x0fGroupController\x12\x81\x01\n" + + "\x1eGroupControllerGetCapabilities\x12-.csi.v1.GroupControllerGetCapabilitiesRequest\x1a..csi.v1.GroupControllerGetCapabilitiesResponse\"\x00\x12r\n" + + "\x19CreateVolumeGroupSnapshot\x12(.csi.v1.CreateVolumeGroupSnapshotRequest\x1a).csi.v1.CreateVolumeGroupSnapshotResponse\"\x00\x12r\n" + + "\x19DeleteVolumeGroupSnapshot\x12(.csi.v1.DeleteVolumeGroupSnapshotRequest\x1a).csi.v1.DeleteVolumeGroupSnapshotResponse\"\x00\x12i\n" + + "\x16GetVolumeGroupSnapshot\x12%.csi.v1.GetVolumeGroupSnapshotRequest\x1a&.csi.v1.GetVolumeGroupSnapshotResponse\"\x002\xd9\x01\n" + + "\x10SnapshotMetadata\x12e\n" + + "\x14GetMetadataAllocated\x12#.csi.v1.GetMetadataAllocatedRequest\x1a$.csi.v1.GetMetadataAllocatedResponse\"\x000\x01\x12Y\n" + + "\x10GetMetadataDelta\x12\x1f.csi.v1.GetMetadataDeltaRequest\x1a .csi.v1.GetMetadataDeltaResponse\"\x000\x01\x1a\x03\xa0B\x012\xda\x05\n" + + "\x04Node\x12T\n" + + "\x0fNodeStageVolume\x12\x1e.csi.v1.NodeStageVolumeRequest\x1a\x1f.csi.v1.NodeStageVolumeResponse\"\x00\x12Z\n" + + "\x11NodeUnstageVolume\x12 .csi.v1.NodeUnstageVolumeRequest\x1a!.csi.v1.NodeUnstageVolumeResponse\"\x00\x12Z\n" + + "\x11NodePublishVolume\x12 .csi.v1.NodePublishVolumeRequest\x1a!.csi.v1.NodePublishVolumeResponse\"\x00\x12`\n" + + "\x13NodeUnpublishVolume\x12\".csi.v1.NodeUnpublishVolumeRequest\x1a#.csi.v1.NodeUnpublishVolumeResponse\"\x00\x12]\n" + + "\x12NodeGetVolumeStats\x12!.csi.v1.NodeGetVolumeStatsRequest\x1a\".csi.v1.NodeGetVolumeStatsResponse\"\x00\x12W\n" + + "\x10NodeExpandVolume\x12\x1f.csi.v1.NodeExpandVolumeRequest\x1a .csi.v1.NodeExpandVolumeResponse\"\x00\x12`\n" + + "\x13NodeGetCapabilities\x12\".csi.v1.NodeGetCapabilitiesRequest\x1a#.csi.v1.NodeGetCapabilitiesResponse\"\x00\x12H\n" + + "\vNodeGetInfo\x12\x1a.csi.v1.NodeGetInfoRequest\x1a\x1b.csi.v1.NodeGetInfoResponse\"\x00:<\n" + + "\n" + + "alpha_enum\x12\x1c.google.protobuf.EnumOptions\x18\xa4\b \x01(\bR\talphaEnum:L\n" + + "\x10alpha_enum_value\x12!.google.protobuf.EnumValueOptions\x18\xa4\b \x01(\bR\x0ealphaEnumValue:=\n" + + "\n" + + "csi_secret\x12\x1d.google.protobuf.FieldOptions\x18\xa3\b \x01(\bR\tcsiSecret:?\n" + + "\valpha_field\x12\x1d.google.protobuf.FieldOptions\x18\xa4\b \x01(\bR\n" + + "alphaField:E\n" + + "\ralpha_message\x12\x1f.google.protobuf.MessageOptions\x18\xa4\b \x01(\bR\falphaMessage:B\n" + + "\falpha_method\x12\x1e.google.protobuf.MethodOptions\x18\xa4\b \x01(\bR\valphaMethod:E\n" + + "\ralpha_service\x12\x1f.google.protobuf.ServiceOptions\x18\xa4\b \x01(\bR\falphaServiceB8Z6github.com/container-storage-interface/spec/lib/go/csib\x06proto3" var ( file_csi_proto_rawDescOnce sync.Once - file_csi_proto_rawDescData = file_csi_proto_rawDesc + file_csi_proto_rawDescData []byte ) func file_csi_proto_rawDescGZIP() []byte { file_csi_proto_rawDescOnce.Do(func() { - file_csi_proto_rawDescData = protoimpl.X.CompressGZIP(file_csi_proto_rawDescData) + file_csi_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_csi_proto_rawDesc), len(file_csi_proto_rawDesc))) }) return file_csi_proto_rawDescData } var file_csi_proto_enumTypes = make([]protoimpl.EnumInfo, 8) var file_csi_proto_msgTypes = make([]protoimpl.MessageInfo, 134) -var file_csi_proto_goTypes = []interface{}{ +var file_csi_proto_goTypes = []any{ (BlockMetadataType)(0), // 0: csi.v1.BlockMetadataType (PluginCapability_Service_Type)(0), // 1: csi.v1.PluginCapability.Service.Type (PluginCapability_VolumeExpansion_Type)(0), // 2: csi.v1.PluginCapability.VolumeExpansion.Type @@ -8907,1162 +7915,32 @@ func file_csi_proto_init() { if File_csi_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_csi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPluginInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPluginInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPluginCapabilitiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPluginCapabilitiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PluginCapability); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProbeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProbeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeContentSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeCapability); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CapacityRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Volume); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TopologyRequirement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Topology); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerPublishVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerPublishVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerUnpublishVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerUnpublishVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateVolumeCapabilitiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateVolumeCapabilitiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerGetVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerGetVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerModifyVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerModifyVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCapacityRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCapacityResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerGetCapabilitiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerGetCapabilitiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerServiceCapability); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSnapshotRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSnapshotResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Snapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSnapshotRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSnapshotResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSnapshotsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSnapshotsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSnapshotRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSnapshotResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerExpandVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerExpandVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeStageVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeStageVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeUnstageVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeUnstageVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodePublishVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodePublishVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeUnpublishVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeUnpublishVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeGetVolumeStatsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeGetVolumeStatsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeUsage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeCondition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeGetCapabilitiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeGetCapabilitiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeServiceCapability); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeGetInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeGetInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeExpandVolumeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeExpandVolumeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupControllerGetCapabilitiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupControllerGetCapabilitiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupControllerServiceCapability); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeGroupSnapshotRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeGroupSnapshotResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeGroupSnapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeGroupSnapshotRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeGroupSnapshotResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeGroupSnapshotRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeGroupSnapshotResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetadataAllocatedRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetadataAllocatedResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetadataDeltaRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetadataDeltaResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PluginCapability_Service); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PluginCapability_VolumeExpansion); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeContentSource_SnapshotSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeContentSource_VolumeSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeCapability_BlockVolume); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeCapability_MountVolume); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeCapability_AccessMode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateVolumeCapabilitiesResponse_Confirmed); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesResponse_VolumeStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesResponse_Entry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerGetVolumeResponse_VolumeStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ControllerServiceCapability_RPC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSnapshotsResponse_Entry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeServiceCapability_RPC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_csi_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupControllerServiceCapability_RPC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_csi_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_csi_proto_msgTypes[4].OneofWrappers = []any{ (*PluginCapability_Service_)(nil), (*PluginCapability_VolumeExpansion_)(nil), } - file_csi_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_csi_proto_msgTypes[8].OneofWrappers = []any{ (*VolumeContentSource_Snapshot)(nil), (*VolumeContentSource_Volume)(nil), } - file_csi_proto_msgTypes[10].OneofWrappers = []interface{}{ + file_csi_proto_msgTypes[10].OneofWrappers = []any{ (*VolumeCapability_Block)(nil), (*VolumeCapability_Mount)(nil), } - file_csi_proto_msgTypes[33].OneofWrappers = []interface{}{ + file_csi_proto_msgTypes[33].OneofWrappers = []any{ (*ControllerServiceCapability_Rpc)(nil), } - file_csi_proto_msgTypes[59].OneofWrappers = []interface{}{ + file_csi_proto_msgTypes[59].OneofWrappers = []any{ (*NodeServiceCapability_Rpc)(nil), } - file_csi_proto_msgTypes[66].OneofWrappers = []interface{}{ + file_csi_proto_msgTypes[66].OneofWrappers = []any{ (*GroupControllerServiceCapability_Rpc)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_csi_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_csi_proto_rawDesc), len(file_csi_proto_rawDesc)), NumEnums: 8, NumMessages: 134, NumExtensions: 7, @@ -10075,7 +7953,6 @@ func file_csi_proto_init() { ExtensionInfos: file_csi_proto_extTypes, }.Build() File_csi_proto = out.File - file_csi_proto_rawDesc = nil file_csi_proto_goTypes = nil file_csi_proto_depIdxs = nil } diff --git a/lib/go/protoc-gen-go b/lib/go/protoc-gen-go new file mode 100755 index 00000000..90ca6f62 --- /dev/null +++ b/lib/go/protoc-gen-go @@ -0,0 +1,2 @@ +#!/bin/sh +go tool protoc-gen-go "$@" diff --git a/lib/go/protoc-gen-go-grpc b/lib/go/protoc-gen-go-grpc new file mode 100755 index 00000000..c5500aae --- /dev/null +++ b/lib/go/protoc-gen-go-grpc @@ -0,0 +1,2 @@ +#!/bin/sh +go tool protoc-gen-go-grpc "$@"