pub struct NodePublishVolumeRequest {
pub volume_id: String,
pub publish_context: BTreeMap<String, String>,
pub staging_target_path: String,
pub target_path: String,
pub volume_capability: Option<VolumeCapability>,
pub readonly: bool,
pub secrets: BTreeMap<String, String>,
pub volume_context: BTreeMap<String, String>,
}Fields§
§volume_id: StringThe ID of the volume to publish. This field is REQUIRED.
publish_context: BTreeMap<String, String>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.
staging_target_path: StringThe 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.
target_path: StringThe 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.
volume_capability: Option<VolumeCapability>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.
readonly: boolIndicates SP MUST publish the volume in readonly mode. This field is REQUIRED.
secrets: BTreeMap<String, String>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.
volume_context: BTreeMap<String, String>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.
Trait Implementations§
Source§impl Clone for NodePublishVolumeRequest
impl Clone for NodePublishVolumeRequest
Source§fn clone(&self) -> NodePublishVolumeRequest
fn clone(&self) -> NodePublishVolumeRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NodePublishVolumeRequest
impl Debug for NodePublishVolumeRequest
Source§impl Default for NodePublishVolumeRequest
impl Default for NodePublishVolumeRequest
Source§impl Message for NodePublishVolumeRequest
impl Message for NodePublishVolumeRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self.Source§impl PartialEq for NodePublishVolumeRequest
impl PartialEq for NodePublishVolumeRequest
impl StructuralPartialEq for NodePublishVolumeRequest
Auto Trait Implementations§
impl Freeze for NodePublishVolumeRequest
impl RefUnwindSafe for NodePublishVolumeRequest
impl Send for NodePublishVolumeRequest
impl Sync for NodePublishVolumeRequest
impl Unpin for NodePublishVolumeRequest
impl UnwindSafe for NodePublishVolumeRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request