From 98139d428eea083140e5d0fa5471841a938dc66c Mon Sep 17 00:00:00 2001 From: Mehran Kholdi Date: Thu, 23 Apr 2020 04:20:05 +0430 Subject: [PATCH] Autogen csi grpc interface Proto taken from: https://github.com/container-storage-interface/spec/blob/master/csi.proto Compiled using: `python -m grpc_tools.protoc -I./protos --python_out=./csi/ --grpc_python_out=./csi/ protos/csi.proto` --- csi/__init__.py | 3 + csi/csi_pb2.py | 5391 +++++++++++++++++++++++++++++++++++++++++++ csi/csi_pb2_grpc.py | 856 +++++++ protos/csi.proto | 1502 ++++++++++++ requirements.in | 1 + requirements.txt | 13 + 6 files changed, 7766 insertions(+) create mode 100644 csi/__init__.py create mode 100644 csi/csi_pb2.py create mode 100644 csi/csi_pb2_grpc.py create mode 100644 protos/csi.proto create mode 100644 requirements.in create mode 100644 requirements.txt diff --git a/csi/__init__.py b/csi/__init__.py new file mode 100644 index 0000000..b700b84 --- /dev/null +++ b/csi/__init__.py @@ -0,0 +1,3 @@ +import sys + +sys.path.append("./csi") diff --git a/csi/csi_pb2.py b/csi/csi_pb2.py new file mode 100644 index 0000000..f8d2c11 --- /dev/null +++ b/csi/csi_pb2.py @@ -0,0 +1,5391 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: csi.proto + +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='csi.proto', + package='csi.v1', + syntax='proto3', + serialized_options=b'Z\003csi', + serialized_pb=b'\n\tcsi.proto\x12\x06\x63si.v1\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x16\n\x14GetPluginInfoRequest\"\xad\x01\n\x15GetPluginInfoResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0evendor_version\x18\x02 \x01(\t\x12=\n\x08manifest\x18\x03 \x03(\x0b\x32+.csi.v1.GetPluginInfoResponse.ManifestEntry\x1a/\n\rManifestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1e\n\x1cGetPluginCapabilitiesRequest\"O\n\x1dGetPluginCapabilitiesResponse\x12.\n\x0c\x63\x61pabilities\x18\x01 \x03(\x0b\x32\x18.csi.v1.PluginCapability\"\xa7\x03\n\x10PluginCapability\x12\x33\n\x07service\x18\x01 \x01(\x0b\x32 .csi.v1.PluginCapability.ServiceH\x00\x12\x44\n\x10volume_expansion\x18\x02 \x01(\x0b\x32(.csi.v1.PluginCapability.VolumeExpansionH\x00\x1a\x91\x01\n\x07Service\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.csi.v1.PluginCapability.Service.Type\"Q\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x16\n\x12\x43ONTROLLER_SERVICE\x10\x01\x12$\n VOLUME_ACCESSIBILITY_CONSTRAINTS\x10\x02\x1a|\n\x0fVolumeExpansion\x12;\n\x04type\x18\x01 \x01(\x0e\x32-.csi.v1.PluginCapability.VolumeExpansion.Type\",\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06ONLINE\x10\x01\x12\x0b\n\x07OFFLINE\x10\x02\x42\x06\n\x04type\"\x0e\n\x0cProbeRequest\":\n\rProbeResponse\x12)\n\x05ready\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\xea\x03\n\x13\x43reateVolumeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x0e\x63\x61pacity_range\x18\x02 \x01(\x0b\x32\x15.csi.v1.CapacityRange\x12\x35\n\x13volume_capabilities\x18\x03 \x03(\x0b\x32\x18.csi.v1.VolumeCapability\x12?\n\nparameters\x18\x04 \x03(\x0b\x32+.csi.v1.CreateVolumeRequest.ParametersEntry\x12>\n\x07secrets\x18\x05 \x03(\x0b\x32(.csi.v1.CreateVolumeRequest.SecretsEntryB\x03\x98\x42\x01\x12:\n\x15volume_content_source\x18\x06 \x01(\x0b\x32\x1b.csi.v1.VolumeContentSource\x12?\n\x1a\x61\x63\x63\x65ssibility_requirements\x18\x07 \x01(\x0b\x32\x1b.csi.v1.TopologyRequirement\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x01\n\x13VolumeContentSource\x12>\n\x08snapshot\x18\x01 \x01(\x0b\x32*.csi.v1.VolumeContentSource.SnapshotSourceH\x00\x12:\n\x06volume\x18\x02 \x01(\x0b\x32(.csi.v1.VolumeContentSource.VolumeSourceH\x00\x1a%\n\x0eSnapshotSource\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\x1a!\n\x0cVolumeSource\x12\x11\n\tvolume_id\x18\x01 \x01(\tB\x06\n\x04type\"6\n\x14\x43reateVolumeResponse\x12\x1e\n\x06volume\x18\x01 \x01(\x0b\x32\x0e.csi.v1.Volume\"\xf6\x03\n\x10VolumeCapability\x12\x35\n\x05\x62lock\x18\x01 \x01(\x0b\x32$.csi.v1.VolumeCapability.BlockVolumeH\x00\x12\x35\n\x05mount\x18\x02 \x01(\x0b\x32$.csi.v1.VolumeCapability.MountVolumeH\x00\x12\x38\n\x0b\x61\x63\x63\x65ss_mode\x18\x03 \x01(\x0b\x32#.csi.v1.VolumeCapability.AccessMode\x1a\r\n\x0b\x42lockVolume\x1a\x33\n\x0bMountVolume\x12\x0f\n\x07\x66s_type\x18\x01 \x01(\t\x12\x13\n\x0bmount_flags\x18\x02 \x03(\t\x1a\xe6\x01\n\nAccessMode\x12\x36\n\x04mode\x18\x01 \x01(\x0e\x32(.csi.v1.VolumeCapability.AccessMode.Mode\"\x9f\x01\n\x04Mode\x12\x0b\n\x07UNKNOWN\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\x42\r\n\x0b\x61\x63\x63\x65ss_type\"<\n\rCapacityRange\x12\x16\n\x0erequired_bytes\x18\x01 \x01(\x03\x12\x13\n\x0blimit_bytes\x18\x02 \x01(\x03\"\x88\x02\n\x06Volume\x12\x16\n\x0e\x63\x61pacity_bytes\x18\x01 \x01(\x03\x12\x11\n\tvolume_id\x18\x02 \x01(\t\x12\x39\n\x0evolume_context\x18\x03 \x03(\x0b\x32!.csi.v1.Volume.VolumeContextEntry\x12\x33\n\x0e\x63ontent_source\x18\x04 \x01(\x0b\x32\x1b.csi.v1.VolumeContentSource\x12-\n\x13\x61\x63\x63\x65ssible_topology\x18\x05 \x03(\x0b\x32\x10.csi.v1.Topology\x1a\x34\n\x12VolumeContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x13TopologyRequirement\x12#\n\trequisite\x18\x01 \x03(\x0b\x32\x10.csi.v1.Topology\x12#\n\tpreferred\x18\x02 \x03(\x0b\x32\x10.csi.v1.Topology\"m\n\x08Topology\x12\x30\n\x08segments\x18\x01 \x03(\x0b\x32\x1e.csi.v1.Topology.SegmentsEntry\x1a/\n\rSegmentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x98\x01\n\x13\x44\x65leteVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12>\n\x07secrets\x18\x02 \x03(\x0b\x32(.csi.v1.DeleteVolumeRequest.SecretsEntryB\x03\x98\x42\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x16\n\x14\x44\x65leteVolumeResponse\"\x8f\x03\n\x1e\x43ontrollerPublishVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12\x0f\n\x07node_id\x18\x02 \x01(\t\x12\x33\n\x11volume_capability\x18\x03 \x01(\x0b\x32\x18.csi.v1.VolumeCapability\x12\x10\n\x08readonly\x18\x04 \x01(\x08\x12I\n\x07secrets\x18\x05 \x03(\x0b\x32\x33.csi.v1.ControllerPublishVolumeRequest.SecretsEntryB\x03\x98\x42\x01\x12Q\n\x0evolume_context\x18\x06 \x03(\x0b\x32\x39.csi.v1.ControllerPublishVolumeRequest.VolumeContextEntry\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12VolumeContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xae\x01\n\x1f\x43ontrollerPublishVolumeResponse\x12T\n\x0fpublish_context\x18\x01 \x03(\x0b\x32;.csi.v1.ControllerPublishVolumeResponse.PublishContextEntry\x1a\x35\n\x13PublishContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x01\n ControllerUnpublishVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12\x0f\n\x07node_id\x18\x02 \x01(\t\x12K\n\x07secrets\x18\x03 \x03(\x0b\x32\x35.csi.v1.ControllerUnpublishVolumeRequest.SecretsEntryB\x03\x98\x42\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"#\n!ControllerUnpublishVolumeResponse\"\xf9\x03\n!ValidateVolumeCapabilitiesRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12T\n\x0evolume_context\x18\x02 \x03(\x0b\x32<.csi.v1.ValidateVolumeCapabilitiesRequest.VolumeContextEntry\x12\x35\n\x13volume_capabilities\x18\x03 \x03(\x0b\x32\x18.csi.v1.VolumeCapability\x12M\n\nparameters\x18\x04 \x03(\x0b\x32\x39.csi.v1.ValidateVolumeCapabilitiesRequest.ParametersEntry\x12L\n\x07secrets\x18\x05 \x03(\x0b\x32\x36.csi.v1.ValidateVolumeCapabilitiesRequest.SecretsEntryB\x03\x98\x42\x01\x1a\x34\n\x12VolumeContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe7\x03\n\"ValidateVolumeCapabilitiesResponse\x12G\n\tconfirmed\x18\x01 \x01(\x0b\x32\x34.csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed\x12\x0f\n\x07message\x18\x02 \x01(\t\x1a\xe6\x02\n\tConfirmed\x12_\n\x0evolume_context\x18\x01 \x03(\x0b\x32G.csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.VolumeContextEntry\x12\x35\n\x13volume_capabilities\x18\x02 \x03(\x0b\x32\x18.csi.v1.VolumeCapability\x12X\n\nparameters\x18\x03 \x03(\x0b\x32\x44.csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.ParametersEntry\x1a\x34\n\x12VolumeContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\x12ListVolumesRequest\x12\x13\n\x0bmax_entries\x18\x01 \x01(\x05\x12\x16\n\x0estarting_token\x18\x02 \x01(\t\"\xa4\x02\n\x13ListVolumesResponse\x12\x32\n\x07\x65ntries\x18\x01 \x03(\x0b\x32!.csi.v1.ListVolumesResponse.Entry\x12\x12\n\nnext_token\x18\x02 \x01(\t\x1a\x62\n\x0cVolumeStatus\x12\x1a\n\x12published_node_ids\x18\x01 \x03(\t\x12\x36\n\x10volume_condition\x18\x02 \x01(\x0b\x32\x17.csi.v1.VolumeConditionB\x03\xa0\x42\x01\x1a\x61\n\x05\x45ntry\x12\x1e\n\x06volume\x18\x01 \x01(\x0b\x32\x0e.csi.v1.Volume\x12\x38\n\x06status\x18\x02 \x01(\x0b\x32(.csi.v1.ListVolumesResponse.VolumeStatus\"4\n\x1a\x43ontrollerGetVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t:\x03\xa0\x42\x01\"\xe3\x01\n\x1b\x43ontrollerGetVolumeResponse\x12\x1e\n\x06volume\x18\x01 \x01(\x0b\x32\x0e.csi.v1.Volume\x12@\n\x06status\x18\x02 \x01(\x0b\x32\x30.csi.v1.ControllerGetVolumeResponse.VolumeStatus\x1a]\n\x0cVolumeStatus\x12\x1a\n\x12published_node_ids\x18\x01 \x03(\t\x12\x31\n\x10volume_condition\x18\x02 \x01(\x0b\x32\x17.csi.v1.VolumeCondition:\x03\xa0\x42\x01\"\xed\x01\n\x12GetCapacityRequest\x12\x35\n\x13volume_capabilities\x18\x01 \x03(\x0b\x32\x18.csi.v1.VolumeCapability\x12>\n\nparameters\x18\x02 \x03(\x0b\x32*.csi.v1.GetCapacityRequest.ParametersEntry\x12-\n\x13\x61\x63\x63\x65ssible_topology\x18\x03 \x01(\x0b\x32\x10.csi.v1.Topology\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"1\n\x13GetCapacityResponse\x12\x1a\n\x12\x61vailable_capacity\x18\x01 \x01(\x03\"\"\n ControllerGetCapabilitiesRequest\"^\n!ControllerGetCapabilitiesResponse\x12\x39\n\x0c\x63\x61pabilities\x18\x01 \x03(\x0b\x32#.csi.v1.ControllerServiceCapability\"\xd0\x03\n\x1b\x43ontrollerServiceCapability\x12\x36\n\x03rpc\x18\x01 \x01(\x0b\x32\'.csi.v1.ControllerServiceCapability.RPCH\x00\x1a\xf0\x02\n\x03RPC\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.csi.v1.ControllerServiceCapability.RPC.Type\"\xac\x02\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x18\n\x14\x43REATE_DELETE_VOLUME\x10\x01\x12\x1c\n\x18PUBLISH_UNPUBLISH_VOLUME\x10\x02\x12\x10\n\x0cLIST_VOLUMES\x10\x03\x12\x10\n\x0cGET_CAPACITY\x10\x04\x12\x1a\n\x16\x43REATE_DELETE_SNAPSHOT\x10\x05\x12\x12\n\x0eLIST_SNAPSHOTS\x10\x06\x12\x10\n\x0c\x43LONE_VOLUME\x10\x07\x12\x14\n\x10PUBLISH_READONLY\x10\x08\x12\x11\n\rEXPAND_VOLUME\x10\t\x12 \n\x1cLIST_VOLUMES_PUBLISHED_NODES\x10\n\x12\x19\n\x10VOLUME_CONDITION\x10\x0b\x1a\x03\xa0\x42\x01\x12\x13\n\nGET_VOLUME\x10\x0c\x1a\x03\xa0\x42\x01\x42\x06\n\x04type\"\xa7\x02\n\x15\x43reateSnapshotRequest\x12\x18\n\x10source_volume_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12@\n\x07secrets\x18\x03 \x03(\x0b\x32*.csi.v1.CreateSnapshotRequest.SecretsEntryB\x03\x98\x42\x01\x12\x41\n\nparameters\x18\x04 \x03(\x0b\x32-.csi.v1.CreateSnapshotRequest.ParametersEntry\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"<\n\x16\x43reateSnapshotResponse\x12\"\n\x08snapshot\x18\x01 \x01(\x0b\x32\x10.csi.v1.Snapshot\"\x96\x01\n\x08Snapshot\x12\x12\n\nsize_bytes\x18\x01 \x01(\x03\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\x12\x18\n\x10source_volume_id\x18\x03 \x01(\t\x12\x31\n\rcreation_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0cready_to_use\x18\x05 \x01(\x08\"\x9e\x01\n\x15\x44\x65leteSnapshotRequest\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\x12@\n\x07secrets\x18\x02 \x03(\x0b\x32*.csi.v1.DeleteSnapshotRequest.SecretsEntryB\x03\x98\x42\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x18\n\x16\x44\x65leteSnapshotResponse\"\xe3\x01\n\x14ListSnapshotsRequest\x12\x13\n\x0bmax_entries\x18\x01 \x01(\x05\x12\x16\n\x0estarting_token\x18\x02 \x01(\t\x12\x18\n\x10source_volume_id\x18\x03 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x04 \x01(\t\x12?\n\x07secrets\x18\x05 \x03(\x0b\x32).csi.v1.ListSnapshotsRequest.SecretsEntryB\x03\x98\x42\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8e\x01\n\x15ListSnapshotsResponse\x12\x34\n\x07\x65ntries\x18\x01 \x03(\x0b\x32#.csi.v1.ListSnapshotsResponse.Entry\x12\x12\n\nnext_token\x18\x02 \x01(\t\x1a+\n\x05\x45ntry\x12\"\n\x08snapshot\x18\x01 \x01(\x0b\x32\x10.csi.v1.Snapshot\"\x90\x02\n\x1d\x43ontrollerExpandVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12-\n\x0e\x63\x61pacity_range\x18\x02 \x01(\x0b\x32\x15.csi.v1.CapacityRange\x12H\n\x07secrets\x18\x03 \x03(\x0b\x32\x32.csi.v1.ControllerExpandVolumeRequest.SecretsEntryB\x03\x98\x42\x01\x12\x33\n\x11volume_capability\x18\x04 \x01(\x0b\x32\x18.csi.v1.VolumeCapability\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Y\n\x1e\x43ontrollerExpandVolumeResponse\x12\x16\n\x0e\x63\x61pacity_bytes\x18\x01 \x01(\x03\x12\x1f\n\x17node_expansion_required\x18\x02 \x01(\x08\"\xf5\x03\n\x16NodeStageVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12K\n\x0fpublish_context\x18\x02 \x03(\x0b\x32\x32.csi.v1.NodeStageVolumeRequest.PublishContextEntry\x12\x1b\n\x13staging_target_path\x18\x03 \x01(\t\x12\x33\n\x11volume_capability\x18\x04 \x01(\x0b\x32\x18.csi.v1.VolumeCapability\x12\x41\n\x07secrets\x18\x05 \x03(\x0b\x32+.csi.v1.NodeStageVolumeRequest.SecretsEntryB\x03\x98\x42\x01\x12I\n\x0evolume_context\x18\x06 \x03(\x0b\x32\x31.csi.v1.NodeStageVolumeRequest.VolumeContextEntry\x1a\x35\n\x13PublishContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12VolumeContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x19\n\x17NodeStageVolumeResponse\"J\n\x18NodeUnstageVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12\x1b\n\x13staging_target_path\x18\x02 \x01(\t\"\x1b\n\x19NodeUnstageVolumeResponse\"\xa4\x04\n\x18NodePublishVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12M\n\x0fpublish_context\x18\x02 \x03(\x0b\x32\x34.csi.v1.NodePublishVolumeRequest.PublishContextEntry\x12\x1b\n\x13staging_target_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_path\x18\x04 \x01(\t\x12\x33\n\x11volume_capability\x18\x05 \x01(\x0b\x32\x18.csi.v1.VolumeCapability\x12\x10\n\x08readonly\x18\x06 \x01(\x08\x12\x43\n\x07secrets\x18\x07 \x03(\x0b\x32-.csi.v1.NodePublishVolumeRequest.SecretsEntryB\x03\x98\x42\x01\x12K\n\x0evolume_context\x18\x08 \x03(\x0b\x32\x33.csi.v1.NodePublishVolumeRequest.VolumeContextEntry\x1a\x35\n\x13PublishContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12VolumeContextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1b\n\x19NodePublishVolumeResponse\"D\n\x1aNodeUnpublishVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12\x13\n\x0btarget_path\x18\x02 \x01(\t\"\x1d\n\x1bNodeUnpublishVolumeResponse\"`\n\x19NodeGetVolumeStatsRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12\x13\n\x0bvolume_path\x18\x02 \x01(\t\x12\x1b\n\x13staging_target_path\x18\x03 \x01(\t\"x\n\x1aNodeGetVolumeStatsResponse\x12\"\n\x05usage\x18\x01 \x03(\x0b\x32\x13.csi.v1.VolumeUsage\x12\x36\n\x10volume_condition\x18\x02 \x01(\x0b\x32\x17.csi.v1.VolumeConditionB\x03\xa0\x42\x01\"\x91\x01\n\x0bVolumeUsage\x12\x11\n\tavailable\x18\x01 \x01(\x03\x12\r\n\x05total\x18\x02 \x01(\x03\x12\x0c\n\x04used\x18\x03 \x01(\x03\x12&\n\x04unit\x18\x04 \x01(\x0e\x32\x18.csi.v1.VolumeUsage.Unit\"*\n\x04Unit\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\n\n\x06INODES\x10\x02\"9\n\x0fVolumeCondition\x12\x10\n\x08\x61\x62normal\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t:\x03\xa0\x42\x01\"\x1c\n\x1aNodeGetCapabilitiesRequest\"R\n\x1bNodeGetCapabilitiesResponse\x12\x33\n\x0c\x63\x61pabilities\x18\x01 \x03(\x0b\x32\x1d.csi.v1.NodeServiceCapability\"\x82\x02\n\x15NodeServiceCapability\x12\x30\n\x03rpc\x18\x01 \x01(\x0b\x32!.csi.v1.NodeServiceCapability.RPCH\x00\x1a\xae\x01\n\x03RPC\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.csi.v1.NodeServiceCapability.RPC.Type\"q\n\x04Type\x12\x0b\n\x07UNKNOWN\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\xa0\x42\x01\x42\x06\n\x04type\"\x14\n\x12NodeGetInfoRequest\"s\n\x13NodeGetInfoResponse\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12\x1c\n\x14max_volumes_per_node\x18\x02 \x01(\x03\x12-\n\x13\x61\x63\x63\x65ssible_topology\x18\x03 \x01(\x0b\x32\x10.csi.v1.Topology\"\xc2\x01\n\x17NodeExpandVolumeRequest\x12\x11\n\tvolume_id\x18\x01 \x01(\t\x12\x13\n\x0bvolume_path\x18\x02 \x01(\t\x12-\n\x0e\x63\x61pacity_range\x18\x03 \x01(\x0b\x32\x15.csi.v1.CapacityRange\x12\x1b\n\x13staging_target_path\x18\x04 \x01(\t\x12\x33\n\x11volume_capability\x18\x05 \x01(\x0b\x32\x18.csi.v1.VolumeCapability\"2\n\x18NodeExpandVolumeResponse\x12\x16\n\x0e\x63\x61pacity_bytes\x18\x01 \x01(\x03\x32\xfa\x01\n\x08Identity\x12N\n\rGetPluginInfo\x12\x1c.csi.v1.GetPluginInfoRequest\x1a\x1d.csi.v1.GetPluginInfoResponse\"\x00\x12\x66\n\x15GetPluginCapabilities\x12$.csi.v1.GetPluginCapabilitiesRequest\x1a%.csi.v1.GetPluginCapabilitiesResponse\"\x00\x12\x36\n\x05Probe\x12\x14.csi.v1.ProbeRequest\x1a\x15.csi.v1.ProbeResponse\"\x00\x32\xcd\t\n\nController\x12K\n\x0c\x43reateVolume\x12\x1b.csi.v1.CreateVolumeRequest\x1a\x1c.csi.v1.CreateVolumeResponse\"\x00\x12K\n\x0c\x44\x65leteVolume\x12\x1b.csi.v1.DeleteVolumeRequest\x1a\x1c.csi.v1.DeleteVolumeResponse\"\x00\x12l\n\x17\x43ontrollerPublishVolume\x12&.csi.v1.ControllerPublishVolumeRequest\x1a\'.csi.v1.ControllerPublishVolumeResponse\"\x00\x12r\n\x19\x43ontrollerUnpublishVolume\x12(.csi.v1.ControllerUnpublishVolumeRequest\x1a).csi.v1.ControllerUnpublishVolumeResponse\"\x00\x12u\n\x1aValidateVolumeCapabilities\x12).csi.v1.ValidateVolumeCapabilitiesRequest\x1a*.csi.v1.ValidateVolumeCapabilitiesResponse\"\x00\x12H\n\x0bListVolumes\x12\x1a.csi.v1.ListVolumesRequest\x1a\x1b.csi.v1.ListVolumesResponse\"\x00\x12H\n\x0bGetCapacity\x12\x1a.csi.v1.GetCapacityRequest\x1a\x1b.csi.v1.GetCapacityResponse\"\x00\x12r\n\x19\x43ontrollerGetCapabilities\x12(.csi.v1.ControllerGetCapabilitiesRequest\x1a).csi.v1.ControllerGetCapabilitiesResponse\"\x00\x12Q\n\x0e\x43reateSnapshot\x12\x1d.csi.v1.CreateSnapshotRequest\x1a\x1e.csi.v1.CreateSnapshotResponse\"\x00\x12Q\n\x0e\x44\x65leteSnapshot\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\x12i\n\x16\x43ontrollerExpandVolume\x12%.csi.v1.ControllerExpandVolumeRequest\x1a&.csi.v1.ControllerExpandVolumeResponse\"\x00\x12\x63\n\x13\x43ontrollerGetVolume\x12\".csi.v1.ControllerGetVolumeRequest\x1a#.csi.v1.ControllerGetVolumeResponse\"\x03\xa0\x42\x01\x32\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\x0bNodeGetInfo\x12\x1a.csi.v1.NodeGetInfoRequest\x1a\x1b.csi.v1.NodeGetInfoResponse\"\x00:1\n\nalpha_enum\x12\x1c.google.protobuf.EnumOptions\x18\xa4\x08 \x01(\x08:<\n\x10\x61lpha_enum_value\x12!.google.protobuf.EnumValueOptions\x18\xa4\x08 \x01(\x08:2\n\ncsi_secret\x12\x1d.google.protobuf.FieldOptions\x18\xa3\x08 \x01(\x08:3\n\x0b\x61lpha_field\x12\x1d.google.protobuf.FieldOptions\x18\xa4\x08 \x01(\x08:7\n\ralpha_message\x12\x1f.google.protobuf.MessageOptions\x18\xa4\x08 \x01(\x08:5\n\x0c\x61lpha_method\x12\x1e.google.protobuf.MethodOptions\x18\xa4\x08 \x01(\x08:7\n\ralpha_service\x12\x1f.google.protobuf.ServiceOptions\x18\xa4\x08 \x01(\x08\x42\x05Z\x03\x63sib\x06proto3' + , + dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,]) + + +ALPHA_ENUM_FIELD_NUMBER = 1060 +alpha_enum = _descriptor.FieldDescriptor( + name='alpha_enum', full_name='csi.v1.alpha_enum', index=0, + number=1060, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR) +ALPHA_ENUM_VALUE_FIELD_NUMBER = 1060 +alpha_enum_value = _descriptor.FieldDescriptor( + name='alpha_enum_value', full_name='csi.v1.alpha_enum_value', index=1, + number=1060, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR) +CSI_SECRET_FIELD_NUMBER = 1059 +csi_secret = _descriptor.FieldDescriptor( + name='csi_secret', full_name='csi.v1.csi_secret', index=2, + number=1059, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR) +ALPHA_FIELD_FIELD_NUMBER = 1060 +alpha_field = _descriptor.FieldDescriptor( + name='alpha_field', full_name='csi.v1.alpha_field', index=3, + number=1060, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR) +ALPHA_MESSAGE_FIELD_NUMBER = 1060 +alpha_message = _descriptor.FieldDescriptor( + name='alpha_message', full_name='csi.v1.alpha_message', index=4, + number=1060, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR) +ALPHA_METHOD_FIELD_NUMBER = 1060 +alpha_method = _descriptor.FieldDescriptor( + name='alpha_method', full_name='csi.v1.alpha_method', index=5, + number=1060, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR) +ALPHA_SERVICE_FIELD_NUMBER = 1060 +alpha_service = _descriptor.FieldDescriptor( + name='alpha_service', full_name='csi.v1.alpha_service', index=6, + number=1060, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR) + +_PLUGINCAPABILITY_SERVICE_TYPE = _descriptor.EnumDescriptor( + name='Type', + full_name='csi.v1.PluginCapability.Service.Type', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CONTROLLER_SERVICE', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='VOLUME_ACCESSIBILITY_CONSTRAINTS', index=2, number=2, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=642, + serialized_end=723, +) +_sym_db.RegisterEnumDescriptor(_PLUGINCAPABILITY_SERVICE_TYPE) + +_PLUGINCAPABILITY_VOLUMEEXPANSION_TYPE = _descriptor.EnumDescriptor( + name='Type', + full_name='csi.v1.PluginCapability.VolumeExpansion.Type', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ONLINE', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OFFLINE', index=2, number=2, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=805, + serialized_end=849, +) +_sym_db.RegisterEnumDescriptor(_PLUGINCAPABILITY_VOLUMEEXPANSION_TYPE) + +_VOLUMECAPABILITY_ACCESSMODE_MODE = _descriptor.EnumDescriptor( + name='Mode', + full_name='csi.v1.VolumeCapability.AccessMode.Mode', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SINGLE_NODE_WRITER', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SINGLE_NODE_READER_ONLY', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MULTI_NODE_READER_ONLY', index=3, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MULTI_NODE_SINGLE_WRITER', index=4, number=4, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MULTI_NODE_MULTI_WRITER', index=5, number=5, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=2043, + serialized_end=2202, +) +_sym_db.RegisterEnumDescriptor(_VOLUMECAPABILITY_ACCESSMODE_MODE) + +_CONTROLLERSERVICECAPABILITY_RPC_TYPE = _descriptor.EnumDescriptor( + name='Type', + full_name='csi.v1.ControllerServiceCapability.RPC.Type', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CREATE_DELETE_VOLUME', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PUBLISH_UNPUBLISH_VOLUME', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LIST_VOLUMES', index=3, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='GET_CAPACITY', index=4, number=4, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CREATE_DELETE_SNAPSHOT', index=5, number=5, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LIST_SNAPSHOTS', index=6, number=6, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CLONE_VOLUME', index=7, number=7, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PUBLISH_READONLY', index=8, number=8, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='EXPAND_VOLUME', index=9, number=9, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LIST_VOLUMES_PUBLISHED_NODES', index=10, number=10, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='VOLUME_CONDITION', index=11, number=11, + serialized_options=b'\240B\001', + type=None), + _descriptor.EnumValueDescriptor( + name='GET_VOLUME', index=12, number=12, + serialized_options=b'\240B\001', + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=5973, + serialized_end=6273, +) +_sym_db.RegisterEnumDescriptor(_CONTROLLERSERVICECAPABILITY_RPC_TYPE) + +_VOLUMEUSAGE_UNIT = _descriptor.EnumDescriptor( + name='Unit', + full_name='csi.v1.VolumeUsage.Unit', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BYTES', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='INODES', index=2, number=2, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=9365, + serialized_end=9407, +) +_sym_db.RegisterEnumDescriptor(_VOLUMEUSAGE_UNIT) + +_NODESERVICECAPABILITY_RPC_TYPE = _descriptor.EnumDescriptor( + name='Type', + full_name='csi.v1.NodeServiceCapability.RPC.Type', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='STAGE_UNSTAGE_VOLUME', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='GET_VOLUME_STATS', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='EXPAND_VOLUME', index=3, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='VOLUME_CONDITION', index=4, number=4, + serialized_options=b'\240B\001', + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=9720, + serialized_end=9833, +) +_sym_db.RegisterEnumDescriptor(_NODESERVICECAPABILITY_RPC_TYPE) + + +_GETPLUGININFOREQUEST = _descriptor.Descriptor( + name='GetPluginInfoRequest', + full_name='csi.v1.GetPluginInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=120, + serialized_end=142, +) + + +_GETPLUGININFORESPONSE_MANIFESTENTRY = _descriptor.Descriptor( + name='ManifestEntry', + full_name='csi.v1.GetPluginInfoResponse.ManifestEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.GetPluginInfoResponse.ManifestEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.GetPluginInfoResponse.ManifestEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=271, + serialized_end=318, +) + +_GETPLUGININFORESPONSE = _descriptor.Descriptor( + name='GetPluginInfoResponse', + full_name='csi.v1.GetPluginInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='csi.v1.GetPluginInfoResponse.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='vendor_version', full_name='csi.v1.GetPluginInfoResponse.vendor_version', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='manifest', full_name='csi.v1.GetPluginInfoResponse.manifest', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_GETPLUGININFORESPONSE_MANIFESTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=145, + serialized_end=318, +) + + +_GETPLUGINCAPABILITIESREQUEST = _descriptor.Descriptor( + name='GetPluginCapabilitiesRequest', + full_name='csi.v1.GetPluginCapabilitiesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=320, + serialized_end=350, +) + + +_GETPLUGINCAPABILITIESRESPONSE = _descriptor.Descriptor( + name='GetPluginCapabilitiesResponse', + full_name='csi.v1.GetPluginCapabilitiesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='capabilities', full_name='csi.v1.GetPluginCapabilitiesResponse.capabilities', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=352, + serialized_end=431, +) + + +_PLUGINCAPABILITY_SERVICE = _descriptor.Descriptor( + name='Service', + full_name='csi.v1.PluginCapability.Service', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='csi.v1.PluginCapability.Service.type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PLUGINCAPABILITY_SERVICE_TYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=578, + serialized_end=723, +) + +_PLUGINCAPABILITY_VOLUMEEXPANSION = _descriptor.Descriptor( + name='VolumeExpansion', + full_name='csi.v1.PluginCapability.VolumeExpansion', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='csi.v1.PluginCapability.VolumeExpansion.type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PLUGINCAPABILITY_VOLUMEEXPANSION_TYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=725, + serialized_end=849, +) + +_PLUGINCAPABILITY = _descriptor.Descriptor( + name='PluginCapability', + full_name='csi.v1.PluginCapability', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='service', full_name='csi.v1.PluginCapability.service', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_expansion', full_name='csi.v1.PluginCapability.volume_expansion', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_PLUGINCAPABILITY_SERVICE, _PLUGINCAPABILITY_VOLUMEEXPANSION, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='type', full_name='csi.v1.PluginCapability.type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=434, + serialized_end=857, +) + + +_PROBEREQUEST = _descriptor.Descriptor( + name='ProbeRequest', + full_name='csi.v1.ProbeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=859, + serialized_end=873, +) + + +_PROBERESPONSE = _descriptor.Descriptor( + name='ProbeResponse', + full_name='csi.v1.ProbeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='ready', full_name='csi.v1.ProbeResponse.ready', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=875, + serialized_end=933, +) + + +_CREATEVOLUMEREQUEST_PARAMETERSENTRY = _descriptor.Descriptor( + name='ParametersEntry', + full_name='csi.v1.CreateVolumeRequest.ParametersEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.CreateVolumeRequest.ParametersEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.CreateVolumeRequest.ParametersEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1329, + serialized_end=1378, +) + +_CREATEVOLUMEREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.CreateVolumeRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.CreateVolumeRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.CreateVolumeRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_CREATEVOLUMEREQUEST = _descriptor.Descriptor( + name='CreateVolumeRequest', + full_name='csi.v1.CreateVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='csi.v1.CreateVolumeRequest.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='capacity_range', full_name='csi.v1.CreateVolumeRequest.capacity_range', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capabilities', full_name='csi.v1.CreateVolumeRequest.volume_capabilities', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='parameters', full_name='csi.v1.CreateVolumeRequest.parameters', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.CreateVolumeRequest.secrets', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_content_source', full_name='csi.v1.CreateVolumeRequest.volume_content_source', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='accessibility_requirements', full_name='csi.v1.CreateVolumeRequest.accessibility_requirements', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CREATEVOLUMEREQUEST_PARAMETERSENTRY, _CREATEVOLUMEREQUEST_SECRETSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=936, + serialized_end=1426, +) + + +_VOLUMECONTENTSOURCE_SNAPSHOTSOURCE = _descriptor.Descriptor( + name='SnapshotSource', + full_name='csi.v1.VolumeContentSource.SnapshotSource', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='snapshot_id', full_name='csi.v1.VolumeContentSource.SnapshotSource.snapshot_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1576, + serialized_end=1613, +) + +_VOLUMECONTENTSOURCE_VOLUMESOURCE = _descriptor.Descriptor( + name='VolumeSource', + full_name='csi.v1.VolumeContentSource.VolumeSource', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.VolumeContentSource.VolumeSource.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1615, + serialized_end=1648, +) + +_VOLUMECONTENTSOURCE = _descriptor.Descriptor( + name='VolumeContentSource', + full_name='csi.v1.VolumeContentSource', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='snapshot', full_name='csi.v1.VolumeContentSource.snapshot', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume', full_name='csi.v1.VolumeContentSource.volume', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_VOLUMECONTENTSOURCE_SNAPSHOTSOURCE, _VOLUMECONTENTSOURCE_VOLUMESOURCE, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='type', full_name='csi.v1.VolumeContentSource.type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=1429, + serialized_end=1656, +) + + +_CREATEVOLUMERESPONSE = _descriptor.Descriptor( + name='CreateVolumeResponse', + full_name='csi.v1.CreateVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume', full_name='csi.v1.CreateVolumeResponse.volume', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1658, + serialized_end=1712, +) + + +_VOLUMECAPABILITY_BLOCKVOLUME = _descriptor.Descriptor( + name='BlockVolume', + full_name='csi.v1.VolumeCapability.BlockVolume', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1903, + serialized_end=1916, +) + +_VOLUMECAPABILITY_MOUNTVOLUME = _descriptor.Descriptor( + name='MountVolume', + full_name='csi.v1.VolumeCapability.MountVolume', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='fs_type', full_name='csi.v1.VolumeCapability.MountVolume.fs_type', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='mount_flags', full_name='csi.v1.VolumeCapability.MountVolume.mount_flags', index=1, + number=2, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1918, + serialized_end=1969, +) + +_VOLUMECAPABILITY_ACCESSMODE = _descriptor.Descriptor( + name='AccessMode', + full_name='csi.v1.VolumeCapability.AccessMode', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='mode', full_name='csi.v1.VolumeCapability.AccessMode.mode', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _VOLUMECAPABILITY_ACCESSMODE_MODE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1972, + serialized_end=2202, +) + +_VOLUMECAPABILITY = _descriptor.Descriptor( + name='VolumeCapability', + full_name='csi.v1.VolumeCapability', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='block', full_name='csi.v1.VolumeCapability.block', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='mount', full_name='csi.v1.VolumeCapability.mount', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='access_mode', full_name='csi.v1.VolumeCapability.access_mode', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_VOLUMECAPABILITY_BLOCKVOLUME, _VOLUMECAPABILITY_MOUNTVOLUME, _VOLUMECAPABILITY_ACCESSMODE, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='access_type', full_name='csi.v1.VolumeCapability.access_type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=1715, + serialized_end=2217, +) + + +_CAPACITYRANGE = _descriptor.Descriptor( + name='CapacityRange', + full_name='csi.v1.CapacityRange', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='required_bytes', full_name='csi.v1.CapacityRange.required_bytes', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='limit_bytes', full_name='csi.v1.CapacityRange.limit_bytes', index=1, + number=2, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2219, + serialized_end=2279, +) + + +_VOLUME_VOLUMECONTEXTENTRY = _descriptor.Descriptor( + name='VolumeContextEntry', + full_name='csi.v1.Volume.VolumeContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.Volume.VolumeContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.Volume.VolumeContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2494, + serialized_end=2546, +) + +_VOLUME = _descriptor.Descriptor( + name='Volume', + full_name='csi.v1.Volume', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='capacity_bytes', full_name='csi.v1.Volume.capacity_bytes', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.Volume.volume_id', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_context', full_name='csi.v1.Volume.volume_context', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='content_source', full_name='csi.v1.Volume.content_source', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='accessible_topology', full_name='csi.v1.Volume.accessible_topology', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_VOLUME_VOLUMECONTEXTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2282, + serialized_end=2546, +) + + +_TOPOLOGYREQUIREMENT = _descriptor.Descriptor( + name='TopologyRequirement', + full_name='csi.v1.TopologyRequirement', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='requisite', full_name='csi.v1.TopologyRequirement.requisite', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='preferred', full_name='csi.v1.TopologyRequirement.preferred', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2548, + serialized_end=2643, +) + + +_TOPOLOGY_SEGMENTSENTRY = _descriptor.Descriptor( + name='SegmentsEntry', + full_name='csi.v1.Topology.SegmentsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.Topology.SegmentsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.Topology.SegmentsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2707, + serialized_end=2754, +) + +_TOPOLOGY = _descriptor.Descriptor( + name='Topology', + full_name='csi.v1.Topology', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='segments', full_name='csi.v1.Topology.segments', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_TOPOLOGY_SEGMENTSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2645, + serialized_end=2754, +) + + +_DELETEVOLUMEREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.DeleteVolumeRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.DeleteVolumeRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.DeleteVolumeRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_DELETEVOLUMEREQUEST = _descriptor.Descriptor( + name='DeleteVolumeRequest', + full_name='csi.v1.DeleteVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.DeleteVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.DeleteVolumeRequest.secrets', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_DELETEVOLUMEREQUEST_SECRETSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2757, + serialized_end=2909, +) + + +_DELETEVOLUMERESPONSE = _descriptor.Descriptor( + name='DeleteVolumeResponse', + full_name='csi.v1.DeleteVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2911, + serialized_end=2933, +) + + +_CONTROLLERPUBLISHVOLUMEREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.ControllerPublishVolumeRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ControllerPublishVolumeRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ControllerPublishVolumeRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_CONTROLLERPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY = _descriptor.Descriptor( + name='VolumeContextEntry', + full_name='csi.v1.ControllerPublishVolumeRequest.VolumeContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ControllerPublishVolumeRequest.VolumeContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ControllerPublishVolumeRequest.VolumeContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2494, + serialized_end=2546, +) + +_CONTROLLERPUBLISHVOLUMEREQUEST = _descriptor.Descriptor( + name='ControllerPublishVolumeRequest', + full_name='csi.v1.ControllerPublishVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.ControllerPublishVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='node_id', full_name='csi.v1.ControllerPublishVolumeRequest.node_id', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capability', full_name='csi.v1.ControllerPublishVolumeRequest.volume_capability', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='readonly', full_name='csi.v1.ControllerPublishVolumeRequest.readonly', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.ControllerPublishVolumeRequest.secrets', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_context', full_name='csi.v1.ControllerPublishVolumeRequest.volume_context', index=5, + number=6, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CONTROLLERPUBLISHVOLUMEREQUEST_SECRETSENTRY, _CONTROLLERPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2936, + serialized_end=3335, +) + + +_CONTROLLERPUBLISHVOLUMERESPONSE_PUBLISHCONTEXTENTRY = _descriptor.Descriptor( + name='PublishContextEntry', + full_name='csi.v1.ControllerPublishVolumeResponse.PublishContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ControllerPublishVolumeResponse.PublishContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ControllerPublishVolumeResponse.PublishContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3459, + serialized_end=3512, +) + +_CONTROLLERPUBLISHVOLUMERESPONSE = _descriptor.Descriptor( + name='ControllerPublishVolumeResponse', + full_name='csi.v1.ControllerPublishVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='publish_context', full_name='csi.v1.ControllerPublishVolumeResponse.publish_context', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CONTROLLERPUBLISHVOLUMERESPONSE_PUBLISHCONTEXTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3338, + serialized_end=3512, +) + + +_CONTROLLERUNPUBLISHVOLUMEREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.ControllerUnpublishVolumeRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ControllerUnpublishVolumeRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ControllerUnpublishVolumeRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_CONTROLLERUNPUBLISHVOLUMEREQUEST = _descriptor.Descriptor( + name='ControllerUnpublishVolumeRequest', + full_name='csi.v1.ControllerUnpublishVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.ControllerUnpublishVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='node_id', full_name='csi.v1.ControllerUnpublishVolumeRequest.node_id', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.ControllerUnpublishVolumeRequest.secrets', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CONTROLLERUNPUBLISHVOLUMEREQUEST_SECRETSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3515, + serialized_end=3710, +) + + +_CONTROLLERUNPUBLISHVOLUMERESPONSE = _descriptor.Descriptor( + name='ControllerUnpublishVolumeResponse', + full_name='csi.v1.ControllerUnpublishVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3712, + serialized_end=3747, +) + + +_VALIDATEVOLUMECAPABILITIESREQUEST_VOLUMECONTEXTENTRY = _descriptor.Descriptor( + name='VolumeContextEntry', + full_name='csi.v1.ValidateVolumeCapabilitiesRequest.VolumeContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.VolumeContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.VolumeContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2494, + serialized_end=2546, +) + +_VALIDATEVOLUMECAPABILITIESREQUEST_PARAMETERSENTRY = _descriptor.Descriptor( + name='ParametersEntry', + full_name='csi.v1.ValidateVolumeCapabilitiesRequest.ParametersEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.ParametersEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.ParametersEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1329, + serialized_end=1378, +) + +_VALIDATEVOLUMECAPABILITIESREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.ValidateVolumeCapabilitiesRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_VALIDATEVOLUMECAPABILITIESREQUEST = _descriptor.Descriptor( + name='ValidateVolumeCapabilitiesRequest', + full_name='csi.v1.ValidateVolumeCapabilitiesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_context', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.volume_context', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capabilities', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.volume_capabilities', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='parameters', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.parameters', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.ValidateVolumeCapabilitiesRequest.secrets', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_VALIDATEVOLUMECAPABILITIESREQUEST_VOLUMECONTEXTENTRY, _VALIDATEVOLUMECAPABILITIESREQUEST_PARAMETERSENTRY, _VALIDATEVOLUMECAPABILITIESREQUEST_SECRETSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3750, + serialized_end=4255, +) + + +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_VOLUMECONTEXTENTRY = _descriptor.Descriptor( + name='VolumeContextEntry', + full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.VolumeContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.VolumeContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.VolumeContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2494, + serialized_end=2546, +) + +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_PARAMETERSENTRY = _descriptor.Descriptor( + name='ParametersEntry', + full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.ParametersEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.ParametersEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.ParametersEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1329, + serialized_end=1378, +) + +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED = _descriptor.Descriptor( + name='Confirmed', + full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_context', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.volume_context', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capabilities', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.volume_capabilities', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='parameters', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.parameters', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_VOLUMECONTEXTENTRY, _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_PARAMETERSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4387, + serialized_end=4745, +) + +_VALIDATEVOLUMECAPABILITIESRESPONSE = _descriptor.Descriptor( + name='ValidateVolumeCapabilitiesResponse', + full_name='csi.v1.ValidateVolumeCapabilitiesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='confirmed', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.confirmed', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='message', full_name='csi.v1.ValidateVolumeCapabilitiesResponse.message', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4258, + serialized_end=4745, +) + + +_LISTVOLUMESREQUEST = _descriptor.Descriptor( + name='ListVolumesRequest', + full_name='csi.v1.ListVolumesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='max_entries', full_name='csi.v1.ListVolumesRequest.max_entries', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='starting_token', full_name='csi.v1.ListVolumesRequest.starting_token', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4747, + serialized_end=4812, +) + + +_LISTVOLUMESRESPONSE_VOLUMESTATUS = _descriptor.Descriptor( + name='VolumeStatus', + full_name='csi.v1.ListVolumesResponse.VolumeStatus', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='published_node_ids', full_name='csi.v1.ListVolumesResponse.VolumeStatus.published_node_ids', index=0, + number=1, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_condition', full_name='csi.v1.ListVolumesResponse.VolumeStatus.volume_condition', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\240B\001', file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4910, + serialized_end=5008, +) + +_LISTVOLUMESRESPONSE_ENTRY = _descriptor.Descriptor( + name='Entry', + full_name='csi.v1.ListVolumesResponse.Entry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume', full_name='csi.v1.ListVolumesResponse.Entry.volume', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='status', full_name='csi.v1.ListVolumesResponse.Entry.status', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5010, + serialized_end=5107, +) + +_LISTVOLUMESRESPONSE = _descriptor.Descriptor( + name='ListVolumesResponse', + full_name='csi.v1.ListVolumesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='entries', full_name='csi.v1.ListVolumesResponse.entries', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='next_token', full_name='csi.v1.ListVolumesResponse.next_token', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_LISTVOLUMESRESPONSE_VOLUMESTATUS, _LISTVOLUMESRESPONSE_ENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4815, + serialized_end=5107, +) + + +_CONTROLLERGETVOLUMEREQUEST = _descriptor.Descriptor( + name='ControllerGetVolumeRequest', + full_name='csi.v1.ControllerGetVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.ControllerGetVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'\240B\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5109, + serialized_end=5161, +) + + +_CONTROLLERGETVOLUMERESPONSE_VOLUMESTATUS = _descriptor.Descriptor( + name='VolumeStatus', + full_name='csi.v1.ControllerGetVolumeResponse.VolumeStatus', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='published_node_ids', full_name='csi.v1.ControllerGetVolumeResponse.VolumeStatus.published_node_ids', index=0, + number=1, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_condition', full_name='csi.v1.ControllerGetVolumeResponse.VolumeStatus.volume_condition', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5293, + serialized_end=5386, +) + +_CONTROLLERGETVOLUMERESPONSE = _descriptor.Descriptor( + name='ControllerGetVolumeResponse', + full_name='csi.v1.ControllerGetVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume', full_name='csi.v1.ControllerGetVolumeResponse.volume', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='status', full_name='csi.v1.ControllerGetVolumeResponse.status', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CONTROLLERGETVOLUMERESPONSE_VOLUMESTATUS, ], + enum_types=[ + ], + serialized_options=b'\240B\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5164, + serialized_end=5391, +) + + +_GETCAPACITYREQUEST_PARAMETERSENTRY = _descriptor.Descriptor( + name='ParametersEntry', + full_name='csi.v1.GetCapacityRequest.ParametersEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.GetCapacityRequest.ParametersEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.GetCapacityRequest.ParametersEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1329, + serialized_end=1378, +) + +_GETCAPACITYREQUEST = _descriptor.Descriptor( + name='GetCapacityRequest', + full_name='csi.v1.GetCapacityRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_capabilities', full_name='csi.v1.GetCapacityRequest.volume_capabilities', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='parameters', full_name='csi.v1.GetCapacityRequest.parameters', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='accessible_topology', full_name='csi.v1.GetCapacityRequest.accessible_topology', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_GETCAPACITYREQUEST_PARAMETERSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5394, + serialized_end=5631, +) + + +_GETCAPACITYRESPONSE = _descriptor.Descriptor( + name='GetCapacityResponse', + full_name='csi.v1.GetCapacityResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='available_capacity', full_name='csi.v1.GetCapacityResponse.available_capacity', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5633, + serialized_end=5682, +) + + +_CONTROLLERGETCAPABILITIESREQUEST = _descriptor.Descriptor( + name='ControllerGetCapabilitiesRequest', + full_name='csi.v1.ControllerGetCapabilitiesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5684, + serialized_end=5718, +) + + +_CONTROLLERGETCAPABILITIESRESPONSE = _descriptor.Descriptor( + name='ControllerGetCapabilitiesResponse', + full_name='csi.v1.ControllerGetCapabilitiesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='capabilities', full_name='csi.v1.ControllerGetCapabilitiesResponse.capabilities', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5720, + serialized_end=5814, +) + + +_CONTROLLERSERVICECAPABILITY_RPC = _descriptor.Descriptor( + name='RPC', + full_name='csi.v1.ControllerServiceCapability.RPC', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='csi.v1.ControllerServiceCapability.RPC.type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CONTROLLERSERVICECAPABILITY_RPC_TYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5905, + serialized_end=6273, +) + +_CONTROLLERSERVICECAPABILITY = _descriptor.Descriptor( + name='ControllerServiceCapability', + full_name='csi.v1.ControllerServiceCapability', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='rpc', full_name='csi.v1.ControllerServiceCapability.rpc', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CONTROLLERSERVICECAPABILITY_RPC, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='type', full_name='csi.v1.ControllerServiceCapability.type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=5817, + serialized_end=6281, +) + + +_CREATESNAPSHOTREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.CreateSnapshotRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.CreateSnapshotRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.CreateSnapshotRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_CREATESNAPSHOTREQUEST_PARAMETERSENTRY = _descriptor.Descriptor( + name='ParametersEntry', + full_name='csi.v1.CreateSnapshotRequest.ParametersEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.CreateSnapshotRequest.ParametersEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.CreateSnapshotRequest.ParametersEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1329, + serialized_end=1378, +) + +_CREATESNAPSHOTREQUEST = _descriptor.Descriptor( + name='CreateSnapshotRequest', + full_name='csi.v1.CreateSnapshotRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='source_volume_id', full_name='csi.v1.CreateSnapshotRequest.source_volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='name', full_name='csi.v1.CreateSnapshotRequest.name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.CreateSnapshotRequest.secrets', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='parameters', full_name='csi.v1.CreateSnapshotRequest.parameters', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CREATESNAPSHOTREQUEST_SECRETSENTRY, _CREATESNAPSHOTREQUEST_PARAMETERSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6284, + serialized_end=6579, +) + + +_CREATESNAPSHOTRESPONSE = _descriptor.Descriptor( + name='CreateSnapshotResponse', + full_name='csi.v1.CreateSnapshotResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='snapshot', full_name='csi.v1.CreateSnapshotResponse.snapshot', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6581, + serialized_end=6641, +) + + +_SNAPSHOT = _descriptor.Descriptor( + name='Snapshot', + full_name='csi.v1.Snapshot', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='size_bytes', full_name='csi.v1.Snapshot.size_bytes', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='snapshot_id', full_name='csi.v1.Snapshot.snapshot_id', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='source_volume_id', full_name='csi.v1.Snapshot.source_volume_id', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='creation_time', full_name='csi.v1.Snapshot.creation_time', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ready_to_use', full_name='csi.v1.Snapshot.ready_to_use', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6644, + serialized_end=6794, +) + + +_DELETESNAPSHOTREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.DeleteSnapshotRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.DeleteSnapshotRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.DeleteSnapshotRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_DELETESNAPSHOTREQUEST = _descriptor.Descriptor( + name='DeleteSnapshotRequest', + full_name='csi.v1.DeleteSnapshotRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='snapshot_id', full_name='csi.v1.DeleteSnapshotRequest.snapshot_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.DeleteSnapshotRequest.secrets', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_DELETESNAPSHOTREQUEST_SECRETSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6797, + serialized_end=6955, +) + + +_DELETESNAPSHOTRESPONSE = _descriptor.Descriptor( + name='DeleteSnapshotResponse', + full_name='csi.v1.DeleteSnapshotResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6957, + serialized_end=6981, +) + + +_LISTSNAPSHOTSREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.ListSnapshotsRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ListSnapshotsRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ListSnapshotsRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_LISTSNAPSHOTSREQUEST = _descriptor.Descriptor( + name='ListSnapshotsRequest', + full_name='csi.v1.ListSnapshotsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='max_entries', full_name='csi.v1.ListSnapshotsRequest.max_entries', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='starting_token', full_name='csi.v1.ListSnapshotsRequest.starting_token', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='source_volume_id', full_name='csi.v1.ListSnapshotsRequest.source_volume_id', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='snapshot_id', full_name='csi.v1.ListSnapshotsRequest.snapshot_id', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.ListSnapshotsRequest.secrets', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_LISTSNAPSHOTSREQUEST_SECRETSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6984, + serialized_end=7211, +) + + +_LISTSNAPSHOTSRESPONSE_ENTRY = _descriptor.Descriptor( + name='Entry', + full_name='csi.v1.ListSnapshotsResponse.Entry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='snapshot', full_name='csi.v1.ListSnapshotsResponse.Entry.snapshot', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7313, + serialized_end=7356, +) + +_LISTSNAPSHOTSRESPONSE = _descriptor.Descriptor( + name='ListSnapshotsResponse', + full_name='csi.v1.ListSnapshotsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='entries', full_name='csi.v1.ListSnapshotsResponse.entries', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='next_token', full_name='csi.v1.ListSnapshotsResponse.next_token', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_LISTSNAPSHOTSRESPONSE_ENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7214, + serialized_end=7356, +) + + +_CONTROLLEREXPANDVOLUMEREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.ControllerExpandVolumeRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.ControllerExpandVolumeRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.ControllerExpandVolumeRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_CONTROLLEREXPANDVOLUMEREQUEST = _descriptor.Descriptor( + name='ControllerExpandVolumeRequest', + full_name='csi.v1.ControllerExpandVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.ControllerExpandVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='capacity_range', full_name='csi.v1.ControllerExpandVolumeRequest.capacity_range', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.ControllerExpandVolumeRequest.secrets', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capability', full_name='csi.v1.ControllerExpandVolumeRequest.volume_capability', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CONTROLLEREXPANDVOLUMEREQUEST_SECRETSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7359, + serialized_end=7631, +) + + +_CONTROLLEREXPANDVOLUMERESPONSE = _descriptor.Descriptor( + name='ControllerExpandVolumeResponse', + full_name='csi.v1.ControllerExpandVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='capacity_bytes', full_name='csi.v1.ControllerExpandVolumeResponse.capacity_bytes', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='node_expansion_required', full_name='csi.v1.ControllerExpandVolumeResponse.node_expansion_required', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7633, + serialized_end=7722, +) + + +_NODESTAGEVOLUMEREQUEST_PUBLISHCONTEXTENTRY = _descriptor.Descriptor( + name='PublishContextEntry', + full_name='csi.v1.NodeStageVolumeRequest.PublishContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.NodeStageVolumeRequest.PublishContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.NodeStageVolumeRequest.PublishContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3459, + serialized_end=3512, +) + +_NODESTAGEVOLUMEREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.NodeStageVolumeRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.NodeStageVolumeRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.NodeStageVolumeRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_NODESTAGEVOLUMEREQUEST_VOLUMECONTEXTENTRY = _descriptor.Descriptor( + name='VolumeContextEntry', + full_name='csi.v1.NodeStageVolumeRequest.VolumeContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.NodeStageVolumeRequest.VolumeContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.NodeStageVolumeRequest.VolumeContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2494, + serialized_end=2546, +) + +_NODESTAGEVOLUMEREQUEST = _descriptor.Descriptor( + name='NodeStageVolumeRequest', + full_name='csi.v1.NodeStageVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.NodeStageVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='publish_context', full_name='csi.v1.NodeStageVolumeRequest.publish_context', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='staging_target_path', full_name='csi.v1.NodeStageVolumeRequest.staging_target_path', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capability', full_name='csi.v1.NodeStageVolumeRequest.volume_capability', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.NodeStageVolumeRequest.secrets', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_context', full_name='csi.v1.NodeStageVolumeRequest.volume_context', index=5, + number=6, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_NODESTAGEVOLUMEREQUEST_PUBLISHCONTEXTENTRY, _NODESTAGEVOLUMEREQUEST_SECRETSENTRY, _NODESTAGEVOLUMEREQUEST_VOLUMECONTEXTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7725, + serialized_end=8226, +) + + +_NODESTAGEVOLUMERESPONSE = _descriptor.Descriptor( + name='NodeStageVolumeResponse', + full_name='csi.v1.NodeStageVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8228, + serialized_end=8253, +) + + +_NODEUNSTAGEVOLUMEREQUEST = _descriptor.Descriptor( + name='NodeUnstageVolumeRequest', + full_name='csi.v1.NodeUnstageVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.NodeUnstageVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='staging_target_path', full_name='csi.v1.NodeUnstageVolumeRequest.staging_target_path', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8255, + serialized_end=8329, +) + + +_NODEUNSTAGEVOLUMERESPONSE = _descriptor.Descriptor( + name='NodeUnstageVolumeResponse', + full_name='csi.v1.NodeUnstageVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8331, + serialized_end=8358, +) + + +_NODEPUBLISHVOLUMEREQUEST_PUBLISHCONTEXTENTRY = _descriptor.Descriptor( + name='PublishContextEntry', + full_name='csi.v1.NodePublishVolumeRequest.PublishContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.NodePublishVolumeRequest.PublishContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.NodePublishVolumeRequest.PublishContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3459, + serialized_end=3512, +) + +_NODEPUBLISHVOLUMEREQUEST_SECRETSENTRY = _descriptor.Descriptor( + name='SecretsEntry', + full_name='csi.v1.NodePublishVolumeRequest.SecretsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.NodePublishVolumeRequest.SecretsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.NodePublishVolumeRequest.SecretsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1426, +) + +_NODEPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY = _descriptor.Descriptor( + name='VolumeContextEntry', + full_name='csi.v1.NodePublishVolumeRequest.VolumeContextEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='csi.v1.NodePublishVolumeRequest.VolumeContextEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='csi.v1.NodePublishVolumeRequest.VolumeContextEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2494, + serialized_end=2546, +) + +_NODEPUBLISHVOLUMEREQUEST = _descriptor.Descriptor( + name='NodePublishVolumeRequest', + full_name='csi.v1.NodePublishVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.NodePublishVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='publish_context', full_name='csi.v1.NodePublishVolumeRequest.publish_context', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='staging_target_path', full_name='csi.v1.NodePublishVolumeRequest.staging_target_path', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='target_path', full_name='csi.v1.NodePublishVolumeRequest.target_path', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capability', full_name='csi.v1.NodePublishVolumeRequest.volume_capability', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='readonly', full_name='csi.v1.NodePublishVolumeRequest.readonly', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secrets', full_name='csi.v1.NodePublishVolumeRequest.secrets', index=6, + number=7, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\230B\001', file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_context', full_name='csi.v1.NodePublishVolumeRequest.volume_context', index=7, + number=8, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_NODEPUBLISHVOLUMEREQUEST_PUBLISHCONTEXTENTRY, _NODEPUBLISHVOLUMEREQUEST_SECRETSENTRY, _NODEPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8361, + serialized_end=8909, +) + + +_NODEPUBLISHVOLUMERESPONSE = _descriptor.Descriptor( + name='NodePublishVolumeResponse', + full_name='csi.v1.NodePublishVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8911, + serialized_end=8938, +) + + +_NODEUNPUBLISHVOLUMEREQUEST = _descriptor.Descriptor( + name='NodeUnpublishVolumeRequest', + full_name='csi.v1.NodeUnpublishVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.NodeUnpublishVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='target_path', full_name='csi.v1.NodeUnpublishVolumeRequest.target_path', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8940, + serialized_end=9008, +) + + +_NODEUNPUBLISHVOLUMERESPONSE = _descriptor.Descriptor( + name='NodeUnpublishVolumeResponse', + full_name='csi.v1.NodeUnpublishVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9010, + serialized_end=9039, +) + + +_NODEGETVOLUMESTATSREQUEST = _descriptor.Descriptor( + name='NodeGetVolumeStatsRequest', + full_name='csi.v1.NodeGetVolumeStatsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.NodeGetVolumeStatsRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_path', full_name='csi.v1.NodeGetVolumeStatsRequest.volume_path', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='staging_target_path', full_name='csi.v1.NodeGetVolumeStatsRequest.staging_target_path', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9041, + serialized_end=9137, +) + + +_NODEGETVOLUMESTATSRESPONSE = _descriptor.Descriptor( + name='NodeGetVolumeStatsResponse', + full_name='csi.v1.NodeGetVolumeStatsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='usage', full_name='csi.v1.NodeGetVolumeStatsResponse.usage', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_condition', full_name='csi.v1.NodeGetVolumeStatsResponse.volume_condition', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=b'\240B\001', file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9139, + serialized_end=9259, +) + + +_VOLUMEUSAGE = _descriptor.Descriptor( + name='VolumeUsage', + full_name='csi.v1.VolumeUsage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='available', full_name='csi.v1.VolumeUsage.available', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='total', full_name='csi.v1.VolumeUsage.total', index=1, + number=2, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='used', full_name='csi.v1.VolumeUsage.used', index=2, + number=3, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unit', full_name='csi.v1.VolumeUsage.unit', index=3, + number=4, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _VOLUMEUSAGE_UNIT, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9262, + serialized_end=9407, +) + + +_VOLUMECONDITION = _descriptor.Descriptor( + name='VolumeCondition', + full_name='csi.v1.VolumeCondition', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='abnormal', full_name='csi.v1.VolumeCondition.abnormal', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='message', full_name='csi.v1.VolumeCondition.message', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'\240B\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9409, + serialized_end=9466, +) + + +_NODEGETCAPABILITIESREQUEST = _descriptor.Descriptor( + name='NodeGetCapabilitiesRequest', + full_name='csi.v1.NodeGetCapabilitiesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9468, + serialized_end=9496, +) + + +_NODEGETCAPABILITIESRESPONSE = _descriptor.Descriptor( + name='NodeGetCapabilitiesResponse', + full_name='csi.v1.NodeGetCapabilitiesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='capabilities', full_name='csi.v1.NodeGetCapabilitiesResponse.capabilities', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9498, + serialized_end=9580, +) + + +_NODESERVICECAPABILITY_RPC = _descriptor.Descriptor( + name='RPC', + full_name='csi.v1.NodeServiceCapability.RPC', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='csi.v1.NodeServiceCapability.RPC.type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _NODESERVICECAPABILITY_RPC_TYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9659, + serialized_end=9833, +) + +_NODESERVICECAPABILITY = _descriptor.Descriptor( + name='NodeServiceCapability', + full_name='csi.v1.NodeServiceCapability', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='rpc', full_name='csi.v1.NodeServiceCapability.rpc', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_NODESERVICECAPABILITY_RPC, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='type', full_name='csi.v1.NodeServiceCapability.type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=9583, + serialized_end=9841, +) + + +_NODEGETINFOREQUEST = _descriptor.Descriptor( + name='NodeGetInfoRequest', + full_name='csi.v1.NodeGetInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9843, + serialized_end=9863, +) + + +_NODEGETINFORESPONSE = _descriptor.Descriptor( + name='NodeGetInfoResponse', + full_name='csi.v1.NodeGetInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='node_id', full_name='csi.v1.NodeGetInfoResponse.node_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='max_volumes_per_node', full_name='csi.v1.NodeGetInfoResponse.max_volumes_per_node', index=1, + number=2, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='accessible_topology', full_name='csi.v1.NodeGetInfoResponse.accessible_topology', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9865, + serialized_end=9980, +) + + +_NODEEXPANDVOLUMEREQUEST = _descriptor.Descriptor( + name='NodeExpandVolumeRequest', + full_name='csi.v1.NodeExpandVolumeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='volume_id', full_name='csi.v1.NodeExpandVolumeRequest.volume_id', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_path', full_name='csi.v1.NodeExpandVolumeRequest.volume_path', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='capacity_range', full_name='csi.v1.NodeExpandVolumeRequest.capacity_range', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='staging_target_path', full_name='csi.v1.NodeExpandVolumeRequest.staging_target_path', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='volume_capability', full_name='csi.v1.NodeExpandVolumeRequest.volume_capability', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9983, + serialized_end=10177, +) + + +_NODEEXPANDVOLUMERESPONSE = _descriptor.Descriptor( + name='NodeExpandVolumeResponse', + full_name='csi.v1.NodeExpandVolumeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='capacity_bytes', full_name='csi.v1.NodeExpandVolumeResponse.capacity_bytes', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10179, + serialized_end=10229, +) + +_GETPLUGININFORESPONSE_MANIFESTENTRY.containing_type = _GETPLUGININFORESPONSE +_GETPLUGININFORESPONSE.fields_by_name['manifest'].message_type = _GETPLUGININFORESPONSE_MANIFESTENTRY +_GETPLUGINCAPABILITIESRESPONSE.fields_by_name['capabilities'].message_type = _PLUGINCAPABILITY +_PLUGINCAPABILITY_SERVICE.fields_by_name['type'].enum_type = _PLUGINCAPABILITY_SERVICE_TYPE +_PLUGINCAPABILITY_SERVICE.containing_type = _PLUGINCAPABILITY +_PLUGINCAPABILITY_SERVICE_TYPE.containing_type = _PLUGINCAPABILITY_SERVICE +_PLUGINCAPABILITY_VOLUMEEXPANSION.fields_by_name['type'].enum_type = _PLUGINCAPABILITY_VOLUMEEXPANSION_TYPE +_PLUGINCAPABILITY_VOLUMEEXPANSION.containing_type = _PLUGINCAPABILITY +_PLUGINCAPABILITY_VOLUMEEXPANSION_TYPE.containing_type = _PLUGINCAPABILITY_VOLUMEEXPANSION +_PLUGINCAPABILITY.fields_by_name['service'].message_type = _PLUGINCAPABILITY_SERVICE +_PLUGINCAPABILITY.fields_by_name['volume_expansion'].message_type = _PLUGINCAPABILITY_VOLUMEEXPANSION +_PLUGINCAPABILITY.oneofs_by_name['type'].fields.append( + _PLUGINCAPABILITY.fields_by_name['service']) +_PLUGINCAPABILITY.fields_by_name['service'].containing_oneof = _PLUGINCAPABILITY.oneofs_by_name['type'] +_PLUGINCAPABILITY.oneofs_by_name['type'].fields.append( + _PLUGINCAPABILITY.fields_by_name['volume_expansion']) +_PLUGINCAPABILITY.fields_by_name['volume_expansion'].containing_oneof = _PLUGINCAPABILITY.oneofs_by_name['type'] +_PROBERESPONSE.fields_by_name['ready'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE +_CREATEVOLUMEREQUEST_PARAMETERSENTRY.containing_type = _CREATEVOLUMEREQUEST +_CREATEVOLUMEREQUEST_SECRETSENTRY.containing_type = _CREATEVOLUMEREQUEST +_CREATEVOLUMEREQUEST.fields_by_name['capacity_range'].message_type = _CAPACITYRANGE +_CREATEVOLUMEREQUEST.fields_by_name['volume_capabilities'].message_type = _VOLUMECAPABILITY +_CREATEVOLUMEREQUEST.fields_by_name['parameters'].message_type = _CREATEVOLUMEREQUEST_PARAMETERSENTRY +_CREATEVOLUMEREQUEST.fields_by_name['secrets'].message_type = _CREATEVOLUMEREQUEST_SECRETSENTRY +_CREATEVOLUMEREQUEST.fields_by_name['volume_content_source'].message_type = _VOLUMECONTENTSOURCE +_CREATEVOLUMEREQUEST.fields_by_name['accessibility_requirements'].message_type = _TOPOLOGYREQUIREMENT +_VOLUMECONTENTSOURCE_SNAPSHOTSOURCE.containing_type = _VOLUMECONTENTSOURCE +_VOLUMECONTENTSOURCE_VOLUMESOURCE.containing_type = _VOLUMECONTENTSOURCE +_VOLUMECONTENTSOURCE.fields_by_name['snapshot'].message_type = _VOLUMECONTENTSOURCE_SNAPSHOTSOURCE +_VOLUMECONTENTSOURCE.fields_by_name['volume'].message_type = _VOLUMECONTENTSOURCE_VOLUMESOURCE +_VOLUMECONTENTSOURCE.oneofs_by_name['type'].fields.append( + _VOLUMECONTENTSOURCE.fields_by_name['snapshot']) +_VOLUMECONTENTSOURCE.fields_by_name['snapshot'].containing_oneof = _VOLUMECONTENTSOURCE.oneofs_by_name['type'] +_VOLUMECONTENTSOURCE.oneofs_by_name['type'].fields.append( + _VOLUMECONTENTSOURCE.fields_by_name['volume']) +_VOLUMECONTENTSOURCE.fields_by_name['volume'].containing_oneof = _VOLUMECONTENTSOURCE.oneofs_by_name['type'] +_CREATEVOLUMERESPONSE.fields_by_name['volume'].message_type = _VOLUME +_VOLUMECAPABILITY_BLOCKVOLUME.containing_type = _VOLUMECAPABILITY +_VOLUMECAPABILITY_MOUNTVOLUME.containing_type = _VOLUMECAPABILITY +_VOLUMECAPABILITY_ACCESSMODE.fields_by_name['mode'].enum_type = _VOLUMECAPABILITY_ACCESSMODE_MODE +_VOLUMECAPABILITY_ACCESSMODE.containing_type = _VOLUMECAPABILITY +_VOLUMECAPABILITY_ACCESSMODE_MODE.containing_type = _VOLUMECAPABILITY_ACCESSMODE +_VOLUMECAPABILITY.fields_by_name['block'].message_type = _VOLUMECAPABILITY_BLOCKVOLUME +_VOLUMECAPABILITY.fields_by_name['mount'].message_type = _VOLUMECAPABILITY_MOUNTVOLUME +_VOLUMECAPABILITY.fields_by_name['access_mode'].message_type = _VOLUMECAPABILITY_ACCESSMODE +_VOLUMECAPABILITY.oneofs_by_name['access_type'].fields.append( + _VOLUMECAPABILITY.fields_by_name['block']) +_VOLUMECAPABILITY.fields_by_name['block'].containing_oneof = _VOLUMECAPABILITY.oneofs_by_name['access_type'] +_VOLUMECAPABILITY.oneofs_by_name['access_type'].fields.append( + _VOLUMECAPABILITY.fields_by_name['mount']) +_VOLUMECAPABILITY.fields_by_name['mount'].containing_oneof = _VOLUMECAPABILITY.oneofs_by_name['access_type'] +_VOLUME_VOLUMECONTEXTENTRY.containing_type = _VOLUME +_VOLUME.fields_by_name['volume_context'].message_type = _VOLUME_VOLUMECONTEXTENTRY +_VOLUME.fields_by_name['content_source'].message_type = _VOLUMECONTENTSOURCE +_VOLUME.fields_by_name['accessible_topology'].message_type = _TOPOLOGY +_TOPOLOGYREQUIREMENT.fields_by_name['requisite'].message_type = _TOPOLOGY +_TOPOLOGYREQUIREMENT.fields_by_name['preferred'].message_type = _TOPOLOGY +_TOPOLOGY_SEGMENTSENTRY.containing_type = _TOPOLOGY +_TOPOLOGY.fields_by_name['segments'].message_type = _TOPOLOGY_SEGMENTSENTRY +_DELETEVOLUMEREQUEST_SECRETSENTRY.containing_type = _DELETEVOLUMEREQUEST +_DELETEVOLUMEREQUEST.fields_by_name['secrets'].message_type = _DELETEVOLUMEREQUEST_SECRETSENTRY +_CONTROLLERPUBLISHVOLUMEREQUEST_SECRETSENTRY.containing_type = _CONTROLLERPUBLISHVOLUMEREQUEST +_CONTROLLERPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY.containing_type = _CONTROLLERPUBLISHVOLUMEREQUEST +_CONTROLLERPUBLISHVOLUMEREQUEST.fields_by_name['volume_capability'].message_type = _VOLUMECAPABILITY +_CONTROLLERPUBLISHVOLUMEREQUEST.fields_by_name['secrets'].message_type = _CONTROLLERPUBLISHVOLUMEREQUEST_SECRETSENTRY +_CONTROLLERPUBLISHVOLUMEREQUEST.fields_by_name['volume_context'].message_type = _CONTROLLERPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY +_CONTROLLERPUBLISHVOLUMERESPONSE_PUBLISHCONTEXTENTRY.containing_type = _CONTROLLERPUBLISHVOLUMERESPONSE +_CONTROLLERPUBLISHVOLUMERESPONSE.fields_by_name['publish_context'].message_type = _CONTROLLERPUBLISHVOLUMERESPONSE_PUBLISHCONTEXTENTRY +_CONTROLLERUNPUBLISHVOLUMEREQUEST_SECRETSENTRY.containing_type = _CONTROLLERUNPUBLISHVOLUMEREQUEST +_CONTROLLERUNPUBLISHVOLUMEREQUEST.fields_by_name['secrets'].message_type = _CONTROLLERUNPUBLISHVOLUMEREQUEST_SECRETSENTRY +_VALIDATEVOLUMECAPABILITIESREQUEST_VOLUMECONTEXTENTRY.containing_type = _VALIDATEVOLUMECAPABILITIESREQUEST +_VALIDATEVOLUMECAPABILITIESREQUEST_PARAMETERSENTRY.containing_type = _VALIDATEVOLUMECAPABILITIESREQUEST +_VALIDATEVOLUMECAPABILITIESREQUEST_SECRETSENTRY.containing_type = _VALIDATEVOLUMECAPABILITIESREQUEST +_VALIDATEVOLUMECAPABILITIESREQUEST.fields_by_name['volume_context'].message_type = _VALIDATEVOLUMECAPABILITIESREQUEST_VOLUMECONTEXTENTRY +_VALIDATEVOLUMECAPABILITIESREQUEST.fields_by_name['volume_capabilities'].message_type = _VOLUMECAPABILITY +_VALIDATEVOLUMECAPABILITIESREQUEST.fields_by_name['parameters'].message_type = _VALIDATEVOLUMECAPABILITIESREQUEST_PARAMETERSENTRY +_VALIDATEVOLUMECAPABILITIESREQUEST.fields_by_name['secrets'].message_type = _VALIDATEVOLUMECAPABILITIESREQUEST_SECRETSENTRY +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_VOLUMECONTEXTENTRY.containing_type = _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_PARAMETERSENTRY.containing_type = _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED.fields_by_name['volume_context'].message_type = _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_VOLUMECONTEXTENTRY +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED.fields_by_name['volume_capabilities'].message_type = _VOLUMECAPABILITY +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED.fields_by_name['parameters'].message_type = _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_PARAMETERSENTRY +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED.containing_type = _VALIDATEVOLUMECAPABILITIESRESPONSE +_VALIDATEVOLUMECAPABILITIESRESPONSE.fields_by_name['confirmed'].message_type = _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED +_LISTVOLUMESRESPONSE_VOLUMESTATUS.fields_by_name['volume_condition'].message_type = _VOLUMECONDITION +_LISTVOLUMESRESPONSE_VOLUMESTATUS.containing_type = _LISTVOLUMESRESPONSE +_LISTVOLUMESRESPONSE_ENTRY.fields_by_name['volume'].message_type = _VOLUME +_LISTVOLUMESRESPONSE_ENTRY.fields_by_name['status'].message_type = _LISTVOLUMESRESPONSE_VOLUMESTATUS +_LISTVOLUMESRESPONSE_ENTRY.containing_type = _LISTVOLUMESRESPONSE +_LISTVOLUMESRESPONSE.fields_by_name['entries'].message_type = _LISTVOLUMESRESPONSE_ENTRY +_CONTROLLERGETVOLUMERESPONSE_VOLUMESTATUS.fields_by_name['volume_condition'].message_type = _VOLUMECONDITION +_CONTROLLERGETVOLUMERESPONSE_VOLUMESTATUS.containing_type = _CONTROLLERGETVOLUMERESPONSE +_CONTROLLERGETVOLUMERESPONSE.fields_by_name['volume'].message_type = _VOLUME +_CONTROLLERGETVOLUMERESPONSE.fields_by_name['status'].message_type = _CONTROLLERGETVOLUMERESPONSE_VOLUMESTATUS +_GETCAPACITYREQUEST_PARAMETERSENTRY.containing_type = _GETCAPACITYREQUEST +_GETCAPACITYREQUEST.fields_by_name['volume_capabilities'].message_type = _VOLUMECAPABILITY +_GETCAPACITYREQUEST.fields_by_name['parameters'].message_type = _GETCAPACITYREQUEST_PARAMETERSENTRY +_GETCAPACITYREQUEST.fields_by_name['accessible_topology'].message_type = _TOPOLOGY +_CONTROLLERGETCAPABILITIESRESPONSE.fields_by_name['capabilities'].message_type = _CONTROLLERSERVICECAPABILITY +_CONTROLLERSERVICECAPABILITY_RPC.fields_by_name['type'].enum_type = _CONTROLLERSERVICECAPABILITY_RPC_TYPE +_CONTROLLERSERVICECAPABILITY_RPC.containing_type = _CONTROLLERSERVICECAPABILITY +_CONTROLLERSERVICECAPABILITY_RPC_TYPE.containing_type = _CONTROLLERSERVICECAPABILITY_RPC +_CONTROLLERSERVICECAPABILITY.fields_by_name['rpc'].message_type = _CONTROLLERSERVICECAPABILITY_RPC +_CONTROLLERSERVICECAPABILITY.oneofs_by_name['type'].fields.append( + _CONTROLLERSERVICECAPABILITY.fields_by_name['rpc']) +_CONTROLLERSERVICECAPABILITY.fields_by_name['rpc'].containing_oneof = _CONTROLLERSERVICECAPABILITY.oneofs_by_name['type'] +_CREATESNAPSHOTREQUEST_SECRETSENTRY.containing_type = _CREATESNAPSHOTREQUEST +_CREATESNAPSHOTREQUEST_PARAMETERSENTRY.containing_type = _CREATESNAPSHOTREQUEST +_CREATESNAPSHOTREQUEST.fields_by_name['secrets'].message_type = _CREATESNAPSHOTREQUEST_SECRETSENTRY +_CREATESNAPSHOTREQUEST.fields_by_name['parameters'].message_type = _CREATESNAPSHOTREQUEST_PARAMETERSENTRY +_CREATESNAPSHOTRESPONSE.fields_by_name['snapshot'].message_type = _SNAPSHOT +_SNAPSHOT.fields_by_name['creation_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_DELETESNAPSHOTREQUEST_SECRETSENTRY.containing_type = _DELETESNAPSHOTREQUEST +_DELETESNAPSHOTREQUEST.fields_by_name['secrets'].message_type = _DELETESNAPSHOTREQUEST_SECRETSENTRY +_LISTSNAPSHOTSREQUEST_SECRETSENTRY.containing_type = _LISTSNAPSHOTSREQUEST +_LISTSNAPSHOTSREQUEST.fields_by_name['secrets'].message_type = _LISTSNAPSHOTSREQUEST_SECRETSENTRY +_LISTSNAPSHOTSRESPONSE_ENTRY.fields_by_name['snapshot'].message_type = _SNAPSHOT +_LISTSNAPSHOTSRESPONSE_ENTRY.containing_type = _LISTSNAPSHOTSRESPONSE +_LISTSNAPSHOTSRESPONSE.fields_by_name['entries'].message_type = _LISTSNAPSHOTSRESPONSE_ENTRY +_CONTROLLEREXPANDVOLUMEREQUEST_SECRETSENTRY.containing_type = _CONTROLLEREXPANDVOLUMEREQUEST +_CONTROLLEREXPANDVOLUMEREQUEST.fields_by_name['capacity_range'].message_type = _CAPACITYRANGE +_CONTROLLEREXPANDVOLUMEREQUEST.fields_by_name['secrets'].message_type = _CONTROLLEREXPANDVOLUMEREQUEST_SECRETSENTRY +_CONTROLLEREXPANDVOLUMEREQUEST.fields_by_name['volume_capability'].message_type = _VOLUMECAPABILITY +_NODESTAGEVOLUMEREQUEST_PUBLISHCONTEXTENTRY.containing_type = _NODESTAGEVOLUMEREQUEST +_NODESTAGEVOLUMEREQUEST_SECRETSENTRY.containing_type = _NODESTAGEVOLUMEREQUEST +_NODESTAGEVOLUMEREQUEST_VOLUMECONTEXTENTRY.containing_type = _NODESTAGEVOLUMEREQUEST +_NODESTAGEVOLUMEREQUEST.fields_by_name['publish_context'].message_type = _NODESTAGEVOLUMEREQUEST_PUBLISHCONTEXTENTRY +_NODESTAGEVOLUMEREQUEST.fields_by_name['volume_capability'].message_type = _VOLUMECAPABILITY +_NODESTAGEVOLUMEREQUEST.fields_by_name['secrets'].message_type = _NODESTAGEVOLUMEREQUEST_SECRETSENTRY +_NODESTAGEVOLUMEREQUEST.fields_by_name['volume_context'].message_type = _NODESTAGEVOLUMEREQUEST_VOLUMECONTEXTENTRY +_NODEPUBLISHVOLUMEREQUEST_PUBLISHCONTEXTENTRY.containing_type = _NODEPUBLISHVOLUMEREQUEST +_NODEPUBLISHVOLUMEREQUEST_SECRETSENTRY.containing_type = _NODEPUBLISHVOLUMEREQUEST +_NODEPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY.containing_type = _NODEPUBLISHVOLUMEREQUEST +_NODEPUBLISHVOLUMEREQUEST.fields_by_name['publish_context'].message_type = _NODEPUBLISHVOLUMEREQUEST_PUBLISHCONTEXTENTRY +_NODEPUBLISHVOLUMEREQUEST.fields_by_name['volume_capability'].message_type = _VOLUMECAPABILITY +_NODEPUBLISHVOLUMEREQUEST.fields_by_name['secrets'].message_type = _NODEPUBLISHVOLUMEREQUEST_SECRETSENTRY +_NODEPUBLISHVOLUMEREQUEST.fields_by_name['volume_context'].message_type = _NODEPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY +_NODEGETVOLUMESTATSRESPONSE.fields_by_name['usage'].message_type = _VOLUMEUSAGE +_NODEGETVOLUMESTATSRESPONSE.fields_by_name['volume_condition'].message_type = _VOLUMECONDITION +_VOLUMEUSAGE.fields_by_name['unit'].enum_type = _VOLUMEUSAGE_UNIT +_VOLUMEUSAGE_UNIT.containing_type = _VOLUMEUSAGE +_NODEGETCAPABILITIESRESPONSE.fields_by_name['capabilities'].message_type = _NODESERVICECAPABILITY +_NODESERVICECAPABILITY_RPC.fields_by_name['type'].enum_type = _NODESERVICECAPABILITY_RPC_TYPE +_NODESERVICECAPABILITY_RPC.containing_type = _NODESERVICECAPABILITY +_NODESERVICECAPABILITY_RPC_TYPE.containing_type = _NODESERVICECAPABILITY_RPC +_NODESERVICECAPABILITY.fields_by_name['rpc'].message_type = _NODESERVICECAPABILITY_RPC +_NODESERVICECAPABILITY.oneofs_by_name['type'].fields.append( + _NODESERVICECAPABILITY.fields_by_name['rpc']) +_NODESERVICECAPABILITY.fields_by_name['rpc'].containing_oneof = _NODESERVICECAPABILITY.oneofs_by_name['type'] +_NODEGETINFORESPONSE.fields_by_name['accessible_topology'].message_type = _TOPOLOGY +_NODEEXPANDVOLUMEREQUEST.fields_by_name['capacity_range'].message_type = _CAPACITYRANGE +_NODEEXPANDVOLUMEREQUEST.fields_by_name['volume_capability'].message_type = _VOLUMECAPABILITY +DESCRIPTOR.message_types_by_name['GetPluginInfoRequest'] = _GETPLUGININFOREQUEST +DESCRIPTOR.message_types_by_name['GetPluginInfoResponse'] = _GETPLUGININFORESPONSE +DESCRIPTOR.message_types_by_name['GetPluginCapabilitiesRequest'] = _GETPLUGINCAPABILITIESREQUEST +DESCRIPTOR.message_types_by_name['GetPluginCapabilitiesResponse'] = _GETPLUGINCAPABILITIESRESPONSE +DESCRIPTOR.message_types_by_name['PluginCapability'] = _PLUGINCAPABILITY +DESCRIPTOR.message_types_by_name['ProbeRequest'] = _PROBEREQUEST +DESCRIPTOR.message_types_by_name['ProbeResponse'] = _PROBERESPONSE +DESCRIPTOR.message_types_by_name['CreateVolumeRequest'] = _CREATEVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['VolumeContentSource'] = _VOLUMECONTENTSOURCE +DESCRIPTOR.message_types_by_name['CreateVolumeResponse'] = _CREATEVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['VolumeCapability'] = _VOLUMECAPABILITY +DESCRIPTOR.message_types_by_name['CapacityRange'] = _CAPACITYRANGE +DESCRIPTOR.message_types_by_name['Volume'] = _VOLUME +DESCRIPTOR.message_types_by_name['TopologyRequirement'] = _TOPOLOGYREQUIREMENT +DESCRIPTOR.message_types_by_name['Topology'] = _TOPOLOGY +DESCRIPTOR.message_types_by_name['DeleteVolumeRequest'] = _DELETEVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['DeleteVolumeResponse'] = _DELETEVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['ControllerPublishVolumeRequest'] = _CONTROLLERPUBLISHVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['ControllerPublishVolumeResponse'] = _CONTROLLERPUBLISHVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['ControllerUnpublishVolumeRequest'] = _CONTROLLERUNPUBLISHVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['ControllerUnpublishVolumeResponse'] = _CONTROLLERUNPUBLISHVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['ValidateVolumeCapabilitiesRequest'] = _VALIDATEVOLUMECAPABILITIESREQUEST +DESCRIPTOR.message_types_by_name['ValidateVolumeCapabilitiesResponse'] = _VALIDATEVOLUMECAPABILITIESRESPONSE +DESCRIPTOR.message_types_by_name['ListVolumesRequest'] = _LISTVOLUMESREQUEST +DESCRIPTOR.message_types_by_name['ListVolumesResponse'] = _LISTVOLUMESRESPONSE +DESCRIPTOR.message_types_by_name['ControllerGetVolumeRequest'] = _CONTROLLERGETVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['ControllerGetVolumeResponse'] = _CONTROLLERGETVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['GetCapacityRequest'] = _GETCAPACITYREQUEST +DESCRIPTOR.message_types_by_name['GetCapacityResponse'] = _GETCAPACITYRESPONSE +DESCRIPTOR.message_types_by_name['ControllerGetCapabilitiesRequest'] = _CONTROLLERGETCAPABILITIESREQUEST +DESCRIPTOR.message_types_by_name['ControllerGetCapabilitiesResponse'] = _CONTROLLERGETCAPABILITIESRESPONSE +DESCRIPTOR.message_types_by_name['ControllerServiceCapability'] = _CONTROLLERSERVICECAPABILITY +DESCRIPTOR.message_types_by_name['CreateSnapshotRequest'] = _CREATESNAPSHOTREQUEST +DESCRIPTOR.message_types_by_name['CreateSnapshotResponse'] = _CREATESNAPSHOTRESPONSE +DESCRIPTOR.message_types_by_name['Snapshot'] = _SNAPSHOT +DESCRIPTOR.message_types_by_name['DeleteSnapshotRequest'] = _DELETESNAPSHOTREQUEST +DESCRIPTOR.message_types_by_name['DeleteSnapshotResponse'] = _DELETESNAPSHOTRESPONSE +DESCRIPTOR.message_types_by_name['ListSnapshotsRequest'] = _LISTSNAPSHOTSREQUEST +DESCRIPTOR.message_types_by_name['ListSnapshotsResponse'] = _LISTSNAPSHOTSRESPONSE +DESCRIPTOR.message_types_by_name['ControllerExpandVolumeRequest'] = _CONTROLLEREXPANDVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['ControllerExpandVolumeResponse'] = _CONTROLLEREXPANDVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['NodeStageVolumeRequest'] = _NODESTAGEVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['NodeStageVolumeResponse'] = _NODESTAGEVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['NodeUnstageVolumeRequest'] = _NODEUNSTAGEVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['NodeUnstageVolumeResponse'] = _NODEUNSTAGEVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['NodePublishVolumeRequest'] = _NODEPUBLISHVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['NodePublishVolumeResponse'] = _NODEPUBLISHVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['NodeUnpublishVolumeRequest'] = _NODEUNPUBLISHVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['NodeUnpublishVolumeResponse'] = _NODEUNPUBLISHVOLUMERESPONSE +DESCRIPTOR.message_types_by_name['NodeGetVolumeStatsRequest'] = _NODEGETVOLUMESTATSREQUEST +DESCRIPTOR.message_types_by_name['NodeGetVolumeStatsResponse'] = _NODEGETVOLUMESTATSRESPONSE +DESCRIPTOR.message_types_by_name['VolumeUsage'] = _VOLUMEUSAGE +DESCRIPTOR.message_types_by_name['VolumeCondition'] = _VOLUMECONDITION +DESCRIPTOR.message_types_by_name['NodeGetCapabilitiesRequest'] = _NODEGETCAPABILITIESREQUEST +DESCRIPTOR.message_types_by_name['NodeGetCapabilitiesResponse'] = _NODEGETCAPABILITIESRESPONSE +DESCRIPTOR.message_types_by_name['NodeServiceCapability'] = _NODESERVICECAPABILITY +DESCRIPTOR.message_types_by_name['NodeGetInfoRequest'] = _NODEGETINFOREQUEST +DESCRIPTOR.message_types_by_name['NodeGetInfoResponse'] = _NODEGETINFORESPONSE +DESCRIPTOR.message_types_by_name['NodeExpandVolumeRequest'] = _NODEEXPANDVOLUMEREQUEST +DESCRIPTOR.message_types_by_name['NodeExpandVolumeResponse'] = _NODEEXPANDVOLUMERESPONSE +DESCRIPTOR.extensions_by_name['alpha_enum'] = alpha_enum +DESCRIPTOR.extensions_by_name['alpha_enum_value'] = alpha_enum_value +DESCRIPTOR.extensions_by_name['csi_secret'] = csi_secret +DESCRIPTOR.extensions_by_name['alpha_field'] = alpha_field +DESCRIPTOR.extensions_by_name['alpha_message'] = alpha_message +DESCRIPTOR.extensions_by_name['alpha_method'] = alpha_method +DESCRIPTOR.extensions_by_name['alpha_service'] = alpha_service +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +GetPluginInfoRequest = _reflection.GeneratedProtocolMessageType('GetPluginInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETPLUGININFOREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetPluginInfoRequest) + }) +_sym_db.RegisterMessage(GetPluginInfoRequest) + +GetPluginInfoResponse = _reflection.GeneratedProtocolMessageType('GetPluginInfoResponse', (_message.Message,), { + + 'ManifestEntry' : _reflection.GeneratedProtocolMessageType('ManifestEntry', (_message.Message,), { + 'DESCRIPTOR' : _GETPLUGININFORESPONSE_MANIFESTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetPluginInfoResponse.ManifestEntry) + }) + , + 'DESCRIPTOR' : _GETPLUGININFORESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetPluginInfoResponse) + }) +_sym_db.RegisterMessage(GetPluginInfoResponse) +_sym_db.RegisterMessage(GetPluginInfoResponse.ManifestEntry) + +GetPluginCapabilitiesRequest = _reflection.GeneratedProtocolMessageType('GetPluginCapabilitiesRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETPLUGINCAPABILITIESREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetPluginCapabilitiesRequest) + }) +_sym_db.RegisterMessage(GetPluginCapabilitiesRequest) + +GetPluginCapabilitiesResponse = _reflection.GeneratedProtocolMessageType('GetPluginCapabilitiesResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETPLUGINCAPABILITIESRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetPluginCapabilitiesResponse) + }) +_sym_db.RegisterMessage(GetPluginCapabilitiesResponse) + +PluginCapability = _reflection.GeneratedProtocolMessageType('PluginCapability', (_message.Message,), { + + 'Service' : _reflection.GeneratedProtocolMessageType('Service', (_message.Message,), { + 'DESCRIPTOR' : _PLUGINCAPABILITY_SERVICE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.PluginCapability.Service) + }) + , + + 'VolumeExpansion' : _reflection.GeneratedProtocolMessageType('VolumeExpansion', (_message.Message,), { + 'DESCRIPTOR' : _PLUGINCAPABILITY_VOLUMEEXPANSION, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.PluginCapability.VolumeExpansion) + }) + , + 'DESCRIPTOR' : _PLUGINCAPABILITY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.PluginCapability) + }) +_sym_db.RegisterMessage(PluginCapability) +_sym_db.RegisterMessage(PluginCapability.Service) +_sym_db.RegisterMessage(PluginCapability.VolumeExpansion) + +ProbeRequest = _reflection.GeneratedProtocolMessageType('ProbeRequest', (_message.Message,), { + 'DESCRIPTOR' : _PROBEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ProbeRequest) + }) +_sym_db.RegisterMessage(ProbeRequest) + +ProbeResponse = _reflection.GeneratedProtocolMessageType('ProbeResponse', (_message.Message,), { + 'DESCRIPTOR' : _PROBERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ProbeResponse) + }) +_sym_db.RegisterMessage(ProbeResponse) + +CreateVolumeRequest = _reflection.GeneratedProtocolMessageType('CreateVolumeRequest', (_message.Message,), { + + 'ParametersEntry' : _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), { + 'DESCRIPTOR' : _CREATEVOLUMEREQUEST_PARAMETERSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateVolumeRequest.ParametersEntry) + }) + , + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _CREATEVOLUMEREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateVolumeRequest.SecretsEntry) + }) + , + 'DESCRIPTOR' : _CREATEVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateVolumeRequest) + }) +_sym_db.RegisterMessage(CreateVolumeRequest) +_sym_db.RegisterMessage(CreateVolumeRequest.ParametersEntry) +_sym_db.RegisterMessage(CreateVolumeRequest.SecretsEntry) + +VolumeContentSource = _reflection.GeneratedProtocolMessageType('VolumeContentSource', (_message.Message,), { + + 'SnapshotSource' : _reflection.GeneratedProtocolMessageType('SnapshotSource', (_message.Message,), { + 'DESCRIPTOR' : _VOLUMECONTENTSOURCE_SNAPSHOTSOURCE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeContentSource.SnapshotSource) + }) + , + + 'VolumeSource' : _reflection.GeneratedProtocolMessageType('VolumeSource', (_message.Message,), { + 'DESCRIPTOR' : _VOLUMECONTENTSOURCE_VOLUMESOURCE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeContentSource.VolumeSource) + }) + , + 'DESCRIPTOR' : _VOLUMECONTENTSOURCE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeContentSource) + }) +_sym_db.RegisterMessage(VolumeContentSource) +_sym_db.RegisterMessage(VolumeContentSource.SnapshotSource) +_sym_db.RegisterMessage(VolumeContentSource.VolumeSource) + +CreateVolumeResponse = _reflection.GeneratedProtocolMessageType('CreateVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _CREATEVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateVolumeResponse) + }) +_sym_db.RegisterMessage(CreateVolumeResponse) + +VolumeCapability = _reflection.GeneratedProtocolMessageType('VolumeCapability', (_message.Message,), { + + 'BlockVolume' : _reflection.GeneratedProtocolMessageType('BlockVolume', (_message.Message,), { + 'DESCRIPTOR' : _VOLUMECAPABILITY_BLOCKVOLUME, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeCapability.BlockVolume) + }) + , + + 'MountVolume' : _reflection.GeneratedProtocolMessageType('MountVolume', (_message.Message,), { + 'DESCRIPTOR' : _VOLUMECAPABILITY_MOUNTVOLUME, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeCapability.MountVolume) + }) + , + + 'AccessMode' : _reflection.GeneratedProtocolMessageType('AccessMode', (_message.Message,), { + 'DESCRIPTOR' : _VOLUMECAPABILITY_ACCESSMODE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeCapability.AccessMode) + }) + , + 'DESCRIPTOR' : _VOLUMECAPABILITY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeCapability) + }) +_sym_db.RegisterMessage(VolumeCapability) +_sym_db.RegisterMessage(VolumeCapability.BlockVolume) +_sym_db.RegisterMessage(VolumeCapability.MountVolume) +_sym_db.RegisterMessage(VolumeCapability.AccessMode) + +CapacityRange = _reflection.GeneratedProtocolMessageType('CapacityRange', (_message.Message,), { + 'DESCRIPTOR' : _CAPACITYRANGE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CapacityRange) + }) +_sym_db.RegisterMessage(CapacityRange) + +Volume = _reflection.GeneratedProtocolMessageType('Volume', (_message.Message,), { + + 'VolumeContextEntry' : _reflection.GeneratedProtocolMessageType('VolumeContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _VOLUME_VOLUMECONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.Volume.VolumeContextEntry) + }) + , + 'DESCRIPTOR' : _VOLUME, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.Volume) + }) +_sym_db.RegisterMessage(Volume) +_sym_db.RegisterMessage(Volume.VolumeContextEntry) + +TopologyRequirement = _reflection.GeneratedProtocolMessageType('TopologyRequirement', (_message.Message,), { + 'DESCRIPTOR' : _TOPOLOGYREQUIREMENT, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.TopologyRequirement) + }) +_sym_db.RegisterMessage(TopologyRequirement) + +Topology = _reflection.GeneratedProtocolMessageType('Topology', (_message.Message,), { + + 'SegmentsEntry' : _reflection.GeneratedProtocolMessageType('SegmentsEntry', (_message.Message,), { + 'DESCRIPTOR' : _TOPOLOGY_SEGMENTSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.Topology.SegmentsEntry) + }) + , + 'DESCRIPTOR' : _TOPOLOGY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.Topology) + }) +_sym_db.RegisterMessage(Topology) +_sym_db.RegisterMessage(Topology.SegmentsEntry) + +DeleteVolumeRequest = _reflection.GeneratedProtocolMessageType('DeleteVolumeRequest', (_message.Message,), { + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _DELETEVOLUMEREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.DeleteVolumeRequest.SecretsEntry) + }) + , + 'DESCRIPTOR' : _DELETEVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.DeleteVolumeRequest) + }) +_sym_db.RegisterMessage(DeleteVolumeRequest) +_sym_db.RegisterMessage(DeleteVolumeRequest.SecretsEntry) + +DeleteVolumeResponse = _reflection.GeneratedProtocolMessageType('DeleteVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELETEVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.DeleteVolumeResponse) + }) +_sym_db.RegisterMessage(DeleteVolumeResponse) + +ControllerPublishVolumeRequest = _reflection.GeneratedProtocolMessageType('ControllerPublishVolumeRequest', (_message.Message,), { + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERPUBLISHVOLUMEREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerPublishVolumeRequest.SecretsEntry) + }) + , + + 'VolumeContextEntry' : _reflection.GeneratedProtocolMessageType('VolumeContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerPublishVolumeRequest.VolumeContextEntry) + }) + , + 'DESCRIPTOR' : _CONTROLLERPUBLISHVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerPublishVolumeRequest) + }) +_sym_db.RegisterMessage(ControllerPublishVolumeRequest) +_sym_db.RegisterMessage(ControllerPublishVolumeRequest.SecretsEntry) +_sym_db.RegisterMessage(ControllerPublishVolumeRequest.VolumeContextEntry) + +ControllerPublishVolumeResponse = _reflection.GeneratedProtocolMessageType('ControllerPublishVolumeResponse', (_message.Message,), { + + 'PublishContextEntry' : _reflection.GeneratedProtocolMessageType('PublishContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERPUBLISHVOLUMERESPONSE_PUBLISHCONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerPublishVolumeResponse.PublishContextEntry) + }) + , + 'DESCRIPTOR' : _CONTROLLERPUBLISHVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerPublishVolumeResponse) + }) +_sym_db.RegisterMessage(ControllerPublishVolumeResponse) +_sym_db.RegisterMessage(ControllerPublishVolumeResponse.PublishContextEntry) + +ControllerUnpublishVolumeRequest = _reflection.GeneratedProtocolMessageType('ControllerUnpublishVolumeRequest', (_message.Message,), { + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERUNPUBLISHVOLUMEREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerUnpublishVolumeRequest.SecretsEntry) + }) + , + 'DESCRIPTOR' : _CONTROLLERUNPUBLISHVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerUnpublishVolumeRequest) + }) +_sym_db.RegisterMessage(ControllerUnpublishVolumeRequest) +_sym_db.RegisterMessage(ControllerUnpublishVolumeRequest.SecretsEntry) + +ControllerUnpublishVolumeResponse = _reflection.GeneratedProtocolMessageType('ControllerUnpublishVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERUNPUBLISHVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerUnpublishVolumeResponse) + }) +_sym_db.RegisterMessage(ControllerUnpublishVolumeResponse) + +ValidateVolumeCapabilitiesRequest = _reflection.GeneratedProtocolMessageType('ValidateVolumeCapabilitiesRequest', (_message.Message,), { + + 'VolumeContextEntry' : _reflection.GeneratedProtocolMessageType('VolumeContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESREQUEST_VOLUMECONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesRequest.VolumeContextEntry) + }) + , + + 'ParametersEntry' : _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), { + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESREQUEST_PARAMETERSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesRequest.ParametersEntry) + }) + , + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesRequest.SecretsEntry) + }) + , + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesRequest) + }) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesRequest) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesRequest.VolumeContextEntry) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesRequest.ParametersEntry) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesRequest.SecretsEntry) + +ValidateVolumeCapabilitiesResponse = _reflection.GeneratedProtocolMessageType('ValidateVolumeCapabilitiesResponse', (_message.Message,), { + + 'Confirmed' : _reflection.GeneratedProtocolMessageType('Confirmed', (_message.Message,), { + + 'VolumeContextEntry' : _reflection.GeneratedProtocolMessageType('VolumeContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_VOLUMECONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.VolumeContextEntry) + }) + , + + 'ParametersEntry' : _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), { + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_PARAMETERSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed.ParametersEntry) + }) + , + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesResponse.Confirmed) + }) + , + 'DESCRIPTOR' : _VALIDATEVOLUMECAPABILITIESRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ValidateVolumeCapabilitiesResponse) + }) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesResponse) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesResponse.Confirmed) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesResponse.Confirmed.VolumeContextEntry) +_sym_db.RegisterMessage(ValidateVolumeCapabilitiesResponse.Confirmed.ParametersEntry) + +ListVolumesRequest = _reflection.GeneratedProtocolMessageType('ListVolumesRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTVOLUMESREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListVolumesRequest) + }) +_sym_db.RegisterMessage(ListVolumesRequest) + +ListVolumesResponse = _reflection.GeneratedProtocolMessageType('ListVolumesResponse', (_message.Message,), { + + 'VolumeStatus' : _reflection.GeneratedProtocolMessageType('VolumeStatus', (_message.Message,), { + 'DESCRIPTOR' : _LISTVOLUMESRESPONSE_VOLUMESTATUS, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListVolumesResponse.VolumeStatus) + }) + , + + 'Entry' : _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), { + 'DESCRIPTOR' : _LISTVOLUMESRESPONSE_ENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListVolumesResponse.Entry) + }) + , + 'DESCRIPTOR' : _LISTVOLUMESRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListVolumesResponse) + }) +_sym_db.RegisterMessage(ListVolumesResponse) +_sym_db.RegisterMessage(ListVolumesResponse.VolumeStatus) +_sym_db.RegisterMessage(ListVolumesResponse.Entry) + +ControllerGetVolumeRequest = _reflection.GeneratedProtocolMessageType('ControllerGetVolumeRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERGETVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerGetVolumeRequest) + }) +_sym_db.RegisterMessage(ControllerGetVolumeRequest) + +ControllerGetVolumeResponse = _reflection.GeneratedProtocolMessageType('ControllerGetVolumeResponse', (_message.Message,), { + + 'VolumeStatus' : _reflection.GeneratedProtocolMessageType('VolumeStatus', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERGETVOLUMERESPONSE_VOLUMESTATUS, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerGetVolumeResponse.VolumeStatus) + }) + , + 'DESCRIPTOR' : _CONTROLLERGETVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerGetVolumeResponse) + }) +_sym_db.RegisterMessage(ControllerGetVolumeResponse) +_sym_db.RegisterMessage(ControllerGetVolumeResponse.VolumeStatus) + +GetCapacityRequest = _reflection.GeneratedProtocolMessageType('GetCapacityRequest', (_message.Message,), { + + 'ParametersEntry' : _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), { + 'DESCRIPTOR' : _GETCAPACITYREQUEST_PARAMETERSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetCapacityRequest.ParametersEntry) + }) + , + 'DESCRIPTOR' : _GETCAPACITYREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetCapacityRequest) + }) +_sym_db.RegisterMessage(GetCapacityRequest) +_sym_db.RegisterMessage(GetCapacityRequest.ParametersEntry) + +GetCapacityResponse = _reflection.GeneratedProtocolMessageType('GetCapacityResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETCAPACITYRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.GetCapacityResponse) + }) +_sym_db.RegisterMessage(GetCapacityResponse) + +ControllerGetCapabilitiesRequest = _reflection.GeneratedProtocolMessageType('ControllerGetCapabilitiesRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERGETCAPABILITIESREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerGetCapabilitiesRequest) + }) +_sym_db.RegisterMessage(ControllerGetCapabilitiesRequest) + +ControllerGetCapabilitiesResponse = _reflection.GeneratedProtocolMessageType('ControllerGetCapabilitiesResponse', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERGETCAPABILITIESRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerGetCapabilitiesResponse) + }) +_sym_db.RegisterMessage(ControllerGetCapabilitiesResponse) + +ControllerServiceCapability = _reflection.GeneratedProtocolMessageType('ControllerServiceCapability', (_message.Message,), { + + 'RPC' : _reflection.GeneratedProtocolMessageType('RPC', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERSERVICECAPABILITY_RPC, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerServiceCapability.RPC) + }) + , + 'DESCRIPTOR' : _CONTROLLERSERVICECAPABILITY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerServiceCapability) + }) +_sym_db.RegisterMessage(ControllerServiceCapability) +_sym_db.RegisterMessage(ControllerServiceCapability.RPC) + +CreateSnapshotRequest = _reflection.GeneratedProtocolMessageType('CreateSnapshotRequest', (_message.Message,), { + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _CREATESNAPSHOTREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateSnapshotRequest.SecretsEntry) + }) + , + + 'ParametersEntry' : _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), { + 'DESCRIPTOR' : _CREATESNAPSHOTREQUEST_PARAMETERSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateSnapshotRequest.ParametersEntry) + }) + , + 'DESCRIPTOR' : _CREATESNAPSHOTREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateSnapshotRequest) + }) +_sym_db.RegisterMessage(CreateSnapshotRequest) +_sym_db.RegisterMessage(CreateSnapshotRequest.SecretsEntry) +_sym_db.RegisterMessage(CreateSnapshotRequest.ParametersEntry) + +CreateSnapshotResponse = _reflection.GeneratedProtocolMessageType('CreateSnapshotResponse', (_message.Message,), { + 'DESCRIPTOR' : _CREATESNAPSHOTRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.CreateSnapshotResponse) + }) +_sym_db.RegisterMessage(CreateSnapshotResponse) + +Snapshot = _reflection.GeneratedProtocolMessageType('Snapshot', (_message.Message,), { + 'DESCRIPTOR' : _SNAPSHOT, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.Snapshot) + }) +_sym_db.RegisterMessage(Snapshot) + +DeleteSnapshotRequest = _reflection.GeneratedProtocolMessageType('DeleteSnapshotRequest', (_message.Message,), { + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _DELETESNAPSHOTREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.DeleteSnapshotRequest.SecretsEntry) + }) + , + 'DESCRIPTOR' : _DELETESNAPSHOTREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.DeleteSnapshotRequest) + }) +_sym_db.RegisterMessage(DeleteSnapshotRequest) +_sym_db.RegisterMessage(DeleteSnapshotRequest.SecretsEntry) + +DeleteSnapshotResponse = _reflection.GeneratedProtocolMessageType('DeleteSnapshotResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELETESNAPSHOTRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.DeleteSnapshotResponse) + }) +_sym_db.RegisterMessage(DeleteSnapshotResponse) + +ListSnapshotsRequest = _reflection.GeneratedProtocolMessageType('ListSnapshotsRequest', (_message.Message,), { + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _LISTSNAPSHOTSREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListSnapshotsRequest.SecretsEntry) + }) + , + 'DESCRIPTOR' : _LISTSNAPSHOTSREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListSnapshotsRequest) + }) +_sym_db.RegisterMessage(ListSnapshotsRequest) +_sym_db.RegisterMessage(ListSnapshotsRequest.SecretsEntry) + +ListSnapshotsResponse = _reflection.GeneratedProtocolMessageType('ListSnapshotsResponse', (_message.Message,), { + + 'Entry' : _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), { + 'DESCRIPTOR' : _LISTSNAPSHOTSRESPONSE_ENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListSnapshotsResponse.Entry) + }) + , + 'DESCRIPTOR' : _LISTSNAPSHOTSRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ListSnapshotsResponse) + }) +_sym_db.RegisterMessage(ListSnapshotsResponse) +_sym_db.RegisterMessage(ListSnapshotsResponse.Entry) + +ControllerExpandVolumeRequest = _reflection.GeneratedProtocolMessageType('ControllerExpandVolumeRequest', (_message.Message,), { + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLEREXPANDVOLUMEREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerExpandVolumeRequest.SecretsEntry) + }) + , + 'DESCRIPTOR' : _CONTROLLEREXPANDVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerExpandVolumeRequest) + }) +_sym_db.RegisterMessage(ControllerExpandVolumeRequest) +_sym_db.RegisterMessage(ControllerExpandVolumeRequest.SecretsEntry) + +ControllerExpandVolumeResponse = _reflection.GeneratedProtocolMessageType('ControllerExpandVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLEREXPANDVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.ControllerExpandVolumeResponse) + }) +_sym_db.RegisterMessage(ControllerExpandVolumeResponse) + +NodeStageVolumeRequest = _reflection.GeneratedProtocolMessageType('NodeStageVolumeRequest', (_message.Message,), { + + 'PublishContextEntry' : _reflection.GeneratedProtocolMessageType('PublishContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODESTAGEVOLUMEREQUEST_PUBLISHCONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeStageVolumeRequest.PublishContextEntry) + }) + , + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODESTAGEVOLUMEREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeStageVolumeRequest.SecretsEntry) + }) + , + + 'VolumeContextEntry' : _reflection.GeneratedProtocolMessageType('VolumeContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODESTAGEVOLUMEREQUEST_VOLUMECONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeStageVolumeRequest.VolumeContextEntry) + }) + , + 'DESCRIPTOR' : _NODESTAGEVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeStageVolumeRequest) + }) +_sym_db.RegisterMessage(NodeStageVolumeRequest) +_sym_db.RegisterMessage(NodeStageVolumeRequest.PublishContextEntry) +_sym_db.RegisterMessage(NodeStageVolumeRequest.SecretsEntry) +_sym_db.RegisterMessage(NodeStageVolumeRequest.VolumeContextEntry) + +NodeStageVolumeResponse = _reflection.GeneratedProtocolMessageType('NodeStageVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODESTAGEVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeStageVolumeResponse) + }) +_sym_db.RegisterMessage(NodeStageVolumeResponse) + +NodeUnstageVolumeRequest = _reflection.GeneratedProtocolMessageType('NodeUnstageVolumeRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEUNSTAGEVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeUnstageVolumeRequest) + }) +_sym_db.RegisterMessage(NodeUnstageVolumeRequest) + +NodeUnstageVolumeResponse = _reflection.GeneratedProtocolMessageType('NodeUnstageVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODEUNSTAGEVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeUnstageVolumeResponse) + }) +_sym_db.RegisterMessage(NodeUnstageVolumeResponse) + +NodePublishVolumeRequest = _reflection.GeneratedProtocolMessageType('NodePublishVolumeRequest', (_message.Message,), { + + 'PublishContextEntry' : _reflection.GeneratedProtocolMessageType('PublishContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODEPUBLISHVOLUMEREQUEST_PUBLISHCONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodePublishVolumeRequest.PublishContextEntry) + }) + , + + 'SecretsEntry' : _reflection.GeneratedProtocolMessageType('SecretsEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODEPUBLISHVOLUMEREQUEST_SECRETSENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodePublishVolumeRequest.SecretsEntry) + }) + , + + 'VolumeContextEntry' : _reflection.GeneratedProtocolMessageType('VolumeContextEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODEPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodePublishVolumeRequest.VolumeContextEntry) + }) + , + 'DESCRIPTOR' : _NODEPUBLISHVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodePublishVolumeRequest) + }) +_sym_db.RegisterMessage(NodePublishVolumeRequest) +_sym_db.RegisterMessage(NodePublishVolumeRequest.PublishContextEntry) +_sym_db.RegisterMessage(NodePublishVolumeRequest.SecretsEntry) +_sym_db.RegisterMessage(NodePublishVolumeRequest.VolumeContextEntry) + +NodePublishVolumeResponse = _reflection.GeneratedProtocolMessageType('NodePublishVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODEPUBLISHVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodePublishVolumeResponse) + }) +_sym_db.RegisterMessage(NodePublishVolumeResponse) + +NodeUnpublishVolumeRequest = _reflection.GeneratedProtocolMessageType('NodeUnpublishVolumeRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEUNPUBLISHVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeUnpublishVolumeRequest) + }) +_sym_db.RegisterMessage(NodeUnpublishVolumeRequest) + +NodeUnpublishVolumeResponse = _reflection.GeneratedProtocolMessageType('NodeUnpublishVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODEUNPUBLISHVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeUnpublishVolumeResponse) + }) +_sym_db.RegisterMessage(NodeUnpublishVolumeResponse) + +NodeGetVolumeStatsRequest = _reflection.GeneratedProtocolMessageType('NodeGetVolumeStatsRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEGETVOLUMESTATSREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeGetVolumeStatsRequest) + }) +_sym_db.RegisterMessage(NodeGetVolumeStatsRequest) + +NodeGetVolumeStatsResponse = _reflection.GeneratedProtocolMessageType('NodeGetVolumeStatsResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODEGETVOLUMESTATSRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeGetVolumeStatsResponse) + }) +_sym_db.RegisterMessage(NodeGetVolumeStatsResponse) + +VolumeUsage = _reflection.GeneratedProtocolMessageType('VolumeUsage', (_message.Message,), { + 'DESCRIPTOR' : _VOLUMEUSAGE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeUsage) + }) +_sym_db.RegisterMessage(VolumeUsage) + +VolumeCondition = _reflection.GeneratedProtocolMessageType('VolumeCondition', (_message.Message,), { + 'DESCRIPTOR' : _VOLUMECONDITION, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.VolumeCondition) + }) +_sym_db.RegisterMessage(VolumeCondition) + +NodeGetCapabilitiesRequest = _reflection.GeneratedProtocolMessageType('NodeGetCapabilitiesRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEGETCAPABILITIESREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeGetCapabilitiesRequest) + }) +_sym_db.RegisterMessage(NodeGetCapabilitiesRequest) + +NodeGetCapabilitiesResponse = _reflection.GeneratedProtocolMessageType('NodeGetCapabilitiesResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODEGETCAPABILITIESRESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeGetCapabilitiesResponse) + }) +_sym_db.RegisterMessage(NodeGetCapabilitiesResponse) + +NodeServiceCapability = _reflection.GeneratedProtocolMessageType('NodeServiceCapability', (_message.Message,), { + + 'RPC' : _reflection.GeneratedProtocolMessageType('RPC', (_message.Message,), { + 'DESCRIPTOR' : _NODESERVICECAPABILITY_RPC, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeServiceCapability.RPC) + }) + , + 'DESCRIPTOR' : _NODESERVICECAPABILITY, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeServiceCapability) + }) +_sym_db.RegisterMessage(NodeServiceCapability) +_sym_db.RegisterMessage(NodeServiceCapability.RPC) + +NodeGetInfoRequest = _reflection.GeneratedProtocolMessageType('NodeGetInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEGETINFOREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeGetInfoRequest) + }) +_sym_db.RegisterMessage(NodeGetInfoRequest) + +NodeGetInfoResponse = _reflection.GeneratedProtocolMessageType('NodeGetInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODEGETINFORESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeGetInfoResponse) + }) +_sym_db.RegisterMessage(NodeGetInfoResponse) + +NodeExpandVolumeRequest = _reflection.GeneratedProtocolMessageType('NodeExpandVolumeRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEEXPANDVOLUMEREQUEST, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeExpandVolumeRequest) + }) +_sym_db.RegisterMessage(NodeExpandVolumeRequest) + +NodeExpandVolumeResponse = _reflection.GeneratedProtocolMessageType('NodeExpandVolumeResponse', (_message.Message,), { + 'DESCRIPTOR' : _NODEEXPANDVOLUMERESPONSE, + '__module__' : 'csi_pb2' + # @@protoc_insertion_point(class_scope:csi.v1.NodeExpandVolumeResponse) + }) +_sym_db.RegisterMessage(NodeExpandVolumeResponse) + +google_dot_protobuf_dot_descriptor__pb2.EnumOptions.RegisterExtension(alpha_enum) +google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(alpha_enum_value) +google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(csi_secret) +google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(alpha_field) +google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(alpha_message) +google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(alpha_method) +google_dot_protobuf_dot_descriptor__pb2.ServiceOptions.RegisterExtension(alpha_service) + +DESCRIPTOR._options = None +_GETPLUGININFORESPONSE_MANIFESTENTRY._options = None +_CREATEVOLUMEREQUEST_PARAMETERSENTRY._options = None +_CREATEVOLUMEREQUEST_SECRETSENTRY._options = None +_CREATEVOLUMEREQUEST.fields_by_name['secrets']._options = None +_VOLUME_VOLUMECONTEXTENTRY._options = None +_TOPOLOGY_SEGMENTSENTRY._options = None +_DELETEVOLUMEREQUEST_SECRETSENTRY._options = None +_DELETEVOLUMEREQUEST.fields_by_name['secrets']._options = None +_CONTROLLERPUBLISHVOLUMEREQUEST_SECRETSENTRY._options = None +_CONTROLLERPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY._options = None +_CONTROLLERPUBLISHVOLUMEREQUEST.fields_by_name['secrets']._options = None +_CONTROLLERPUBLISHVOLUMERESPONSE_PUBLISHCONTEXTENTRY._options = None +_CONTROLLERUNPUBLISHVOLUMEREQUEST_SECRETSENTRY._options = None +_CONTROLLERUNPUBLISHVOLUMEREQUEST.fields_by_name['secrets']._options = None +_VALIDATEVOLUMECAPABILITIESREQUEST_VOLUMECONTEXTENTRY._options = None +_VALIDATEVOLUMECAPABILITIESREQUEST_PARAMETERSENTRY._options = None +_VALIDATEVOLUMECAPABILITIESREQUEST_SECRETSENTRY._options = None +_VALIDATEVOLUMECAPABILITIESREQUEST.fields_by_name['secrets']._options = None +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_VOLUMECONTEXTENTRY._options = None +_VALIDATEVOLUMECAPABILITIESRESPONSE_CONFIRMED_PARAMETERSENTRY._options = None +_LISTVOLUMESRESPONSE_VOLUMESTATUS.fields_by_name['volume_condition']._options = None +_CONTROLLERGETVOLUMEREQUEST._options = None +_CONTROLLERGETVOLUMERESPONSE._options = None +_GETCAPACITYREQUEST_PARAMETERSENTRY._options = None +_CONTROLLERSERVICECAPABILITY_RPC_TYPE.values_by_name["VOLUME_CONDITION"]._options = None +_CONTROLLERSERVICECAPABILITY_RPC_TYPE.values_by_name["GET_VOLUME"]._options = None +_CREATESNAPSHOTREQUEST_SECRETSENTRY._options = None +_CREATESNAPSHOTREQUEST_PARAMETERSENTRY._options = None +_CREATESNAPSHOTREQUEST.fields_by_name['secrets']._options = None +_DELETESNAPSHOTREQUEST_SECRETSENTRY._options = None +_DELETESNAPSHOTREQUEST.fields_by_name['secrets']._options = None +_LISTSNAPSHOTSREQUEST_SECRETSENTRY._options = None +_LISTSNAPSHOTSREQUEST.fields_by_name['secrets']._options = None +_CONTROLLEREXPANDVOLUMEREQUEST_SECRETSENTRY._options = None +_CONTROLLEREXPANDVOLUMEREQUEST.fields_by_name['secrets']._options = None +_NODESTAGEVOLUMEREQUEST_PUBLISHCONTEXTENTRY._options = None +_NODESTAGEVOLUMEREQUEST_SECRETSENTRY._options = None +_NODESTAGEVOLUMEREQUEST_VOLUMECONTEXTENTRY._options = None +_NODESTAGEVOLUMEREQUEST.fields_by_name['secrets']._options = None +_NODEPUBLISHVOLUMEREQUEST_PUBLISHCONTEXTENTRY._options = None +_NODEPUBLISHVOLUMEREQUEST_SECRETSENTRY._options = None +_NODEPUBLISHVOLUMEREQUEST_VOLUMECONTEXTENTRY._options = None +_NODEPUBLISHVOLUMEREQUEST.fields_by_name['secrets']._options = None +_NODEGETVOLUMESTATSRESPONSE.fields_by_name['volume_condition']._options = None +_VOLUMECONDITION._options = None +_NODESERVICECAPABILITY_RPC_TYPE.values_by_name["VOLUME_CONDITION"]._options = None + +_IDENTITY = _descriptor.ServiceDescriptor( + name='Identity', + full_name='csi.v1.Identity', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=10232, + serialized_end=10482, + methods=[ + _descriptor.MethodDescriptor( + name='GetPluginInfo', + full_name='csi.v1.Identity.GetPluginInfo', + index=0, + containing_service=None, + input_type=_GETPLUGININFOREQUEST, + output_type=_GETPLUGININFORESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='GetPluginCapabilities', + full_name='csi.v1.Identity.GetPluginCapabilities', + index=1, + containing_service=None, + input_type=_GETPLUGINCAPABILITIESREQUEST, + output_type=_GETPLUGINCAPABILITIESRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='Probe', + full_name='csi.v1.Identity.Probe', + index=2, + containing_service=None, + input_type=_PROBEREQUEST, + output_type=_PROBERESPONSE, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_IDENTITY) + +DESCRIPTOR.services_by_name['Identity'] = _IDENTITY + + +_CONTROLLER = _descriptor.ServiceDescriptor( + name='Controller', + full_name='csi.v1.Controller', + file=DESCRIPTOR, + index=1, + serialized_options=None, + serialized_start=10485, + serialized_end=11714, + methods=[ + _descriptor.MethodDescriptor( + name='CreateVolume', + full_name='csi.v1.Controller.CreateVolume', + index=0, + containing_service=None, + input_type=_CREATEVOLUMEREQUEST, + output_type=_CREATEVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='DeleteVolume', + full_name='csi.v1.Controller.DeleteVolume', + index=1, + containing_service=None, + input_type=_DELETEVOLUMEREQUEST, + output_type=_DELETEVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ControllerPublishVolume', + full_name='csi.v1.Controller.ControllerPublishVolume', + index=2, + containing_service=None, + input_type=_CONTROLLERPUBLISHVOLUMEREQUEST, + output_type=_CONTROLLERPUBLISHVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ControllerUnpublishVolume', + full_name='csi.v1.Controller.ControllerUnpublishVolume', + index=3, + containing_service=None, + input_type=_CONTROLLERUNPUBLISHVOLUMEREQUEST, + output_type=_CONTROLLERUNPUBLISHVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ValidateVolumeCapabilities', + full_name='csi.v1.Controller.ValidateVolumeCapabilities', + index=4, + containing_service=None, + input_type=_VALIDATEVOLUMECAPABILITIESREQUEST, + output_type=_VALIDATEVOLUMECAPABILITIESRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ListVolumes', + full_name='csi.v1.Controller.ListVolumes', + index=5, + containing_service=None, + input_type=_LISTVOLUMESREQUEST, + output_type=_LISTVOLUMESRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='GetCapacity', + full_name='csi.v1.Controller.GetCapacity', + index=6, + containing_service=None, + input_type=_GETCAPACITYREQUEST, + output_type=_GETCAPACITYRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ControllerGetCapabilities', + full_name='csi.v1.Controller.ControllerGetCapabilities', + index=7, + containing_service=None, + input_type=_CONTROLLERGETCAPABILITIESREQUEST, + output_type=_CONTROLLERGETCAPABILITIESRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='CreateSnapshot', + full_name='csi.v1.Controller.CreateSnapshot', + index=8, + containing_service=None, + input_type=_CREATESNAPSHOTREQUEST, + output_type=_CREATESNAPSHOTRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='DeleteSnapshot', + full_name='csi.v1.Controller.DeleteSnapshot', + index=9, + containing_service=None, + input_type=_DELETESNAPSHOTREQUEST, + output_type=_DELETESNAPSHOTRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ListSnapshots', + full_name='csi.v1.Controller.ListSnapshots', + index=10, + containing_service=None, + input_type=_LISTSNAPSHOTSREQUEST, + output_type=_LISTSNAPSHOTSRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ControllerExpandVolume', + full_name='csi.v1.Controller.ControllerExpandVolume', + index=11, + containing_service=None, + input_type=_CONTROLLEREXPANDVOLUMEREQUEST, + output_type=_CONTROLLEREXPANDVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ControllerGetVolume', + full_name='csi.v1.Controller.ControllerGetVolume', + index=12, + containing_service=None, + input_type=_CONTROLLERGETVOLUMEREQUEST, + output_type=_CONTROLLERGETVOLUMERESPONSE, + serialized_options=b'\240B\001', + ), +]) +_sym_db.RegisterServiceDescriptor(_CONTROLLER) + +DESCRIPTOR.services_by_name['Controller'] = _CONTROLLER + + +_NODE = _descriptor.ServiceDescriptor( + name='Node', + full_name='csi.v1.Node', + file=DESCRIPTOR, + index=2, + serialized_options=None, + serialized_start=11717, + serialized_end=12447, + methods=[ + _descriptor.MethodDescriptor( + name='NodeStageVolume', + full_name='csi.v1.Node.NodeStageVolume', + index=0, + containing_service=None, + input_type=_NODESTAGEVOLUMEREQUEST, + output_type=_NODESTAGEVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='NodeUnstageVolume', + full_name='csi.v1.Node.NodeUnstageVolume', + index=1, + containing_service=None, + input_type=_NODEUNSTAGEVOLUMEREQUEST, + output_type=_NODEUNSTAGEVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='NodePublishVolume', + full_name='csi.v1.Node.NodePublishVolume', + index=2, + containing_service=None, + input_type=_NODEPUBLISHVOLUMEREQUEST, + output_type=_NODEPUBLISHVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='NodeUnpublishVolume', + full_name='csi.v1.Node.NodeUnpublishVolume', + index=3, + containing_service=None, + input_type=_NODEUNPUBLISHVOLUMEREQUEST, + output_type=_NODEUNPUBLISHVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='NodeGetVolumeStats', + full_name='csi.v1.Node.NodeGetVolumeStats', + index=4, + containing_service=None, + input_type=_NODEGETVOLUMESTATSREQUEST, + output_type=_NODEGETVOLUMESTATSRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='NodeExpandVolume', + full_name='csi.v1.Node.NodeExpandVolume', + index=5, + containing_service=None, + input_type=_NODEEXPANDVOLUMEREQUEST, + output_type=_NODEEXPANDVOLUMERESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='NodeGetCapabilities', + full_name='csi.v1.Node.NodeGetCapabilities', + index=6, + containing_service=None, + input_type=_NODEGETCAPABILITIESREQUEST, + output_type=_NODEGETCAPABILITIESRESPONSE, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='NodeGetInfo', + full_name='csi.v1.Node.NodeGetInfo', + index=7, + containing_service=None, + input_type=_NODEGETINFOREQUEST, + output_type=_NODEGETINFORESPONSE, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_NODE) + +DESCRIPTOR.services_by_name['Node'] = _NODE + +# @@protoc_insertion_point(module_scope) diff --git a/csi/csi_pb2_grpc.py b/csi/csi_pb2_grpc.py new file mode 100644 index 0000000..053c5b3 --- /dev/null +++ b/csi/csi_pb2_grpc.py @@ -0,0 +1,856 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +import csi_pb2 as csi__pb2 + + +class IdentityStub(object): + """Missing associated documentation comment in .proto file""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetPluginInfo = channel.unary_unary( + '/csi.v1.Identity/GetPluginInfo', + request_serializer=csi__pb2.GetPluginInfoRequest.SerializeToString, + response_deserializer=csi__pb2.GetPluginInfoResponse.FromString, + ) + self.GetPluginCapabilities = channel.unary_unary( + '/csi.v1.Identity/GetPluginCapabilities', + request_serializer=csi__pb2.GetPluginCapabilitiesRequest.SerializeToString, + response_deserializer=csi__pb2.GetPluginCapabilitiesResponse.FromString, + ) + self.Probe = channel.unary_unary( + '/csi.v1.Identity/Probe', + request_serializer=csi__pb2.ProbeRequest.SerializeToString, + response_deserializer=csi__pb2.ProbeResponse.FromString, + ) + + +class IdentityServicer(object): + """Missing associated documentation comment in .proto file""" + + def GetPluginInfo(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetPluginCapabilities(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Probe(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_IdentityServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetPluginInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetPluginInfo, + request_deserializer=csi__pb2.GetPluginInfoRequest.FromString, + response_serializer=csi__pb2.GetPluginInfoResponse.SerializeToString, + ), + 'GetPluginCapabilities': grpc.unary_unary_rpc_method_handler( + servicer.GetPluginCapabilities, + request_deserializer=csi__pb2.GetPluginCapabilitiesRequest.FromString, + response_serializer=csi__pb2.GetPluginCapabilitiesResponse.SerializeToString, + ), + 'Probe': grpc.unary_unary_rpc_method_handler( + servicer.Probe, + request_deserializer=csi__pb2.ProbeRequest.FromString, + response_serializer=csi__pb2.ProbeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'csi.v1.Identity', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Identity(object): + """Missing associated documentation comment in .proto file""" + + @staticmethod + def GetPluginInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Identity/GetPluginInfo', + csi__pb2.GetPluginInfoRequest.SerializeToString, + csi__pb2.GetPluginInfoResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetPluginCapabilities(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Identity/GetPluginCapabilities', + csi__pb2.GetPluginCapabilitiesRequest.SerializeToString, + csi__pb2.GetPluginCapabilitiesResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Probe(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Identity/Probe', + csi__pb2.ProbeRequest.SerializeToString, + csi__pb2.ProbeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + +class ControllerStub(object): + """Missing associated documentation comment in .proto file""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateVolume = channel.unary_unary( + '/csi.v1.Controller/CreateVolume', + request_serializer=csi__pb2.CreateVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.CreateVolumeResponse.FromString, + ) + self.DeleteVolume = channel.unary_unary( + '/csi.v1.Controller/DeleteVolume', + request_serializer=csi__pb2.DeleteVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.DeleteVolumeResponse.FromString, + ) + self.ControllerPublishVolume = channel.unary_unary( + '/csi.v1.Controller/ControllerPublishVolume', + request_serializer=csi__pb2.ControllerPublishVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.ControllerPublishVolumeResponse.FromString, + ) + self.ControllerUnpublishVolume = channel.unary_unary( + '/csi.v1.Controller/ControllerUnpublishVolume', + request_serializer=csi__pb2.ControllerUnpublishVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.ControllerUnpublishVolumeResponse.FromString, + ) + self.ValidateVolumeCapabilities = channel.unary_unary( + '/csi.v1.Controller/ValidateVolumeCapabilities', + request_serializer=csi__pb2.ValidateVolumeCapabilitiesRequest.SerializeToString, + response_deserializer=csi__pb2.ValidateVolumeCapabilitiesResponse.FromString, + ) + self.ListVolumes = channel.unary_unary( + '/csi.v1.Controller/ListVolumes', + request_serializer=csi__pb2.ListVolumesRequest.SerializeToString, + response_deserializer=csi__pb2.ListVolumesResponse.FromString, + ) + self.GetCapacity = channel.unary_unary( + '/csi.v1.Controller/GetCapacity', + request_serializer=csi__pb2.GetCapacityRequest.SerializeToString, + response_deserializer=csi__pb2.GetCapacityResponse.FromString, + ) + self.ControllerGetCapabilities = channel.unary_unary( + '/csi.v1.Controller/ControllerGetCapabilities', + request_serializer=csi__pb2.ControllerGetCapabilitiesRequest.SerializeToString, + response_deserializer=csi__pb2.ControllerGetCapabilitiesResponse.FromString, + ) + self.CreateSnapshot = channel.unary_unary( + '/csi.v1.Controller/CreateSnapshot', + request_serializer=csi__pb2.CreateSnapshotRequest.SerializeToString, + response_deserializer=csi__pb2.CreateSnapshotResponse.FromString, + ) + self.DeleteSnapshot = channel.unary_unary( + '/csi.v1.Controller/DeleteSnapshot', + request_serializer=csi__pb2.DeleteSnapshotRequest.SerializeToString, + response_deserializer=csi__pb2.DeleteSnapshotResponse.FromString, + ) + self.ListSnapshots = channel.unary_unary( + '/csi.v1.Controller/ListSnapshots', + request_serializer=csi__pb2.ListSnapshotsRequest.SerializeToString, + response_deserializer=csi__pb2.ListSnapshotsResponse.FromString, + ) + self.ControllerExpandVolume = channel.unary_unary( + '/csi.v1.Controller/ControllerExpandVolume', + request_serializer=csi__pb2.ControllerExpandVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.ControllerExpandVolumeResponse.FromString, + ) + self.ControllerGetVolume = channel.unary_unary( + '/csi.v1.Controller/ControllerGetVolume', + request_serializer=csi__pb2.ControllerGetVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.ControllerGetVolumeResponse.FromString, + ) + + +class ControllerServicer(object): + """Missing associated documentation comment in .proto file""" + + def CreateVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ControllerPublishVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ControllerUnpublishVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ValidateVolumeCapabilities(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListVolumes(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCapacity(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ControllerGetCapabilities(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateSnapshot(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteSnapshot(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSnapshots(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ControllerExpandVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ControllerGetVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ControllerServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateVolume': grpc.unary_unary_rpc_method_handler( + servicer.CreateVolume, + request_deserializer=csi__pb2.CreateVolumeRequest.FromString, + response_serializer=csi__pb2.CreateVolumeResponse.SerializeToString, + ), + 'DeleteVolume': grpc.unary_unary_rpc_method_handler( + servicer.DeleteVolume, + request_deserializer=csi__pb2.DeleteVolumeRequest.FromString, + response_serializer=csi__pb2.DeleteVolumeResponse.SerializeToString, + ), + 'ControllerPublishVolume': grpc.unary_unary_rpc_method_handler( + servicer.ControllerPublishVolume, + request_deserializer=csi__pb2.ControllerPublishVolumeRequest.FromString, + response_serializer=csi__pb2.ControllerPublishVolumeResponse.SerializeToString, + ), + 'ControllerUnpublishVolume': grpc.unary_unary_rpc_method_handler( + servicer.ControllerUnpublishVolume, + request_deserializer=csi__pb2.ControllerUnpublishVolumeRequest.FromString, + response_serializer=csi__pb2.ControllerUnpublishVolumeResponse.SerializeToString, + ), + 'ValidateVolumeCapabilities': grpc.unary_unary_rpc_method_handler( + servicer.ValidateVolumeCapabilities, + request_deserializer=csi__pb2.ValidateVolumeCapabilitiesRequest.FromString, + response_serializer=csi__pb2.ValidateVolumeCapabilitiesResponse.SerializeToString, + ), + 'ListVolumes': grpc.unary_unary_rpc_method_handler( + servicer.ListVolumes, + request_deserializer=csi__pb2.ListVolumesRequest.FromString, + response_serializer=csi__pb2.ListVolumesResponse.SerializeToString, + ), + 'GetCapacity': grpc.unary_unary_rpc_method_handler( + servicer.GetCapacity, + request_deserializer=csi__pb2.GetCapacityRequest.FromString, + response_serializer=csi__pb2.GetCapacityResponse.SerializeToString, + ), + 'ControllerGetCapabilities': grpc.unary_unary_rpc_method_handler( + servicer.ControllerGetCapabilities, + request_deserializer=csi__pb2.ControllerGetCapabilitiesRequest.FromString, + response_serializer=csi__pb2.ControllerGetCapabilitiesResponse.SerializeToString, + ), + 'CreateSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.CreateSnapshot, + request_deserializer=csi__pb2.CreateSnapshotRequest.FromString, + response_serializer=csi__pb2.CreateSnapshotResponse.SerializeToString, + ), + 'DeleteSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.DeleteSnapshot, + request_deserializer=csi__pb2.DeleteSnapshotRequest.FromString, + response_serializer=csi__pb2.DeleteSnapshotResponse.SerializeToString, + ), + 'ListSnapshots': grpc.unary_unary_rpc_method_handler( + servicer.ListSnapshots, + request_deserializer=csi__pb2.ListSnapshotsRequest.FromString, + response_serializer=csi__pb2.ListSnapshotsResponse.SerializeToString, + ), + 'ControllerExpandVolume': grpc.unary_unary_rpc_method_handler( + servicer.ControllerExpandVolume, + request_deserializer=csi__pb2.ControllerExpandVolumeRequest.FromString, + response_serializer=csi__pb2.ControllerExpandVolumeResponse.SerializeToString, + ), + 'ControllerGetVolume': grpc.unary_unary_rpc_method_handler( + servicer.ControllerGetVolume, + request_deserializer=csi__pb2.ControllerGetVolumeRequest.FromString, + response_serializer=csi__pb2.ControllerGetVolumeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'csi.v1.Controller', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Controller(object): + """Missing associated documentation comment in .proto file""" + + @staticmethod + def CreateVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/CreateVolume', + csi__pb2.CreateVolumeRequest.SerializeToString, + csi__pb2.CreateVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/DeleteVolume', + csi__pb2.DeleteVolumeRequest.SerializeToString, + csi__pb2.DeleteVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ControllerPublishVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ControllerPublishVolume', + csi__pb2.ControllerPublishVolumeRequest.SerializeToString, + csi__pb2.ControllerPublishVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ControllerUnpublishVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ControllerUnpublishVolume', + csi__pb2.ControllerUnpublishVolumeRequest.SerializeToString, + csi__pb2.ControllerUnpublishVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ValidateVolumeCapabilities(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ValidateVolumeCapabilities', + csi__pb2.ValidateVolumeCapabilitiesRequest.SerializeToString, + csi__pb2.ValidateVolumeCapabilitiesResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListVolumes(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ListVolumes', + csi__pb2.ListVolumesRequest.SerializeToString, + csi__pb2.ListVolumesResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCapacity(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/GetCapacity', + csi__pb2.GetCapacityRequest.SerializeToString, + csi__pb2.GetCapacityResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ControllerGetCapabilities(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ControllerGetCapabilities', + csi__pb2.ControllerGetCapabilitiesRequest.SerializeToString, + csi__pb2.ControllerGetCapabilitiesResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateSnapshot(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/CreateSnapshot', + csi__pb2.CreateSnapshotRequest.SerializeToString, + csi__pb2.CreateSnapshotResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteSnapshot(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/DeleteSnapshot', + csi__pb2.DeleteSnapshotRequest.SerializeToString, + csi__pb2.DeleteSnapshotResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListSnapshots(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ListSnapshots', + csi__pb2.ListSnapshotsRequest.SerializeToString, + csi__pb2.ListSnapshotsResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ControllerExpandVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ControllerExpandVolume', + csi__pb2.ControllerExpandVolumeRequest.SerializeToString, + csi__pb2.ControllerExpandVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ControllerGetVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Controller/ControllerGetVolume', + csi__pb2.ControllerGetVolumeRequest.SerializeToString, + csi__pb2.ControllerGetVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + +class NodeStub(object): + """Missing associated documentation comment in .proto file""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.NodeStageVolume = channel.unary_unary( + '/csi.v1.Node/NodeStageVolume', + request_serializer=csi__pb2.NodeStageVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.NodeStageVolumeResponse.FromString, + ) + self.NodeUnstageVolume = channel.unary_unary( + '/csi.v1.Node/NodeUnstageVolume', + request_serializer=csi__pb2.NodeUnstageVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.NodeUnstageVolumeResponse.FromString, + ) + self.NodePublishVolume = channel.unary_unary( + '/csi.v1.Node/NodePublishVolume', + request_serializer=csi__pb2.NodePublishVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.NodePublishVolumeResponse.FromString, + ) + self.NodeUnpublishVolume = channel.unary_unary( + '/csi.v1.Node/NodeUnpublishVolume', + request_serializer=csi__pb2.NodeUnpublishVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.NodeUnpublishVolumeResponse.FromString, + ) + self.NodeGetVolumeStats = channel.unary_unary( + '/csi.v1.Node/NodeGetVolumeStats', + request_serializer=csi__pb2.NodeGetVolumeStatsRequest.SerializeToString, + response_deserializer=csi__pb2.NodeGetVolumeStatsResponse.FromString, + ) + self.NodeExpandVolume = channel.unary_unary( + '/csi.v1.Node/NodeExpandVolume', + request_serializer=csi__pb2.NodeExpandVolumeRequest.SerializeToString, + response_deserializer=csi__pb2.NodeExpandVolumeResponse.FromString, + ) + self.NodeGetCapabilities = channel.unary_unary( + '/csi.v1.Node/NodeGetCapabilities', + request_serializer=csi__pb2.NodeGetCapabilitiesRequest.SerializeToString, + response_deserializer=csi__pb2.NodeGetCapabilitiesResponse.FromString, + ) + self.NodeGetInfo = channel.unary_unary( + '/csi.v1.Node/NodeGetInfo', + request_serializer=csi__pb2.NodeGetInfoRequest.SerializeToString, + response_deserializer=csi__pb2.NodeGetInfoResponse.FromString, + ) + + +class NodeServicer(object): + """Missing associated documentation comment in .proto file""" + + def NodeStageVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NodeUnstageVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NodePublishVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NodeUnpublishVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NodeGetVolumeStats(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NodeExpandVolume(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NodeGetCapabilities(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NodeGetInfo(self, request, context): + """Missing associated documentation comment in .proto file""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_NodeServicer_to_server(servicer, server): + rpc_method_handlers = { + 'NodeStageVolume': grpc.unary_unary_rpc_method_handler( + servicer.NodeStageVolume, + request_deserializer=csi__pb2.NodeStageVolumeRequest.FromString, + response_serializer=csi__pb2.NodeStageVolumeResponse.SerializeToString, + ), + 'NodeUnstageVolume': grpc.unary_unary_rpc_method_handler( + servicer.NodeUnstageVolume, + request_deserializer=csi__pb2.NodeUnstageVolumeRequest.FromString, + response_serializer=csi__pb2.NodeUnstageVolumeResponse.SerializeToString, + ), + 'NodePublishVolume': grpc.unary_unary_rpc_method_handler( + servicer.NodePublishVolume, + request_deserializer=csi__pb2.NodePublishVolumeRequest.FromString, + response_serializer=csi__pb2.NodePublishVolumeResponse.SerializeToString, + ), + 'NodeUnpublishVolume': grpc.unary_unary_rpc_method_handler( + servicer.NodeUnpublishVolume, + request_deserializer=csi__pb2.NodeUnpublishVolumeRequest.FromString, + response_serializer=csi__pb2.NodeUnpublishVolumeResponse.SerializeToString, + ), + 'NodeGetVolumeStats': grpc.unary_unary_rpc_method_handler( + servicer.NodeGetVolumeStats, + request_deserializer=csi__pb2.NodeGetVolumeStatsRequest.FromString, + response_serializer=csi__pb2.NodeGetVolumeStatsResponse.SerializeToString, + ), + 'NodeExpandVolume': grpc.unary_unary_rpc_method_handler( + servicer.NodeExpandVolume, + request_deserializer=csi__pb2.NodeExpandVolumeRequest.FromString, + response_serializer=csi__pb2.NodeExpandVolumeResponse.SerializeToString, + ), + 'NodeGetCapabilities': grpc.unary_unary_rpc_method_handler( + servicer.NodeGetCapabilities, + request_deserializer=csi__pb2.NodeGetCapabilitiesRequest.FromString, + response_serializer=csi__pb2.NodeGetCapabilitiesResponse.SerializeToString, + ), + 'NodeGetInfo': grpc.unary_unary_rpc_method_handler( + servicer.NodeGetInfo, + request_deserializer=csi__pb2.NodeGetInfoRequest.FromString, + response_serializer=csi__pb2.NodeGetInfoResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'csi.v1.Node', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Node(object): + """Missing associated documentation comment in .proto file""" + + @staticmethod + def NodeStageVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodeStageVolume', + csi__pb2.NodeStageVolumeRequest.SerializeToString, + csi__pb2.NodeStageVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NodeUnstageVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodeUnstageVolume', + csi__pb2.NodeUnstageVolumeRequest.SerializeToString, + csi__pb2.NodeUnstageVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NodePublishVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodePublishVolume', + csi__pb2.NodePublishVolumeRequest.SerializeToString, + csi__pb2.NodePublishVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NodeUnpublishVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodeUnpublishVolume', + csi__pb2.NodeUnpublishVolumeRequest.SerializeToString, + csi__pb2.NodeUnpublishVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NodeGetVolumeStats(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodeGetVolumeStats', + csi__pb2.NodeGetVolumeStatsRequest.SerializeToString, + csi__pb2.NodeGetVolumeStatsResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NodeExpandVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodeExpandVolume', + csi__pb2.NodeExpandVolumeRequest.SerializeToString, + csi__pb2.NodeExpandVolumeResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NodeGetCapabilities(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodeGetCapabilities', + csi__pb2.NodeGetCapabilitiesRequest.SerializeToString, + csi__pb2.NodeGetCapabilitiesResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NodeGetInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/csi.v1.Node/NodeGetInfo', + csi__pb2.NodeGetInfoRequest.SerializeToString, + csi__pb2.NodeGetInfoResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/protos/csi.proto b/protos/csi.proto new file mode 100644 index 0000000..cf22104 --- /dev/null +++ b/protos/csi.proto @@ -0,0 +1,1502 @@ +// Code generated by make; DO NOT EDIT. +syntax = "proto3"; +package csi.v1; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "csi"; + +extend google.protobuf.EnumOptions { + // Indicates that this enum is OPTIONAL and part of an experimental + // API that may be deprecated and eventually removed between minor + // releases. + bool alpha_enum = 1060; +} +extend google.protobuf.EnumValueOptions { + // Indicates that this enum value is OPTIONAL and part of an + // experimental API that may be deprecated and eventually removed + // between minor releases. + bool alpha_enum_value = 1060; +} +extend google.protobuf.FieldOptions { + // Indicates that a field MAY contain information that is sensitive + // and MUST be treated as such (e.g. not logged). + bool csi_secret = 1059; + + // Indicates that this field is OPTIONAL and part of an experimental + // API that may be deprecated and eventually removed between minor + // releases. + bool alpha_field = 1060; +} +extend google.protobuf.MessageOptions { + // Indicates that this message is OPTIONAL and part of an experimental + // API that may be deprecated and eventually removed between minor + // releases. + bool alpha_message = 1060; +} +extend google.protobuf.MethodOptions { + // Indicates that this method is OPTIONAL and part of an experimental + // API that may be deprecated and eventually removed between minor + // releases. + bool alpha_method = 1060; +} +extend google.protobuf.ServiceOptions { + // Indicates that this service is OPTIONAL and part of an experimental + // API that may be deprecated and eventually removed between minor + // releases. + bool alpha_service = 1060; +} +service Identity { + rpc GetPluginInfo(GetPluginInfoRequest) + returns (GetPluginInfoResponse) {} + + rpc GetPluginCapabilities(GetPluginCapabilitiesRequest) + returns (GetPluginCapabilitiesResponse) {} + + rpc Probe (ProbeRequest) + returns (ProbeResponse) {} +} + +service Controller { + rpc CreateVolume (CreateVolumeRequest) + returns (CreateVolumeResponse) {} + + rpc DeleteVolume (DeleteVolumeRequest) + returns (DeleteVolumeResponse) {} + + rpc ControllerPublishVolume (ControllerPublishVolumeRequest) + returns (ControllerPublishVolumeResponse) {} + + rpc ControllerUnpublishVolume (ControllerUnpublishVolumeRequest) + returns (ControllerUnpublishVolumeResponse) {} + + rpc ValidateVolumeCapabilities (ValidateVolumeCapabilitiesRequest) + returns (ValidateVolumeCapabilitiesResponse) {} + + rpc ListVolumes (ListVolumesRequest) + returns (ListVolumesResponse) {} + + rpc GetCapacity (GetCapacityRequest) + returns (GetCapacityResponse) {} + + rpc ControllerGetCapabilities (ControllerGetCapabilitiesRequest) + returns (ControllerGetCapabilitiesResponse) {} + + rpc CreateSnapshot (CreateSnapshotRequest) + returns (CreateSnapshotResponse) {} + + rpc DeleteSnapshot (DeleteSnapshotRequest) + returns (DeleteSnapshotResponse) {} + + rpc ListSnapshots (ListSnapshotsRequest) + returns (ListSnapshotsResponse) {} + + rpc ControllerExpandVolume (ControllerExpandVolumeRequest) + returns (ControllerExpandVolumeResponse) {} + + rpc ControllerGetVolume (ControllerGetVolumeRequest) + returns (ControllerGetVolumeResponse) { + option (alpha_method) = true; + } +} + +service Node { + rpc NodeStageVolume (NodeStageVolumeRequest) + returns (NodeStageVolumeResponse) {} + + rpc NodeUnstageVolume (NodeUnstageVolumeRequest) + returns (NodeUnstageVolumeResponse) {} + + rpc NodePublishVolume (NodePublishVolumeRequest) + returns (NodePublishVolumeResponse) {} + + rpc NodeUnpublishVolume (NodeUnpublishVolumeRequest) + returns (NodeUnpublishVolumeResponse) {} + + rpc NodeGetVolumeStats (NodeGetVolumeStatsRequest) + returns (NodeGetVolumeStatsResponse) {} + + + rpc NodeExpandVolume(NodeExpandVolumeRequest) + returns (NodeExpandVolumeResponse) {} + + + rpc NodeGetCapabilities (NodeGetCapabilitiesRequest) + returns (NodeGetCapabilitiesResponse) {} + + rpc NodeGetInfo (NodeGetInfoRequest) + returns (NodeGetInfoResponse) {} +} +message GetPluginInfoRequest { + // Intentionally empty. +} + +message GetPluginInfoResponse { + // The name MUST follow domain name notation format + // (https://tools.ietf.org/html/rfc1035#section-2.3.1). It SHOULD + // include the plugin's host company name and the plugin name, + // to minimize the possibility of collisions. It MUST be 63 + // characters or less, beginning and ending with an alphanumeric + // character ([a-z0-9A-Z]) with dashes (-), dots (.), and + // alphanumerics between. This field is REQUIRED. + string name = 1; + + // This field is REQUIRED. Value of this field is opaque to the CO. + string vendor_version = 2; + + // This field is OPTIONAL. Values are opaque to the CO. + map manifest = 3; +} +message GetPluginCapabilitiesRequest { + // Intentionally empty. +} + +message GetPluginCapabilitiesResponse { + // All the capabilities that the controller service supports. This + // field is OPTIONAL. + repeated PluginCapability capabilities = 1; +} + +// Specifies a capability of the plugin. +message PluginCapability { + message Service { + enum Type { + UNKNOWN = 0; + // CONTROLLER_SERVICE indicates that the Plugin provides RPCs for + // the ControllerService. Plugins SHOULD provide this capability. + // In rare cases certain plugins MAY wish to omit the + // ControllerService entirely from their implementation, but such + // SHOULD NOT be the common case. + // The presence of this capability determines whether the CO will + // attempt to invoke the REQUIRED ControllerService RPCs, as well + // as specific RPCs as indicated by ControllerGetCapabilities. + CONTROLLER_SERVICE = 1; + + // VOLUME_ACCESSIBILITY_CONSTRAINTS indicates that the volumes for + // this plugin MAY NOT be equally accessible by all nodes in the + // cluster. The CO MUST use the topology information returned by + // CreateVolumeRequest along with the topology information + // returned by NodeGetInfo to ensure that a given volume is + // accessible from a given node when scheduling workloads. + VOLUME_ACCESSIBILITY_CONSTRAINTS = 2; + } + Type type = 1; + } + + message VolumeExpansion { + enum Type { + UNKNOWN = 0; + + // ONLINE indicates that volumes may be expanded when published to + // a node. When a Plugin implements this capability it MUST + // implement either the EXPAND_VOLUME controller capability or the + // EXPAND_VOLUME node capability or both. When a plugin supports + // ONLINE volume expansion and also has the EXPAND_VOLUME + // controller capability then the plugin MUST support expansion of + // volumes currently published and available on a node. When a + // plugin supports ONLINE volume expansion and also has the + // EXPAND_VOLUME node capability then the plugin MAY support + // expansion of node-published volume via NodeExpandVolume. + // + // Example 1: Given a shared filesystem volume (e.g. GlusterFs), + // the Plugin may set the ONLINE volume expansion capability and + // implement ControllerExpandVolume but not NodeExpandVolume. + // + // Example 2: Given a block storage volume type (e.g. EBS), the + // Plugin may set the ONLINE volume expansion capability and + // implement both ControllerExpandVolume and NodeExpandVolume. + // + // Example 3: Given a Plugin that supports volume expansion only + // upon a node, the Plugin may set the ONLINE volume + // expansion capability and implement NodeExpandVolume but not + // ControllerExpandVolume. + ONLINE = 1; + + // OFFLINE indicates that volumes currently published and + // available on a node SHALL NOT be expanded via + // ControllerExpandVolume. When a plugin supports OFFLINE volume + // expansion it MUST implement either the EXPAND_VOLUME controller + // capability or both the EXPAND_VOLUME controller capability and + // the EXPAND_VOLUME node capability. + // + // Example 1: Given a block storage volume type (e.g. Azure Disk) + // that does not support expansion of "node-attached" (i.e. + // controller-published) volumes, the Plugin may indicate + // OFFLINE volume expansion support and implement both + // ControllerExpandVolume and NodeExpandVolume. + OFFLINE = 2; + } + Type type = 1; + } + + oneof type { + // Service that the plugin supports. + Service service = 1; + VolumeExpansion volume_expansion = 2; + } +} +message ProbeRequest { + // Intentionally empty. +} + +message ProbeResponse { + // Readiness allows a plugin to report its initialization status back + // to the CO. Initialization for some plugins MAY be time consuming + // and it is important for a CO to distinguish between the following + // cases: + // + // 1) The plugin is in an unhealthy state and MAY need restarting. In + // this case a gRPC error code SHALL be returned. + // 2) The plugin is still initializing, but is otherwise perfectly + // healthy. In this case a successful response SHALL be returned + // with a readiness value of `false`. Calls to the plugin's + // Controller and/or Node services MAY fail due to an incomplete + // initialization state. + // 3) The plugin has finished initializing and is ready to service + // calls to its Controller and/or Node services. A successful + // response is returned with a readiness value of `true`. + // + // This field is OPTIONAL. If not present, the caller SHALL assume + // that the plugin is in a ready state and is accepting calls to its + // Controller and/or Node services (according to the plugin's reported + // capabilities). + .google.protobuf.BoolValue ready = 1; +} +message CreateVolumeRequest { + // The suggested name for the storage space. This field is REQUIRED. + // It serves two purposes: + // 1) Idempotency - This name is generated by the CO to achieve + // idempotency. The Plugin SHOULD ensure that multiple + // `CreateVolume` calls for the same name do not result in more + // than one piece of storage provisioned corresponding to that + // name. If a Plugin is unable to enforce idempotency, the CO's + // error recovery logic could result in multiple (unused) volumes + // being provisioned. + // In the case of error, the CO MUST handle the gRPC error codes + // per the recovery behavior defined in the "CreateVolume Errors" + // section below. + // The CO is responsible for cleaning up volumes it provisioned + // that it no longer needs. If the CO is uncertain whether a volume + // was provisioned or not when a `CreateVolume` call fails, the CO + // MAY call `CreateVolume` again, with the same name, to ensure the + // volume exists and to retrieve the volume's `volume_id` (unless + // otherwise prohibited by "CreateVolume Errors"). + // 2) Suggested name - Some storage systems allow callers to specify + // an identifier by which to refer to the newly provisioned + // storage. If a storage system supports this, it can optionally + // use this name as the identifier for the new volume. + // Any Unicode string that conforms to the length limit is allowed + // except those containing the following banned characters: + // U+0000-U+0008, U+000B, U+000C, U+000E-U+001F, U+007F-U+009F. + // (These are control characters other than commonly used whitespace.) + string name = 1; + + // This field is OPTIONAL. This allows the CO to specify the capacity + // requirement of the volume to be provisioned. If not specified, the + // Plugin MAY choose an implementation-defined capacity range. If + // specified it MUST always be honored, even when creating volumes + // from a source; which MAY force some backends to internally extend + // the volume after creating it. + CapacityRange capacity_range = 2; + + // The capabilities that the provisioned volume MUST have. SP MUST + // provision a volume that will satisfy ALL of the capabilities + // specified in this list. Otherwise SP MUST return the appropriate + // gRPC error code. + // The Plugin MUST assume that the CO MAY use the provisioned volume + // with ANY of the capabilities specified in this list. + // For example, a CO MAY specify two volume capabilities: one with + // access mode SINGLE_NODE_WRITER and another with access mode + // MULTI_NODE_READER_ONLY. In this case, the SP MUST verify that the + // provisioned volume can be used in either mode. + // This also enables the CO to do early validation: If ANY of the + // specified volume capabilities are not supported by the SP, the call + // MUST return the appropriate gRPC error code. + // This field is REQUIRED. + repeated VolumeCapability volume_capabilities = 3; + + // Plugin specific parameters passed in as opaque key-value pairs. + // This field is OPTIONAL. The Plugin is responsible for parsing and + // validating these parameters. COs will treat these as opaque. + map parameters = 4; + + // Secrets required by plugin to complete volume creation request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 5 [(csi_secret) = true]; + + // If specified, the new volume will be pre-populated with data from + // this source. This field is OPTIONAL. + VolumeContentSource volume_content_source = 6; + + // Specifies where (regions, zones, racks, etc.) the provisioned + // volume MUST be accessible from. + // An SP SHALL advertise the requirements for topological + // accessibility information in documentation. COs SHALL only specify + // topological accessibility information supported by the SP. + // This field is OPTIONAL. + // This field SHALL NOT be specified unless the SP has the + // VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability. + // If this field is not specified and the SP has the + // VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability, the SP MAY + // choose where the provisioned volume is accessible from. + TopologyRequirement accessibility_requirements = 7; +} + +// Specifies what source the volume will be created from. One of the +// type fields MUST be specified. +message VolumeContentSource { + message SnapshotSource { + // Contains identity information for the existing source snapshot. + // This field is REQUIRED. Plugin is REQUIRED to support creating + // volume from snapshot if it supports the capability + // CREATE_DELETE_SNAPSHOT. + string snapshot_id = 1; + } + + message VolumeSource { + // Contains identity information for the existing source volume. + // This field is REQUIRED. Plugins reporting CLONE_VOLUME + // capability MUST support creating a volume from another volume. + string volume_id = 1; + } + + oneof type { + SnapshotSource snapshot = 1; + VolumeSource volume = 2; + } +} + +message CreateVolumeResponse { + // Contains all attributes of the newly created volume that are + // relevant to the CO along with information required by the Plugin + // to uniquely identify the volume. This field is REQUIRED. + Volume volume = 1; +} + +// Specify a capability of a volume. +message VolumeCapability { + // Indicate that the volume will be accessed via the block device API. + message BlockVolume { + // Intentionally empty, for now. + } + + // Indicate that the volume will be accessed via the filesystem API. + message MountVolume { + // The filesystem type. This field is OPTIONAL. + // An empty string is equal to an unspecified field value. + string fs_type = 1; + + // The mount options that can be used for the volume. This field is + // OPTIONAL. `mount_flags` MAY contain sensitive information. + // Therefore, the CO and the Plugin MUST NOT leak this information + // to untrusted entities. The total size of this repeated field + // SHALL NOT exceed 4 KiB. + repeated string mount_flags = 2; + } + + // Specify how a volume can be accessed. + message AccessMode { + enum Mode { + UNKNOWN = 0; + + // Can only be published once as read/write on a single node, at + // any given time. + SINGLE_NODE_WRITER = 1; + + // Can only be published once as readonly on a single node, at + // any given time. + SINGLE_NODE_READER_ONLY = 2; + + // Can be published as readonly at multiple nodes simultaneously. + MULTI_NODE_READER_ONLY = 3; + + // Can be published at multiple nodes simultaneously. Only one of + // the node can be used as read/write. The rest will be readonly. + MULTI_NODE_SINGLE_WRITER = 4; + + // Can be published as read/write at multiple nodes + // simultaneously. + MULTI_NODE_MULTI_WRITER = 5; + } + + // This field is REQUIRED. + Mode mode = 1; + } + + // Specifies what API the volume will be accessed using. One of the + // following fields MUST be specified. + oneof access_type { + BlockVolume block = 1; + MountVolume mount = 2; + } + + // This is a REQUIRED field. + AccessMode access_mode = 3; +} + +// The capacity of the storage space in bytes. To specify an exact size, +// `required_bytes` and `limit_bytes` SHALL be set to the same value. At +// least one of the these fields MUST be specified. +message CapacityRange { + // Volume MUST be at least this big. This field is OPTIONAL. + // A value of 0 is equal to an unspecified field value. + // The value of this field MUST NOT be negative. + int64 required_bytes = 1; + + // Volume MUST not be bigger than this. This field is OPTIONAL. + // A value of 0 is equal to an unspecified field value. + // The value of this field MUST NOT be negative. + int64 limit_bytes = 2; +} + +// Information about a specific volume. +message Volume { + // The capacity of the volume in bytes. This field is OPTIONAL. If not + // set (value of 0), it indicates that the capacity of the volume is + // unknown (e.g., NFS share). + // The value of this field MUST NOT be negative. + int64 capacity_bytes = 1; + + // The identifier for this volume, generated by the plugin. + // This field is REQUIRED. + // This field MUST contain enough information to uniquely identify + // this specific volume vs all other volumes supported by this plugin. + // This field SHALL be used by the CO in subsequent calls to refer to + // this volume. + // The SP is NOT responsible for global uniqueness of volume_id across + // multiple SPs. + string volume_id = 2; + + // Opaque static properties of the volume. SP MAY use this field to + // ensure subsequent volume validation and publishing calls have + // contextual information. + // The contents of this field SHALL be opaque to a CO. + // The contents of this field SHALL NOT be mutable. + // The contents of this field SHALL be safe for the CO to cache. + // The contents of this field SHOULD NOT contain sensitive + // information. + // The contents of this field SHOULD NOT be used for uniquely + // identifying a volume. The `volume_id` alone SHOULD be sufficient to + // identify the volume. + // A volume uniquely identified by `volume_id` SHALL always report the + // same volume_context. + // This field is OPTIONAL and when present MUST be passed to volume + // validation and publishing calls. + map volume_context = 3; + + // If specified, indicates that the volume is not empty and is + // pre-populated with data from the specified source. + // This field is OPTIONAL. + VolumeContentSource content_source = 4; + + // Specifies where (regions, zones, racks, etc.) the provisioned + // volume is accessible from. + // A plugin that returns this field MUST also set the + // VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability. + // An SP MAY specify multiple topologies to indicate the volume is + // accessible from multiple locations. + // COs MAY use this information along with the topology information + // returned by NodeGetInfo to ensure that a given volume is accessible + // from a given node when scheduling workloads. + // This field is OPTIONAL. If it is not specified, the CO MAY assume + // the volume is equally accessible from all nodes in the cluster and + // MAY schedule workloads referencing the volume on any available + // node. + // + // Example 1: + // accessible_topology = {"region": "R1", "zone": "Z2"} + // Indicates a volume accessible only from the "region" "R1" and the + // "zone" "Z2". + // + // Example 2: + // accessible_topology = + // {"region": "R1", "zone": "Z2"}, + // {"region": "R1", "zone": "Z3"} + // Indicates a volume accessible from both "zone" "Z2" and "zone" "Z3" + // in the "region" "R1". + repeated Topology accessible_topology = 5; +} + +message TopologyRequirement { + // Specifies the list of topologies the provisioned volume MUST be + // accessible from. + // This field is OPTIONAL. If TopologyRequirement is specified either + // requisite or preferred or both MUST be specified. + // + // If requisite is specified, the provisioned volume MUST be + // accessible from at least one of the requisite topologies. + // + // Given + // x = number of topologies provisioned volume is accessible from + // n = number of requisite topologies + // The CO MUST ensure n >= 1. The SP MUST ensure x >= 1 + // If x==n, then the SP MUST make the provisioned volume available to + // all topologies from the list of requisite topologies. If it is + // unable to do so, the SP MUST fail the CreateVolume call. + // For example, if a volume should be accessible from a single zone, + // and requisite = + // {"region": "R1", "zone": "Z2"} + // then the provisioned volume MUST be accessible from the "region" + // "R1" and the "zone" "Z2". + // Similarly, if a volume should be accessible from two zones, and + // requisite = + // {"region": "R1", "zone": "Z2"}, + // {"region": "R1", "zone": "Z3"} + // then the provisioned volume MUST be accessible from the "region" + // "R1" and both "zone" "Z2" and "zone" "Z3". + // + // If xn, then the SP MUST make the provisioned volume available from + // all topologies from the list of requisite topologies and MAY choose + // the remaining x-n unique topologies from the list of all possible + // topologies. If it is unable to do so, the SP MUST fail the + // CreateVolume call. + // For example, if a volume should be accessible from two zones, and + // requisite = + // {"region": "R1", "zone": "Z2"} + // then the provisioned volume MUST be accessible from the "region" + // "R1" and the "zone" "Z2" and the SP may select the second zone + // independently, e.g. "R1/Z4". + repeated Topology requisite = 1; + + // Specifies the list of topologies the CO would prefer the volume to + // be provisioned in. + // + // This field is OPTIONAL. If TopologyRequirement is specified either + // requisite or preferred or both MUST be specified. + // + // An SP MUST attempt to make the provisioned volume available using + // the preferred topologies in order from first to last. + // + // If requisite is specified, all topologies in preferred list MUST + // also be present in the list of requisite topologies. + // + // If the SP is unable to to make the provisioned volume available + // from any of the preferred topologies, the SP MAY choose a topology + // from the list of requisite topologies. + // If the list of requisite topologies is not specified, then the SP + // MAY choose from the list of all possible topologies. + // If the list of requisite topologies is specified and the SP is + // unable to to make the provisioned volume available from any of the + // requisite topologies it MUST fail the CreateVolume call. + // + // Example 1: + // Given a volume should be accessible from a single zone, and + // requisite = + // {"region": "R1", "zone": "Z2"}, + // {"region": "R1", "zone": "Z3"} + // preferred = + // {"region": "R1", "zone": "Z3"} + // then the the SP SHOULD first attempt to make the provisioned volume + // available from "zone" "Z3" in the "region" "R1" and fall back to + // "zone" "Z2" in the "region" "R1" if that is not possible. + // + // Example 2: + // Given a volume should be accessible from a single zone, and + // requisite = + // {"region": "R1", "zone": "Z2"}, + // {"region": "R1", "zone": "Z3"}, + // {"region": "R1", "zone": "Z4"}, + // {"region": "R1", "zone": "Z5"} + // preferred = + // {"region": "R1", "zone": "Z4"}, + // {"region": "R1", "zone": "Z2"} + // then the the SP SHOULD first attempt to make the provisioned volume + // accessible from "zone" "Z4" in the "region" "R1" and fall back to + // "zone" "Z2" in the "region" "R1" if that is not possible. If that + // is not possible, the SP may choose between either the "zone" + // "Z3" or "Z5" in the "region" "R1". + // + // Example 3: + // Given a volume should be accessible from TWO zones (because an + // opaque parameter in CreateVolumeRequest, for example, specifies + // the volume is accessible from two zones, aka synchronously + // replicated), and + // requisite = + // {"region": "R1", "zone": "Z2"}, + // {"region": "R1", "zone": "Z3"}, + // {"region": "R1", "zone": "Z4"}, + // {"region": "R1", "zone": "Z5"} + // preferred = + // {"region": "R1", "zone": "Z5"}, + // {"region": "R1", "zone": "Z3"} + // then the the SP SHOULD first attempt to make the provisioned volume + // accessible from the combination of the two "zones" "Z5" and "Z3" in + // the "region" "R1". If that's not possible, it should fall back to + // a combination of "Z5" and other possibilities from the list of + // requisite. If that's not possible, it should fall back to a + // combination of "Z3" and other possibilities from the list of + // requisite. If that's not possible, it should fall back to a + // combination of other possibilities from the list of requisite. + repeated Topology preferred = 2; +} + +// Topology is a map of topological domains to topological segments. +// A topological domain is a sub-division of a cluster, like "region", +// "zone", "rack", etc. +// A topological segment is a specific instance of a topological domain, +// like "zone3", "rack3", etc. +// For example {"com.company/zone": "Z1", "com.company/rack": "R3"} +// Valid keys have two segments: an OPTIONAL prefix and name, separated +// by a slash (/), for example: "com.company.example/zone". +// The key name segment is REQUIRED. The prefix is OPTIONAL. +// The key name MUST be 63 characters or less, begin and end with an +// alphanumeric character ([a-z0-9A-Z]), and contain only dashes (-), +// underscores (_), dots (.), or alphanumerics in between, for example +// "zone". +// The key prefix MUST be 63 characters or less, begin and end with a +// lower-case alphanumeric character ([a-z0-9]), contain only +// dashes (-), dots (.), or lower-case alphanumerics in between, and +// follow domain name notation format +// (https://tools.ietf.org/html/rfc1035#section-2.3.1). +// The key prefix SHOULD include the plugin's host company name and/or +// the plugin name, to minimize the possibility of collisions with keys +// from other plugins. +// If a key prefix is specified, it MUST be identical across all +// topology keys returned by the SP (across all RPCs). +// Keys MUST be case-insensitive. Meaning the keys "Zone" and "zone" +// MUST not both exist. +// Each value (topological segment) MUST contain 1 or more strings. +// Each string MUST be 63 characters or less and begin and end with an +// alphanumeric character with '-', '_', '.', or alphanumerics in +// between. +message Topology { + map segments = 1; +} +message DeleteVolumeRequest { + // The ID of the volume to be deprovisioned. + // This field is REQUIRED. + string volume_id = 1; + + // Secrets required by plugin to complete volume deletion request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 2 [(csi_secret) = true]; +} + +message DeleteVolumeResponse { + // Intentionally empty. +} +message ControllerPublishVolumeRequest { + // The ID of the volume to be used on a node. + // This field is REQUIRED. + string volume_id = 1; + + // The ID of the node. This field is REQUIRED. The CO SHALL set this + // field to match the node ID returned by `NodeGetInfo`. + string node_id = 2; + + // Volume capability describing how the CO intends to use this volume. + // SP MUST ensure the CO can use the published volume as described. + // Otherwise SP MUST return the appropriate gRPC error code. + // This is a REQUIRED field. + VolumeCapability volume_capability = 3; + + // Indicates SP MUST publish the volume in readonly mode. + // CO MUST set this field to false if SP does not have the + // PUBLISH_READONLY controller capability. + // This is a REQUIRED field. + bool readonly = 4; + + // Secrets required by plugin to complete controller publish volume + // request. This field is OPTIONAL. Refer to the + // `Secrets Requirements` section on how to use this field. + map secrets = 5 [(csi_secret) = true]; + + // Volume context as returned by SP in + // CreateVolumeResponse.Volume.volume_context. + // This field is OPTIONAL and MUST match the volume_context of the + // volume identified by `volume_id`. + map volume_context = 6; +} + +message ControllerPublishVolumeResponse { + // Opaque static publish properties of the volume. SP MAY use this + // field to ensure subsequent `NodeStageVolume` or `NodePublishVolume` + // calls calls have contextual information. + // The contents of this field SHALL be opaque to a CO. + // The contents of this field SHALL NOT be mutable. + // The contents of this field SHALL be safe for the CO to cache. + // The contents of this field SHOULD NOT contain sensitive + // information. + // The contents of this field SHOULD NOT be used for uniquely + // identifying a volume. The `volume_id` alone SHOULD be sufficient to + // identify the volume. + // This field is OPTIONAL and when present MUST be passed to + // subsequent `NodeStageVolume` or `NodePublishVolume` calls + map publish_context = 1; +} +message ControllerUnpublishVolumeRequest { + // The ID of the volume. This field is REQUIRED. + string volume_id = 1; + + // The ID of the node. This field is OPTIONAL. The CO SHOULD set this + // field to match the node ID returned by `NodeGetInfo` or leave it + // unset. If the value is set, the SP MUST unpublish the volume from + // the specified node. If the value is unset, the SP MUST unpublish + // the volume from all nodes it is published to. + string node_id = 2; + + // Secrets required by plugin to complete controller unpublish volume + // request. This SHOULD be the same secrets passed to the + // ControllerPublishVolume call for the specified volume. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 3 [(csi_secret) = true]; +} + +message ControllerUnpublishVolumeResponse { + // Intentionally empty. +} +message ValidateVolumeCapabilitiesRequest { + // The ID of the volume to check. This field is REQUIRED. + string volume_id = 1; + + // Volume context as returned by SP in + // CreateVolumeResponse.Volume.volume_context. + // This field is OPTIONAL and MUST match the volume_context of the + // volume identified by `volume_id`. + map volume_context = 2; + + // The capabilities that the CO wants to check for the volume. This + // call SHALL return "confirmed" only if all the volume capabilities + // specified below are supported. This field is REQUIRED. + repeated VolumeCapability volume_capabilities = 3; + + // See CreateVolumeRequest.parameters. + // This field is OPTIONAL. + map parameters = 4; + + // Secrets required by plugin to complete volume validation request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 5 [(csi_secret) = true]; +} + +message ValidateVolumeCapabilitiesResponse { + message Confirmed { + // Volume context validated by the plugin. + // This field is OPTIONAL. + map volume_context = 1; + + // Volume capabilities supported by the plugin. + // This field is REQUIRED. + repeated VolumeCapability volume_capabilities = 2; + + // The volume creation parameters validated by the plugin. + // This field is OPTIONAL. + map parameters = 3; + } + + // Confirmed indicates to the CO the set of capabilities that the + // plugin has validated. This field SHALL only be set to a non-empty + // value for successful validation responses. + // For successful validation responses, the CO SHALL compare the + // fields of this message to the originally requested capabilities in + // order to guard against an older plugin reporting "valid" for newer + // capability fields that it does not yet understand. + // This field is OPTIONAL. + Confirmed confirmed = 1; + + // Message to the CO if `confirmed` above is empty. This field is + // OPTIONAL. + // An empty string is equal to an unspecified field value. + string message = 2; +} +message ListVolumesRequest { + // If specified (non-zero value), the Plugin MUST NOT return more + // entries than this number in the response. If the actual number of + // entries is more than this number, the Plugin MUST set `next_token` + // in the response which can be used to get the next page of entries + // in the subsequent `ListVolumes` call. This field is OPTIONAL. If + // not specified (zero value), it means there is no restriction on the + // number of entries that can be returned. + // The value of this field MUST NOT be negative. + int32 max_entries = 1; + + // A token to specify where to start paginating. Set this field to + // `next_token` returned by a previous `ListVolumes` call to get the + // next page of entries. This field is OPTIONAL. + // An empty string is equal to an unspecified field value. + string starting_token = 2; +} + +message ListVolumesResponse { + message VolumeStatus{ + // A list of all `node_id` of nodes that the volume in this entry + // is controller published on. + // This field is OPTIONAL. If it is not specified and the SP has + // the LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO + // MAY assume the volume is not controller published to any nodes. + // If the field is not specified and the SP does not have the + // LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO MUST + // not interpret this field. + // published_node_ids MAY include nodes not published to or + // reported by the SP. The CO MUST be resilient to that. + repeated string published_node_ids = 1; + + // Information about the current condition of the volume. + // This field is OPTIONAL. + // This field MUST be specified if the + // VOLUME_CONDITION controller capability is supported. + VolumeCondition volume_condition = 2 [(alpha_field) = true]; + } + + message Entry { + // This field is REQUIRED + Volume volume = 1; + + // This field is OPTIONAL. This field MUST be specified if the + // LIST_VOLUMES_PUBLISHED_NODES controller capability is + // supported. + VolumeStatus status = 2; + } + + repeated Entry entries = 1; + + // This token allows you to get the next page of entries for + // `ListVolumes` request. If the number of entries is larger than + // `max_entries`, use the `next_token` as a value for the + // `starting_token` field in the next `ListVolumes` request. This + // field is OPTIONAL. + // An empty string is equal to an unspecified field value. + string next_token = 2; +} +message ControllerGetVolumeRequest { + option (alpha_message) = true; + + // The ID of the volume to fetch current volume information for. + // This field is REQUIRED. + string volume_id = 1; +} + +message ControllerGetVolumeResponse { + option (alpha_message) = true; + + message VolumeStatus{ + // A list of all the `node_id` of nodes that this volume is + // controller published on. + // This field is OPTIONAL. + // This field MUST be specified if the PUBLISH_UNPUBLISH_VOLUME + // controller capability is supported. + // published_node_ids MAY include nodes not published to or + // reported by the SP. The CO MUST be resilient to that. + repeated string published_node_ids = 1; + + // Information about the current condition of the volume. + // This field is OPTIONAL. + // This field MUST be specified if the + // VOLUME_CONDITION controller capability is supported. + VolumeCondition volume_condition = 2; + } + + // This field is REQUIRED + Volume volume = 1; + + // This field is REQUIRED. + VolumeStatus status = 2; +} +message GetCapacityRequest { + // If specified, the Plugin SHALL report the capacity of the storage + // that can be used to provision volumes that satisfy ALL of the + // specified `volume_capabilities`. These are the same + // `volume_capabilities` the CO will use in `CreateVolumeRequest`. + // This field is OPTIONAL. + repeated VolumeCapability volume_capabilities = 1; + + // If specified, the Plugin SHALL report the capacity of the storage + // that can be used to provision volumes with the given Plugin + // specific `parameters`. These are the same `parameters` the CO will + // use in `CreateVolumeRequest`. This field is OPTIONAL. + map parameters = 2; + + // If specified, the Plugin SHALL report the capacity of the storage + // that can be used to provision volumes that in the specified + // `accessible_topology`. This is the same as the + // `accessible_topology` the CO returns in a `CreateVolumeResponse`. + // This field is OPTIONAL. This field SHALL NOT be set unless the + // plugin advertises the VOLUME_ACCESSIBILITY_CONSTRAINTS capability. + Topology accessible_topology = 3; +} + +message GetCapacityResponse { + // The available capacity, in bytes, of the storage that can be used + // to provision volumes. If `volume_capabilities` or `parameters` is + // specified in the request, the Plugin SHALL take those into + // consideration when calculating the available capacity of the + // storage. This field is REQUIRED. + // The value of this field MUST NOT be negative. + int64 available_capacity = 1; +} +message ControllerGetCapabilitiesRequest { + // Intentionally empty. +} + +message ControllerGetCapabilitiesResponse { + // All the capabilities that the controller service supports. This + // field is OPTIONAL. + repeated ControllerServiceCapability capabilities = 1; +} + +// Specifies a capability of the controller service. +message ControllerServiceCapability { + message RPC { + enum Type { + UNKNOWN = 0; + CREATE_DELETE_VOLUME = 1; + PUBLISH_UNPUBLISH_VOLUME = 2; + LIST_VOLUMES = 3; + GET_CAPACITY = 4; + // Currently the only way to consume a snapshot is to create + // a volume from it. Therefore plugins supporting + // CREATE_DELETE_SNAPSHOT MUST support creating volume from + // snapshot. + CREATE_DELETE_SNAPSHOT = 5; + LIST_SNAPSHOTS = 6; + + // Plugins supporting volume cloning at the storage level MAY + // report this capability. The source volume MUST be managed by + // the same plugin. Not all volume sources and parameters + // combinations MAY work. + CLONE_VOLUME = 7; + + // Indicates the SP supports ControllerPublishVolume.readonly + // field. + PUBLISH_READONLY = 8; + + // See VolumeExpansion for details. + EXPAND_VOLUME = 9; + + // Indicates the SP supports the + // ListVolumesResponse.entry.published_nodes field + LIST_VOLUMES_PUBLISHED_NODES = 10; + + // Indicates that the Controller service can report volume + // conditions. + // An SP MAY implement `VolumeCondition` in only the Controller + // Plugin, only the Node Plugin, or both. + // If `VolumeCondition` is implemented in both the Controller and + // Node Plugins, it SHALL report from different perspectives. + // If for some reason Controller and Node Plugins report + // misaligned volume conditions, CO SHALL assume the worst case + // is the truth. + // Note that, for alpha, `VolumeCondition` is intended be + // informative for humans only, not for automation. + VOLUME_CONDITION = 11 [(alpha_enum_value) = true]; + + // Indicates the SP supports the ControllerGetVolume RPC. + // This enables COs to, for example, fetch per volume + // condition after a volume is provisioned. + GET_VOLUME = 12 [(alpha_enum_value) = true]; + } + + Type type = 1; + } + + oneof type { + // RPC that the controller supports. + RPC rpc = 1; + } +} +message CreateSnapshotRequest { + // The ID of the source volume to be snapshotted. + // This field is REQUIRED. + string source_volume_id = 1; + + // The suggested name for the snapshot. This field is REQUIRED for + // idempotency. + // Any Unicode string that conforms to the length limit is allowed + // except those containing the following banned characters: + // U+0000-U+0008, U+000B, U+000C, U+000E-U+001F, U+007F-U+009F. + // (These are control characters other than commonly used whitespace.) + string name = 2; + + // Secrets required by plugin to complete snapshot creation request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 3 [(csi_secret) = true]; + + // Plugin specific parameters passed in as opaque key-value pairs. + // This field is OPTIONAL. The Plugin is responsible for parsing and + // validating these parameters. COs will treat these as opaque. + // Use cases for opaque parameters: + // - Specify a policy to automatically clean up the snapshot. + // - Specify an expiration date for the snapshot. + // - Specify whether the snapshot is readonly or read/write. + // - Specify if the snapshot should be replicated to some place. + // - Specify primary or secondary for replication systems that + // support snapshotting only on primary. + map parameters = 4; +} + +message CreateSnapshotResponse { + // Contains all attributes of the newly created snapshot that are + // relevant to the CO along with information required by the Plugin + // to uniquely identify the snapshot. This field is REQUIRED. + Snapshot snapshot = 1; +} + +// Information about a specific snapshot. +message Snapshot { + // This is the complete size of the snapshot in bytes. The purpose of + // this field is to give CO guidance on how much space is needed to + // create a volume from this snapshot. The size of the volume MUST NOT + // be less than the size of the source snapshot. This field is + // OPTIONAL. If this field is not set, it indicates that this size is + // unknown. The value of this field MUST NOT be negative and a size of + // zero means it is unspecified. + int64 size_bytes = 1; + + // The identifier for this snapshot, generated by the plugin. + // This field is REQUIRED. + // This field MUST contain enough information to uniquely identify + // this specific snapshot vs all other snapshots supported by this + // plugin. + // This field SHALL be used by the CO in subsequent calls to refer to + // this snapshot. + // The SP is NOT responsible for global uniqueness of snapshot_id + // across multiple SPs. + string snapshot_id = 2; + + // Identity information for the source volume. Note that creating a + // snapshot from a snapshot is not supported here so the source has to + // be a volume. This field is REQUIRED. + string source_volume_id = 3; + + // Timestamp when the point-in-time snapshot is taken on the storage + // system. This field is REQUIRED. + .google.protobuf.Timestamp creation_time = 4; + + // Indicates if a snapshot is ready to use as a + // `volume_content_source` in a `CreateVolumeRequest`. The default + // value is false. This field is REQUIRED. + bool ready_to_use = 5; +} +message DeleteSnapshotRequest { + // The ID of the snapshot to be deleted. + // This field is REQUIRED. + string snapshot_id = 1; + + // Secrets required by plugin to complete snapshot deletion request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 2 [(csi_secret) = true]; +} + +message DeleteSnapshotResponse {} +// List all snapshots on the storage system regardless of how they were +// created. +message ListSnapshotsRequest { + // If specified (non-zero value), the Plugin MUST NOT return more + // entries than this number in the response. If the actual number of + // entries is more than this number, the Plugin MUST set `next_token` + // in the response which can be used to get the next page of entries + // in the subsequent `ListSnapshots` call. This field is OPTIONAL. If + // not specified (zero value), it means there is no restriction on the + // number of entries that can be returned. + // The value of this field MUST NOT be negative. + int32 max_entries = 1; + + // A token to specify where to start paginating. Set this field to + // `next_token` returned by a previous `ListSnapshots` call to get the + // next page of entries. This field is OPTIONAL. + // An empty string is equal to an unspecified field value. + string starting_token = 2; + + // Identity information for the source volume. This field is OPTIONAL. + // It can be used to list snapshots by volume. + string source_volume_id = 3; + + // Identity information for a specific snapshot. This field is + // OPTIONAL. It can be used to list only a specific snapshot. + // ListSnapshots will return with current snapshot information + // and will not block if the snapshot is being processed after + // it is cut. + string snapshot_id = 4; + + // Secrets required by plugin to complete ListSnapshot request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 5 [(csi_secret) = true]; +} + +message ListSnapshotsResponse { + message Entry { + Snapshot snapshot = 1; + } + + repeated Entry entries = 1; + + // This token allows you to get the next page of entries for + // `ListSnapshots` request. If the number of entries is larger than + // `max_entries`, use the `next_token` as a value for the + // `starting_token` field in the next `ListSnapshots` request. This + // field is OPTIONAL. + // An empty string is equal to an unspecified field value. + string next_token = 2; +} +message ControllerExpandVolumeRequest { + // The ID of the volume to expand. This field is REQUIRED. + string volume_id = 1; + + // This allows CO to specify the capacity requirements of the volume + // after expansion. This field is REQUIRED. + CapacityRange capacity_range = 2; + + // Secrets required by the plugin for expanding the volume. + // This field is OPTIONAL. + map secrets = 3 [(csi_secret) = true]; + + // Volume capability describing how the CO intends to use this volume. + // This allows SP to determine if volume is being used as a block + // device or mounted file system. For example - if volume is + // being used as a block device - the SP MAY set + // node_expansion_required to false in ControllerExpandVolumeResponse + // to skip invocation of NodeExpandVolume on the node by the CO. + // This is an OPTIONAL field. + VolumeCapability volume_capability = 4; +} + +message ControllerExpandVolumeResponse { + // Capacity of volume after expansion. This field is REQUIRED. + int64 capacity_bytes = 1; + + // Whether node expansion is required for the volume. When true + // the CO MUST make NodeExpandVolume RPC call on the node. This field + // is REQUIRED. + bool node_expansion_required = 2; +} +message NodeStageVolumeRequest { + // The ID of the volume to publish. This field is REQUIRED. + string volume_id = 1; + + // The CO SHALL set this field to the value returned by + // `ControllerPublishVolume` if the corresponding Controller Plugin + // has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be + // left unset if the corresponding Controller Plugin does not have + // this capability. This is an OPTIONAL field. + map publish_context = 2; + + // The path to which the volume MAY be staged. It MUST be an + // absolute path in the root filesystem of the process serving this + // request, and MUST be a directory. The CO SHALL ensure that there + // is only one `staging_target_path` per volume. The CO SHALL ensure + // that the path is directory and that the process serving the + // request has `read` and `write` permission to that directory. The + // CO SHALL be responsible for creating the directory if it does not + // exist. + // This is a REQUIRED field. + string staging_target_path = 3; + + // Volume capability describing how the CO intends to use this volume. + // SP MUST ensure the CO can use the staged volume as described. + // Otherwise SP MUST return the appropriate gRPC error code. + // This is a REQUIRED field. + VolumeCapability volume_capability = 4; + + // Secrets required by plugin to complete node stage volume request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 5 [(csi_secret) = true]; + + // Volume context as returned by SP in + // CreateVolumeResponse.Volume.volume_context. + // This field is OPTIONAL and MUST match the volume_context of the + // volume identified by `volume_id`. + map volume_context = 6; +} + +message NodeStageVolumeResponse { + // Intentionally empty. +} +message NodeUnstageVolumeRequest { + // The ID of the volume. This field is REQUIRED. + string volume_id = 1; + + // The path at which the volume was staged. It MUST be an absolute + // path in the root filesystem of the process serving this request. + // This is a REQUIRED field. + string staging_target_path = 2; +} + +message NodeUnstageVolumeResponse { + // Intentionally empty. +} +message NodePublishVolumeRequest { + // The ID of the volume to publish. This field is REQUIRED. + string volume_id = 1; + + // The CO SHALL set this field to the value returned by + // `ControllerPublishVolume` if the corresponding Controller Plugin + // has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be + // left unset if the corresponding Controller Plugin does not have + // this capability. This is an OPTIONAL field. + map publish_context = 2; + + // The path to which the volume was staged by `NodeStageVolume`. + // It MUST be an absolute path in the root filesystem of the process + // serving this request. + // It MUST be set if the Node Plugin implements the + // `STAGE_UNSTAGE_VOLUME` node capability. + // This is an OPTIONAL field. + string staging_target_path = 3; + + // The path to which the volume will be published. It MUST be an + // absolute path in the root filesystem of the process serving this + // request. The CO SHALL ensure uniqueness of target_path per volume. + // The CO SHALL ensure that the parent directory of this path exists + // and that the process serving the request has `read` and `write` + // permissions to that parent directory. + // For volumes with an access type of block, the SP SHALL place the + // block device at target_path. + // For volumes with an access type of mount, the SP SHALL place the + // mounted directory at target_path. + // Creation of target_path is the responsibility of the SP. + // This is a REQUIRED field. + string target_path = 4; + + // Volume capability describing how the CO intends to use this volume. + // SP MUST ensure the CO can use the published volume as described. + // Otherwise SP MUST return the appropriate gRPC error code. + // This is a REQUIRED field. + VolumeCapability volume_capability = 5; + + // Indicates SP MUST publish the volume in readonly mode. + // This field is REQUIRED. + bool readonly = 6; + + // Secrets required by plugin to complete node publish volume request. + // This field is OPTIONAL. Refer to the `Secrets Requirements` + // section on how to use this field. + map secrets = 7 [(csi_secret) = true]; + + // Volume context as returned by SP in + // CreateVolumeResponse.Volume.volume_context. + // This field is OPTIONAL and MUST match the volume_context of the + // volume identified by `volume_id`. + map volume_context = 8; +} + +message NodePublishVolumeResponse { + // Intentionally empty. +} +message NodeUnpublishVolumeRequest { + // The ID of the volume. This field is REQUIRED. + string volume_id = 1; + + // The path at which the volume was published. It MUST be an absolute + // path in the root filesystem of the process serving this request. + // The SP MUST delete the file or directory it created at this path. + // This is a REQUIRED field. + string target_path = 2; +} + +message NodeUnpublishVolumeResponse { + // Intentionally empty. +} +message NodeGetVolumeStatsRequest { + // The ID of the volume. This field is REQUIRED. + string volume_id = 1; + + // It can be any valid path where volume was previously + // staged or published. + // It MUST be an absolute path in the root filesystem of + // the process serving this request. + // This is a REQUIRED field. + string volume_path = 2; + + // The path where the volume is staged, if the plugin has the + // STAGE_UNSTAGE_VOLUME capability, otherwise empty. + // If not empty, it MUST be an absolute path in the root + // filesystem of the process serving this request. + // This field is OPTIONAL. + string staging_target_path = 3; +} + +message NodeGetVolumeStatsResponse { + // This field is OPTIONAL. + repeated VolumeUsage usage = 1; + // Information about the current condition of the volume. + // This field is OPTIONAL. + // This field MUST be specified if the VOLUME_CONDITION node + // capability is supported. + VolumeCondition volume_condition = 2 [(alpha_field) = true]; +} + +message VolumeUsage { + enum Unit { + UNKNOWN = 0; + BYTES = 1; + INODES = 2; + } + // The available capacity in specified Unit. This field is OPTIONAL. + // The value of this field MUST NOT be negative. + int64 available = 1; + + // The total capacity in specified Unit. This field is REQUIRED. + // The value of this field MUST NOT be negative. + int64 total = 2; + + // The used capacity in specified Unit. This field is OPTIONAL. + // The value of this field MUST NOT be negative. + int64 used = 3; + + // Units by which values are measured. This field is REQUIRED. + Unit unit = 4; +} + +// VolumeCondition represents the current condition of a volume. +message VolumeCondition { + option (alpha_message) = true; + + // Normal volumes are available for use and operating optimally. + // An abnormal volume does not meet these criteria. + // This field is REQUIRED. + bool abnormal = 1; + + // The message describing the condition of the volume. + // This field is REQUIRED. + string message = 2; +} +message NodeGetCapabilitiesRequest { + // Intentionally empty. +} + +message NodeGetCapabilitiesResponse { + // All the capabilities that the node service supports. This field + // is OPTIONAL. + repeated NodeServiceCapability capabilities = 1; +} + +// Specifies a capability of the node service. +message NodeServiceCapability { + message RPC { + enum Type { + UNKNOWN = 0; + STAGE_UNSTAGE_VOLUME = 1; + // If Plugin implements GET_VOLUME_STATS capability + // then it MUST implement NodeGetVolumeStats RPC + // call for fetching volume statistics. + GET_VOLUME_STATS = 2; + // See VolumeExpansion for details. + EXPAND_VOLUME = 3; + // Indicates that the Node service can report volume conditions. + // An SP MAY implement `VolumeCondition` in only the Node + // Plugin, only the Controller Plugin, or both. + // If `VolumeCondition` is implemented in both the Node and + // Controller Plugins, it SHALL report from different + // perspectives. + // If for some reason Node and Controller Plugins report + // misaligned volume conditions, CO SHALL assume the worst case + // is the truth. + // Note that, for alpha, `VolumeCondition` is intended to be + // informative for humans only, not for automation. + VOLUME_CONDITION = 4 [(alpha_enum_value) = true]; + } + + Type type = 1; + } + + oneof type { + // RPC that the controller supports. + RPC rpc = 1; + } +} +message NodeGetInfoRequest { +} + +message NodeGetInfoResponse { + // The identifier of the node as understood by the SP. + // This field is REQUIRED. + // This field MUST contain enough information to uniquely identify + // this specific node vs all other nodes supported by this plugin. + // This field SHALL be used by the CO in subsequent calls, including + // `ControllerPublishVolume`, to refer to this node. + // The SP is NOT responsible for global uniqueness of node_id across + // multiple SPs. + string node_id = 1; + + // Maximum number of volumes that controller can publish to the node. + // If value is not set or zero CO SHALL decide how many volumes of + // this type can be published by the controller to the node. The + // plugin MUST NOT set negative values here. + // This field is OPTIONAL. + int64 max_volumes_per_node = 2; + + // Specifies where (regions, zones, racks, etc.) the node is + // accessible from. + // A plugin that returns this field MUST also set the + // VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability. + // COs MAY use this information along with the topology information + // returned in CreateVolumeResponse to ensure that a given volume is + // accessible from a given node when scheduling workloads. + // This field is OPTIONAL. If it is not specified, the CO MAY assume + // the node is not subject to any topological constraint, and MAY + // schedule workloads that reference any volume V, such that there are + // no topological constraints declared for V. + // + // Example 1: + // accessible_topology = + // {"region": "R1", "zone": "Z2"} + // Indicates the node exists within the "region" "R1" and the "zone" + // "Z2". + Topology accessible_topology = 3; +} +message NodeExpandVolumeRequest { + // The ID of the volume. This field is REQUIRED. + string volume_id = 1; + + // The path on which volume is available. This field is REQUIRED. + string volume_path = 2; + + // This allows CO to specify the capacity requirements of the volume + // after expansion. If capacity_range is omitted then a plugin MAY + // inspect the file system of the volume to determine the maximum + // capacity to which the volume can be expanded. In such cases a + // plugin MAY expand the volume to its maximum capacity. + // This field is OPTIONAL. + CapacityRange capacity_range = 3; + + // The path where the volume is staged, if the plugin has the + // STAGE_UNSTAGE_VOLUME capability, otherwise empty. + // If not empty, it MUST be an absolute path in the root + // filesystem of the process serving this request. + // This field is OPTIONAL. + string staging_target_path = 4; + + // Volume capability describing how the CO intends to use this volume. + // This allows SP to determine if volume is being used as a block + // device or mounted file system. For example - if volume is being + // used as a block device the SP MAY choose to skip expanding the + // filesystem in NodeExpandVolume implementation but still perform + // rest of the housekeeping needed for expanding the volume. If + // volume_capability is omitted the SP MAY determine + // access_type from given volume_path for the volume and perform + // node expansion. This is an OPTIONAL field. + VolumeCapability volume_capability = 5; +} + +message NodeExpandVolumeResponse { + // The capacity of the volume in bytes. This field is OPTIONAL. + int64 capacity_bytes = 1; +} diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..b3ff6f7 --- /dev/null +++ b/requirements.in @@ -0,0 +1 @@ +grpcio-tools diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c910a26 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,13 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile +# +grpcio-tools==1.28.1 # via -r requirements.in +grpcio==1.28.1 # via grpcio-tools +protobuf==3.11.3 # via grpcio-tools +six==1.14.0 # via grpcio, protobuf + +# The following packages are considered to be unsafe in a requirements file: +# setuptools