Update CSI proto to 1.5.0
This commit is contained in:
parent
e585684502
commit
7717264801
1087
csi/csi_pb2.py
1087
csi/csi_pb2.py
File diff suppressed because one or more lines are too long
@ -1,11 +1,12 @@
|
|||||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||||
|
"""Client and server classes corresponding to protobuf-defined services."""
|
||||||
import grpc
|
import grpc
|
||||||
|
|
||||||
import csi_pb2 as csi__pb2
|
import csi_pb2 as csi__pb2
|
||||||
|
|
||||||
|
|
||||||
class IdentityStub(object):
|
class IdentityStub(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
def __init__(self, channel):
|
def __init__(self, channel):
|
||||||
"""Constructor.
|
"""Constructor.
|
||||||
@ -31,22 +32,22 @@ class IdentityStub(object):
|
|||||||
|
|
||||||
|
|
||||||
class IdentityServicer(object):
|
class IdentityServicer(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
def GetPluginInfo(self, request, context):
|
def GetPluginInfo(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def GetPluginCapabilities(self, request, context):
|
def GetPluginCapabilities(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def Probe(self, request, context):
|
def Probe(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
@ -77,7 +78,7 @@ def add_IdentityServicer_to_server(servicer, server):
|
|||||||
|
|
||||||
# This class is part of an EXPERIMENTAL API.
|
# This class is part of an EXPERIMENTAL API.
|
||||||
class Identity(object):
|
class Identity(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def GetPluginInfo(request,
|
def GetPluginInfo(request,
|
||||||
@ -85,6 +86,7 @@ class Identity(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -93,7 +95,7 @@ class Identity(object):
|
|||||||
csi__pb2.GetPluginInfoRequest.SerializeToString,
|
csi__pb2.GetPluginInfoRequest.SerializeToString,
|
||||||
csi__pb2.GetPluginInfoResponse.FromString,
|
csi__pb2.GetPluginInfoResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def GetPluginCapabilities(request,
|
def GetPluginCapabilities(request,
|
||||||
@ -101,6 +103,7 @@ class Identity(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -109,7 +112,7 @@ class Identity(object):
|
|||||||
csi__pb2.GetPluginCapabilitiesRequest.SerializeToString,
|
csi__pb2.GetPluginCapabilitiesRequest.SerializeToString,
|
||||||
csi__pb2.GetPluginCapabilitiesResponse.FromString,
|
csi__pb2.GetPluginCapabilitiesResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def Probe(request,
|
def Probe(request,
|
||||||
@ -117,6 +120,7 @@ class Identity(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -125,11 +129,11 @@ class Identity(object):
|
|||||||
csi__pb2.ProbeRequest.SerializeToString,
|
csi__pb2.ProbeRequest.SerializeToString,
|
||||||
csi__pb2.ProbeResponse.FromString,
|
csi__pb2.ProbeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
|
|
||||||
class ControllerStub(object):
|
class ControllerStub(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
def __init__(self, channel):
|
def __init__(self, channel):
|
||||||
"""Constructor.
|
"""Constructor.
|
||||||
@ -205,82 +209,82 @@ class ControllerStub(object):
|
|||||||
|
|
||||||
|
|
||||||
class ControllerServicer(object):
|
class ControllerServicer(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
def CreateVolume(self, request, context):
|
def CreateVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def DeleteVolume(self, request, context):
|
def DeleteVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ControllerPublishVolume(self, request, context):
|
def ControllerPublishVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ControllerUnpublishVolume(self, request, context):
|
def ControllerUnpublishVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ValidateVolumeCapabilities(self, request, context):
|
def ValidateVolumeCapabilities(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ListVolumes(self, request, context):
|
def ListVolumes(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def GetCapacity(self, request, context):
|
def GetCapacity(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ControllerGetCapabilities(self, request, context):
|
def ControllerGetCapabilities(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def CreateSnapshot(self, request, context):
|
def CreateSnapshot(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def DeleteSnapshot(self, request, context):
|
def DeleteSnapshot(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ListSnapshots(self, request, context):
|
def ListSnapshots(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ControllerExpandVolume(self, request, context):
|
def ControllerExpandVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def ControllerGetVolume(self, request, context):
|
def ControllerGetVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
@ -361,7 +365,7 @@ def add_ControllerServicer_to_server(servicer, server):
|
|||||||
|
|
||||||
# This class is part of an EXPERIMENTAL API.
|
# This class is part of an EXPERIMENTAL API.
|
||||||
class Controller(object):
|
class Controller(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def CreateVolume(request,
|
def CreateVolume(request,
|
||||||
@ -369,6 +373,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -377,7 +382,7 @@ class Controller(object):
|
|||||||
csi__pb2.CreateVolumeRequest.SerializeToString,
|
csi__pb2.CreateVolumeRequest.SerializeToString,
|
||||||
csi__pb2.CreateVolumeResponse.FromString,
|
csi__pb2.CreateVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def DeleteVolume(request,
|
def DeleteVolume(request,
|
||||||
@ -385,6 +390,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -393,7 +399,7 @@ class Controller(object):
|
|||||||
csi__pb2.DeleteVolumeRequest.SerializeToString,
|
csi__pb2.DeleteVolumeRequest.SerializeToString,
|
||||||
csi__pb2.DeleteVolumeResponse.FromString,
|
csi__pb2.DeleteVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ControllerPublishVolume(request,
|
def ControllerPublishVolume(request,
|
||||||
@ -401,6 +407,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -409,7 +416,7 @@ class Controller(object):
|
|||||||
csi__pb2.ControllerPublishVolumeRequest.SerializeToString,
|
csi__pb2.ControllerPublishVolumeRequest.SerializeToString,
|
||||||
csi__pb2.ControllerPublishVolumeResponse.FromString,
|
csi__pb2.ControllerPublishVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ControllerUnpublishVolume(request,
|
def ControllerUnpublishVolume(request,
|
||||||
@ -417,6 +424,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -425,7 +433,7 @@ class Controller(object):
|
|||||||
csi__pb2.ControllerUnpublishVolumeRequest.SerializeToString,
|
csi__pb2.ControllerUnpublishVolumeRequest.SerializeToString,
|
||||||
csi__pb2.ControllerUnpublishVolumeResponse.FromString,
|
csi__pb2.ControllerUnpublishVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ValidateVolumeCapabilities(request,
|
def ValidateVolumeCapabilities(request,
|
||||||
@ -433,6 +441,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -441,7 +450,7 @@ class Controller(object):
|
|||||||
csi__pb2.ValidateVolumeCapabilitiesRequest.SerializeToString,
|
csi__pb2.ValidateVolumeCapabilitiesRequest.SerializeToString,
|
||||||
csi__pb2.ValidateVolumeCapabilitiesResponse.FromString,
|
csi__pb2.ValidateVolumeCapabilitiesResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ListVolumes(request,
|
def ListVolumes(request,
|
||||||
@ -449,6 +458,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -457,7 +467,7 @@ class Controller(object):
|
|||||||
csi__pb2.ListVolumesRequest.SerializeToString,
|
csi__pb2.ListVolumesRequest.SerializeToString,
|
||||||
csi__pb2.ListVolumesResponse.FromString,
|
csi__pb2.ListVolumesResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def GetCapacity(request,
|
def GetCapacity(request,
|
||||||
@ -465,6 +475,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -473,7 +484,7 @@ class Controller(object):
|
|||||||
csi__pb2.GetCapacityRequest.SerializeToString,
|
csi__pb2.GetCapacityRequest.SerializeToString,
|
||||||
csi__pb2.GetCapacityResponse.FromString,
|
csi__pb2.GetCapacityResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ControllerGetCapabilities(request,
|
def ControllerGetCapabilities(request,
|
||||||
@ -481,6 +492,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -489,7 +501,7 @@ class Controller(object):
|
|||||||
csi__pb2.ControllerGetCapabilitiesRequest.SerializeToString,
|
csi__pb2.ControllerGetCapabilitiesRequest.SerializeToString,
|
||||||
csi__pb2.ControllerGetCapabilitiesResponse.FromString,
|
csi__pb2.ControllerGetCapabilitiesResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def CreateSnapshot(request,
|
def CreateSnapshot(request,
|
||||||
@ -497,6 +509,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -505,7 +518,7 @@ class Controller(object):
|
|||||||
csi__pb2.CreateSnapshotRequest.SerializeToString,
|
csi__pb2.CreateSnapshotRequest.SerializeToString,
|
||||||
csi__pb2.CreateSnapshotResponse.FromString,
|
csi__pb2.CreateSnapshotResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def DeleteSnapshot(request,
|
def DeleteSnapshot(request,
|
||||||
@ -513,6 +526,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -521,7 +535,7 @@ class Controller(object):
|
|||||||
csi__pb2.DeleteSnapshotRequest.SerializeToString,
|
csi__pb2.DeleteSnapshotRequest.SerializeToString,
|
||||||
csi__pb2.DeleteSnapshotResponse.FromString,
|
csi__pb2.DeleteSnapshotResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ListSnapshots(request,
|
def ListSnapshots(request,
|
||||||
@ -529,6 +543,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -537,7 +552,7 @@ class Controller(object):
|
|||||||
csi__pb2.ListSnapshotsRequest.SerializeToString,
|
csi__pb2.ListSnapshotsRequest.SerializeToString,
|
||||||
csi__pb2.ListSnapshotsResponse.FromString,
|
csi__pb2.ListSnapshotsResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ControllerExpandVolume(request,
|
def ControllerExpandVolume(request,
|
||||||
@ -545,6 +560,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -553,7 +569,7 @@ class Controller(object):
|
|||||||
csi__pb2.ControllerExpandVolumeRequest.SerializeToString,
|
csi__pb2.ControllerExpandVolumeRequest.SerializeToString,
|
||||||
csi__pb2.ControllerExpandVolumeResponse.FromString,
|
csi__pb2.ControllerExpandVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def ControllerGetVolume(request,
|
def ControllerGetVolume(request,
|
||||||
@ -561,6 +577,7 @@ class Controller(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -569,11 +586,11 @@ class Controller(object):
|
|||||||
csi__pb2.ControllerGetVolumeRequest.SerializeToString,
|
csi__pb2.ControllerGetVolumeRequest.SerializeToString,
|
||||||
csi__pb2.ControllerGetVolumeResponse.FromString,
|
csi__pb2.ControllerGetVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
|
|
||||||
class NodeStub(object):
|
class NodeStub(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
def __init__(self, channel):
|
def __init__(self, channel):
|
||||||
"""Constructor.
|
"""Constructor.
|
||||||
@ -624,52 +641,52 @@ class NodeStub(object):
|
|||||||
|
|
||||||
|
|
||||||
class NodeServicer(object):
|
class NodeServicer(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
def NodeStageVolume(self, request, context):
|
def NodeStageVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def NodeUnstageVolume(self, request, context):
|
def NodeUnstageVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def NodePublishVolume(self, request, context):
|
def NodePublishVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def NodeUnpublishVolume(self, request, context):
|
def NodeUnpublishVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def NodeGetVolumeStats(self, request, context):
|
def NodeGetVolumeStats(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def NodeExpandVolume(self, request, context):
|
def NodeExpandVolume(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def NodeGetCapabilities(self, request, context):
|
def NodeGetCapabilities(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
def NodeGetInfo(self, request, context):
|
def NodeGetInfo(self, request, context):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
context.set_details('Method not implemented!')
|
context.set_details('Method not implemented!')
|
||||||
raise NotImplementedError('Method not implemented!')
|
raise NotImplementedError('Method not implemented!')
|
||||||
@ -725,7 +742,7 @@ def add_NodeServicer_to_server(servicer, server):
|
|||||||
|
|
||||||
# This class is part of an EXPERIMENTAL API.
|
# This class is part of an EXPERIMENTAL API.
|
||||||
class Node(object):
|
class Node(object):
|
||||||
"""Missing associated documentation comment in .proto file"""
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodeStageVolume(request,
|
def NodeStageVolume(request,
|
||||||
@ -733,6 +750,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -741,7 +759,7 @@ class Node(object):
|
|||||||
csi__pb2.NodeStageVolumeRequest.SerializeToString,
|
csi__pb2.NodeStageVolumeRequest.SerializeToString,
|
||||||
csi__pb2.NodeStageVolumeResponse.FromString,
|
csi__pb2.NodeStageVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodeUnstageVolume(request,
|
def NodeUnstageVolume(request,
|
||||||
@ -749,6 +767,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -757,7 +776,7 @@ class Node(object):
|
|||||||
csi__pb2.NodeUnstageVolumeRequest.SerializeToString,
|
csi__pb2.NodeUnstageVolumeRequest.SerializeToString,
|
||||||
csi__pb2.NodeUnstageVolumeResponse.FromString,
|
csi__pb2.NodeUnstageVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodePublishVolume(request,
|
def NodePublishVolume(request,
|
||||||
@ -765,6 +784,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -773,7 +793,7 @@ class Node(object):
|
|||||||
csi__pb2.NodePublishVolumeRequest.SerializeToString,
|
csi__pb2.NodePublishVolumeRequest.SerializeToString,
|
||||||
csi__pb2.NodePublishVolumeResponse.FromString,
|
csi__pb2.NodePublishVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodeUnpublishVolume(request,
|
def NodeUnpublishVolume(request,
|
||||||
@ -781,6 +801,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -789,7 +810,7 @@ class Node(object):
|
|||||||
csi__pb2.NodeUnpublishVolumeRequest.SerializeToString,
|
csi__pb2.NodeUnpublishVolumeRequest.SerializeToString,
|
||||||
csi__pb2.NodeUnpublishVolumeResponse.FromString,
|
csi__pb2.NodeUnpublishVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodeGetVolumeStats(request,
|
def NodeGetVolumeStats(request,
|
||||||
@ -797,6 +818,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -805,7 +827,7 @@ class Node(object):
|
|||||||
csi__pb2.NodeGetVolumeStatsRequest.SerializeToString,
|
csi__pb2.NodeGetVolumeStatsRequest.SerializeToString,
|
||||||
csi__pb2.NodeGetVolumeStatsResponse.FromString,
|
csi__pb2.NodeGetVolumeStatsResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodeExpandVolume(request,
|
def NodeExpandVolume(request,
|
||||||
@ -813,6 +835,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -821,7 +844,7 @@ class Node(object):
|
|||||||
csi__pb2.NodeExpandVolumeRequest.SerializeToString,
|
csi__pb2.NodeExpandVolumeRequest.SerializeToString,
|
||||||
csi__pb2.NodeExpandVolumeResponse.FromString,
|
csi__pb2.NodeExpandVolumeResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodeGetCapabilities(request,
|
def NodeGetCapabilities(request,
|
||||||
@ -829,6 +852,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -837,7 +861,7 @@ class Node(object):
|
|||||||
csi__pb2.NodeGetCapabilitiesRequest.SerializeToString,
|
csi__pb2.NodeGetCapabilitiesRequest.SerializeToString,
|
||||||
csi__pb2.NodeGetCapabilitiesResponse.FromString,
|
csi__pb2.NodeGetCapabilitiesResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def NodeGetInfo(request,
|
def NodeGetInfo(request,
|
||||||
@ -845,6 +869,7 @@ class Node(object):
|
|||||||
options=(),
|
options=(),
|
||||||
channel_credentials=None,
|
channel_credentials=None,
|
||||||
call_credentials=None,
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
compression=None,
|
compression=None,
|
||||||
wait_for_ready=None,
|
wait_for_ready=None,
|
||||||
timeout=None,
|
timeout=None,
|
||||||
@ -853,4 +878,4 @@ class Node(object):
|
|||||||
csi__pb2.NodeGetInfoRequest.SerializeToString,
|
csi__pb2.NodeGetInfoRequest.SerializeToString,
|
||||||
csi__pb2.NodeGetInfoResponse.FromString,
|
csi__pb2.NodeGetInfoResponse.FromString,
|
||||||
options, channel_credentials,
|
options, channel_credentials,
|
||||||
call_credentials, compression, wait_for_ready, timeout, metadata)
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||||
|
133
protos/csi.proto
133
protos/csi.proto
@ -395,6 +395,19 @@ message VolumeCapability {
|
|||||||
// to untrusted entities. The total size of this repeated field
|
// to untrusted entities. The total size of this repeated field
|
||||||
// SHALL NOT exceed 4 KiB.
|
// SHALL NOT exceed 4 KiB.
|
||||||
repeated string mount_flags = 2;
|
repeated string mount_flags = 2;
|
||||||
|
|
||||||
|
// If SP has VOLUME_MOUNT_GROUP node capability and CO provides
|
||||||
|
// this field then SP MUST ensure that the volume_mount_group
|
||||||
|
// parameter is passed as the group identifier to the underlying
|
||||||
|
// operating system mount system call, with the understanding
|
||||||
|
// that the set of available mount call parameters and/or
|
||||||
|
// mount implementations may vary across operating systems.
|
||||||
|
// Additionally, new file and/or directory entries written to
|
||||||
|
// the underlying filesystem SHOULD be permission-labeled in such a
|
||||||
|
// manner, unless otherwise modified by a workload, that they are
|
||||||
|
// both readable and writable by said mount group identifier.
|
||||||
|
// This is an OPTIONAL field.
|
||||||
|
string volume_mount_group = 3 [(alpha_field) = true];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Specify how a volume can be accessed.
|
// Specify how a volume can be accessed.
|
||||||
@ -420,6 +433,18 @@ message VolumeCapability {
|
|||||||
// Can be published as read/write at multiple nodes
|
// Can be published as read/write at multiple nodes
|
||||||
// simultaneously.
|
// simultaneously.
|
||||||
MULTI_NODE_MULTI_WRITER = 5;
|
MULTI_NODE_MULTI_WRITER = 5;
|
||||||
|
|
||||||
|
// Can only be published once as read/write at a single workload
|
||||||
|
// on a single node, at any given time. SHOULD be used instead of
|
||||||
|
// SINGLE_NODE_WRITER for COs using the experimental
|
||||||
|
// SINGLE_NODE_MULTI_WRITER capability.
|
||||||
|
SINGLE_NODE_SINGLE_WRITER = 6 [(alpha_enum_value) = true];
|
||||||
|
|
||||||
|
// Can be published as read/write at multiple workloads on a
|
||||||
|
// single node simultaneously. SHOULD be used instead of
|
||||||
|
// SINGLE_NODE_WRITER for COs using the experimental
|
||||||
|
// SINGLE_NODE_MULTI_WRITER capability.
|
||||||
|
SINGLE_NODE_MULTI_WRITER = 7 [(alpha_enum_value) = true];
|
||||||
}
|
}
|
||||||
|
|
||||||
// This field is REQUIRED.
|
// This field is REQUIRED.
|
||||||
@ -947,6 +972,42 @@ message GetCapacityResponse {
|
|||||||
// storage. This field is REQUIRED.
|
// storage. This field is REQUIRED.
|
||||||
// The value of this field MUST NOT be negative.
|
// The value of this field MUST NOT be negative.
|
||||||
int64 available_capacity = 1;
|
int64 available_capacity = 1;
|
||||||
|
|
||||||
|
// The largest size that may be used in a
|
||||||
|
// CreateVolumeRequest.capacity_range.required_bytes field
|
||||||
|
// to create a volume with the same parameters as those in
|
||||||
|
// GetCapacityRequest.
|
||||||
|
//
|
||||||
|
// If `volume_capabilities` or `parameters` is
|
||||||
|
// specified in the request, the Plugin SHALL take those into
|
||||||
|
// consideration when calculating the minimum volume size of the
|
||||||
|
// storage.
|
||||||
|
//
|
||||||
|
// This field is OPTIONAL. MUST NOT be negative.
|
||||||
|
// The Plugin SHOULD provide a value for this field if it has
|
||||||
|
// a maximum size for individual volumes and leave it unset
|
||||||
|
// otherwise. COs MAY use it to make decision about
|
||||||
|
// where to create volumes.
|
||||||
|
google.protobuf.Int64Value maximum_volume_size = 2
|
||||||
|
[(alpha_field) = true];
|
||||||
|
|
||||||
|
// The smallest size that may be used in a
|
||||||
|
// CreateVolumeRequest.capacity_range.limit_bytes field
|
||||||
|
// to create a volume with the same parameters as those in
|
||||||
|
// GetCapacityRequest.
|
||||||
|
//
|
||||||
|
// If `volume_capabilities` or `parameters` is
|
||||||
|
// specified in the request, the Plugin SHALL take those into
|
||||||
|
// consideration when calculating the maximum volume size of the
|
||||||
|
// storage.
|
||||||
|
//
|
||||||
|
// This field is OPTIONAL. MUST NOT be negative.
|
||||||
|
// The Plugin SHOULD provide a value for this field if it has
|
||||||
|
// a minimum size for individual volumes and leave it unset
|
||||||
|
// otherwise. COs MAY use it to make decision about
|
||||||
|
// where to create volumes.
|
||||||
|
google.protobuf.Int64Value minimum_volume_size = 3
|
||||||
|
[(alpha_field) = true];
|
||||||
}
|
}
|
||||||
message ControllerGetCapabilitiesRequest {
|
message ControllerGetCapabilitiesRequest {
|
||||||
// Intentionally empty.
|
// Intentionally empty.
|
||||||
@ -1008,6 +1069,16 @@ message ControllerServiceCapability {
|
|||||||
// This enables COs to, for example, fetch per volume
|
// This enables COs to, for example, fetch per volume
|
||||||
// condition after a volume is provisioned.
|
// condition after a volume is provisioned.
|
||||||
GET_VOLUME = 12 [(alpha_enum_value) = true];
|
GET_VOLUME = 12 [(alpha_enum_value) = true];
|
||||||
|
|
||||||
|
// Indicates the SP supports the SINGLE_NODE_SINGLE_WRITER and/or
|
||||||
|
// SINGLE_NODE_MULTI_WRITER access modes.
|
||||||
|
// These access modes are intended to replace the
|
||||||
|
// SINGLE_NODE_WRITER access mode to clarify the number of writers
|
||||||
|
// for a volume on a single node. Plugins MUST accept and allow
|
||||||
|
// use of the SINGLE_NODE_WRITER access mode when either
|
||||||
|
// SINGLE_NODE_SINGLE_WRITER and/or SINGLE_NODE_MULTI_WRITER are
|
||||||
|
// supported, in order to permit older COs to continue working.
|
||||||
|
SINGLE_NODE_MULTI_WRITER = 13 [(alpha_enum_value) = true];
|
||||||
}
|
}
|
||||||
|
|
||||||
Type type = 1;
|
Type type = 1;
|
||||||
@ -1206,6 +1277,10 @@ message NodeStageVolumeRequest {
|
|||||||
// CO SHALL be responsible for creating the directory if it does not
|
// CO SHALL be responsible for creating the directory if it does not
|
||||||
// exist.
|
// exist.
|
||||||
// This is a REQUIRED field.
|
// This is a REQUIRED field.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string staging_target_path = 3;
|
string staging_target_path = 3;
|
||||||
|
|
||||||
// Volume capability describing how the CO intends to use this volume.
|
// Volume capability describing how the CO intends to use this volume.
|
||||||
@ -1236,6 +1311,10 @@ message NodeUnstageVolumeRequest {
|
|||||||
// The path at which the volume was staged. It MUST be an absolute
|
// The path at which the volume was staged. It MUST be an absolute
|
||||||
// path in the root filesystem of the process serving this request.
|
// path in the root filesystem of the process serving this request.
|
||||||
// This is a REQUIRED field.
|
// This is a REQUIRED field.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string staging_target_path = 2;
|
string staging_target_path = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1259,6 +1338,10 @@ message NodePublishVolumeRequest {
|
|||||||
// It MUST be set if the Node Plugin implements the
|
// It MUST be set if the Node Plugin implements the
|
||||||
// `STAGE_UNSTAGE_VOLUME` node capability.
|
// `STAGE_UNSTAGE_VOLUME` node capability.
|
||||||
// This is an OPTIONAL field.
|
// This is an OPTIONAL field.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string staging_target_path = 3;
|
string staging_target_path = 3;
|
||||||
|
|
||||||
// The path to which the volume will be published. It MUST be an
|
// The path to which the volume will be published. It MUST be an
|
||||||
@ -1273,6 +1356,10 @@ message NodePublishVolumeRequest {
|
|||||||
// mounted directory at target_path.
|
// mounted directory at target_path.
|
||||||
// Creation of target_path is the responsibility of the SP.
|
// Creation of target_path is the responsibility of the SP.
|
||||||
// This is a REQUIRED field.
|
// This is a REQUIRED field.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string target_path = 4;
|
string target_path = 4;
|
||||||
|
|
||||||
// Volume capability describing how the CO intends to use this volume.
|
// Volume capability describing how the CO intends to use this volume.
|
||||||
@ -1308,6 +1395,10 @@ message NodeUnpublishVolumeRequest {
|
|||||||
// path in the root filesystem of the process serving this request.
|
// path in the root filesystem of the process serving this request.
|
||||||
// The SP MUST delete the file or directory it created at this path.
|
// The SP MUST delete the file or directory it created at this path.
|
||||||
// This is a REQUIRED field.
|
// This is a REQUIRED field.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string target_path = 2;
|
string target_path = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1323,6 +1414,10 @@ message NodeGetVolumeStatsRequest {
|
|||||||
// It MUST be an absolute path in the root filesystem of
|
// It MUST be an absolute path in the root filesystem of
|
||||||
// the process serving this request.
|
// the process serving this request.
|
||||||
// This is a REQUIRED field.
|
// This is a REQUIRED field.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string volume_path = 2;
|
string volume_path = 2;
|
||||||
|
|
||||||
// The path where the volume is staged, if the plugin has the
|
// The path where the volume is staged, if the plugin has the
|
||||||
@ -1330,6 +1425,10 @@ message NodeGetVolumeStatsRequest {
|
|||||||
// If not empty, it MUST be an absolute path in the root
|
// If not empty, it MUST be an absolute path in the root
|
||||||
// filesystem of the process serving this request.
|
// filesystem of the process serving this request.
|
||||||
// This field is OPTIONAL.
|
// This field is OPTIONAL.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string staging_target_path = 3;
|
string staging_target_path = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1412,6 +1511,22 @@ message NodeServiceCapability {
|
|||||||
// Note that, for alpha, `VolumeCondition` is intended to be
|
// Note that, for alpha, `VolumeCondition` is intended to be
|
||||||
// informative for humans only, not for automation.
|
// informative for humans only, not for automation.
|
||||||
VOLUME_CONDITION = 4 [(alpha_enum_value) = true];
|
VOLUME_CONDITION = 4 [(alpha_enum_value) = true];
|
||||||
|
|
||||||
|
// Indicates the SP supports the SINGLE_NODE_SINGLE_WRITER and/or
|
||||||
|
// SINGLE_NODE_MULTI_WRITER access modes.
|
||||||
|
// These access modes are intended to replace the
|
||||||
|
// SINGLE_NODE_WRITER access mode to clarify the number of writers
|
||||||
|
// for a volume on a single node. Plugins MUST accept and allow
|
||||||
|
// use of the SINGLE_NODE_WRITER access mode (subject to the
|
||||||
|
// processing rules for NodePublishVolume), when either
|
||||||
|
// SINGLE_NODE_SINGLE_WRITER and/or SINGLE_NODE_MULTI_WRITER are
|
||||||
|
// supported, in order to permit older COs to continue working.
|
||||||
|
SINGLE_NODE_MULTI_WRITER = 5 [(alpha_enum_value) = true];
|
||||||
|
|
||||||
|
// Indicates that Node service supports mounting volumes
|
||||||
|
// with provided volume group identifier during node stage
|
||||||
|
// or node publish RPC calls.
|
||||||
|
VOLUME_MOUNT_GROUP = 6 [(alpha_enum_value) = true];
|
||||||
}
|
}
|
||||||
|
|
||||||
Type type = 1;
|
Type type = 1;
|
||||||
@ -1434,6 +1549,10 @@ message NodeGetInfoResponse {
|
|||||||
// `ControllerPublishVolume`, to refer to this node.
|
// `ControllerPublishVolume`, to refer to this node.
|
||||||
// The SP is NOT responsible for global uniqueness of node_id across
|
// The SP is NOT responsible for global uniqueness of node_id across
|
||||||
// multiple SPs.
|
// multiple SPs.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// The size of this field SHALL NOT exceed 256 bytes. The general
|
||||||
|
// CSI size limit, 128 byte, is RECOMMENDED for best backwards
|
||||||
|
// compatibility.
|
||||||
string node_id = 1;
|
string node_id = 1;
|
||||||
|
|
||||||
// Maximum number of volumes that controller can publish to the node.
|
// Maximum number of volumes that controller can publish to the node.
|
||||||
@ -1467,6 +1586,10 @@ message NodeExpandVolumeRequest {
|
|||||||
string volume_id = 1;
|
string volume_id = 1;
|
||||||
|
|
||||||
// The path on which volume is available. This field is REQUIRED.
|
// The path on which volume is available. This field is REQUIRED.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string volume_path = 2;
|
string volume_path = 2;
|
||||||
|
|
||||||
// This allows CO to specify the capacity requirements of the volume
|
// This allows CO to specify the capacity requirements of the volume
|
||||||
@ -1482,6 +1605,10 @@ message NodeExpandVolumeRequest {
|
|||||||
// If not empty, it MUST be an absolute path in the root
|
// If not empty, it MUST be an absolute path in the root
|
||||||
// filesystem of the process serving this request.
|
// filesystem of the process serving this request.
|
||||||
// This field is OPTIONAL.
|
// This field is OPTIONAL.
|
||||||
|
// This field overrides the general CSI size limit.
|
||||||
|
// SP SHOULD support the maximum path length allowed by the operating
|
||||||
|
// system/filesystem, but, at a minimum, SP MUST accept a max path
|
||||||
|
// length of at least 128 bytes.
|
||||||
string staging_target_path = 4;
|
string staging_target_path = 4;
|
||||||
|
|
||||||
// Volume capability describing how the CO intends to use this volume.
|
// Volume capability describing how the CO intends to use this volume.
|
||||||
@ -1494,6 +1621,12 @@ message NodeExpandVolumeRequest {
|
|||||||
// access_type from given volume_path for the volume and perform
|
// access_type from given volume_path for the volume and perform
|
||||||
// node expansion. This is an OPTIONAL field.
|
// node expansion. This is an OPTIONAL field.
|
||||||
VolumeCapability volume_capability = 5;
|
VolumeCapability volume_capability = 5;
|
||||||
|
|
||||||
|
// Secrets required by plugin to complete node expand volume request.
|
||||||
|
// This field is OPTIONAL. Refer to the `Secrets Requirements`
|
||||||
|
// section on how to use this field.
|
||||||
|
map<string, string> secrets = 6
|
||||||
|
[(csi_secret) = true, (alpha_field) = true];
|
||||||
}
|
}
|
||||||
|
|
||||||
message NodeExpandVolumeResponse {
|
message NodeExpandVolumeResponse {
|
||||||
|
Loading…
Reference in New Issue
Block a user