pub struct NodeGetInfoResponse {
pub node_id: String,
pub max_volumes_per_node: i64,
pub accessible_topology: Option<Topology>,
}Fields§
§node_id: StringThe 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.
max_volumes_per_node: i64Maximum 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.
accessible_topology: Option<Topology>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”.
Trait Implementations§
Source§impl Clone for NodeGetInfoResponse
impl Clone for NodeGetInfoResponse
Source§fn clone(&self) -> NodeGetInfoResponse
fn clone(&self) -> NodeGetInfoResponse
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NodeGetInfoResponse
impl Debug for NodeGetInfoResponse
Source§impl Default for NodeGetInfoResponse
impl Default for NodeGetInfoResponse
Source§impl Message for NodeGetInfoResponse
impl Message for NodeGetInfoResponse
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 NodeGetInfoResponse
impl PartialEq for NodeGetInfoResponse
impl StructuralPartialEq for NodeGetInfoResponse
Auto Trait Implementations§
impl Freeze for NodeGetInfoResponse
impl RefUnwindSafe for NodeGetInfoResponse
impl Send for NodeGetInfoResponse
impl Sync for NodeGetInfoResponse
impl Unpin for NodeGetInfoResponse
impl UnwindSafe for NodeGetInfoResponse
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