#[non_exhaustive]pub struct EthereumDetails {
pub network: Option<Network>,
pub node_type: Option<NodeType>,
pub execution_client: Option<ExecutionClient>,
pub consensus_client: Option<ConsensusClient>,
pub api_enable_admin: Option<bool>,
pub api_enable_debug: Option<bool>,
pub additional_endpoints: Option<EthereumEndpoints>,
pub validator_config: Option<ValidatorConfig>,
pub execution_client_details: Option<ExecutionClientDetails>,
/* private fields */
}Expand description
Ethereum-specific blockchain node details.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.network: Option<Network>Immutable. The Ethereum environment being accessed.
node_type: Option<NodeType>Immutable. The type of Ethereum node.
execution_client: Option<ExecutionClient>Immutable. The execution client
consensus_client: Option<ConsensusClient>Immutable. The consensus client.
api_enable_admin: Option<bool>Immutable. Enables JSON-RPC access to functions in the admin namespace.
Defaults to false.
api_enable_debug: Option<bool>Immutable. Enables JSON-RPC access to functions in the debug namespace.
Defaults to false.
additional_endpoints: Option<EthereumEndpoints>Output only. Ethereum-specific endpoint information.
validator_config: Option<ValidatorConfig>Configuration for validator-related parameters on the beacon client, and for any GCP-managed validator client.
execution_client_details: Option<ExecutionClientDetails>Options for the execution client.
Implementations§
Source§impl EthereumDetails
impl EthereumDetails
Sourcepub fn set_network<T>(self, v: T) -> Self
pub fn set_network<T>(self, v: T) -> Self
Sets the value of network.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::Network;
let x0 = EthereumDetails::new().set_network(Network::Mainnet);
let x1 = EthereumDetails::new().set_network(Network::TestnetSepolia);
let x2 = EthereumDetails::new().set_network(Network::TestnetHolesky);Sourcepub fn set_or_clear_network<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_network<T>(self, v: Option<T>) -> Self
Sets or clears the value of network.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::Network;
let x0 = EthereumDetails::new().set_or_clear_network(Some(Network::Mainnet));
let x1 = EthereumDetails::new().set_or_clear_network(Some(Network::TestnetSepolia));
let x2 = EthereumDetails::new().set_or_clear_network(Some(Network::TestnetHolesky));
let x_none = EthereumDetails::new().set_or_clear_network(None::<Network>);Sourcepub fn set_node_type<T>(self, v: T) -> Self
pub fn set_node_type<T>(self, v: T) -> Self
Sets the value of node_type.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::NodeType;
let x0 = EthereumDetails::new().set_node_type(NodeType::Light);
let x1 = EthereumDetails::new().set_node_type(NodeType::Full);
let x2 = EthereumDetails::new().set_node_type(NodeType::Archive);Sourcepub fn set_or_clear_node_type<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_node_type<T>(self, v: Option<T>) -> Self
Sets or clears the value of node_type.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::NodeType;
let x0 = EthereumDetails::new().set_or_clear_node_type(Some(NodeType::Light));
let x1 = EthereumDetails::new().set_or_clear_node_type(Some(NodeType::Full));
let x2 = EthereumDetails::new().set_or_clear_node_type(Some(NodeType::Archive));
let x_none = EthereumDetails::new().set_or_clear_node_type(None::<NodeType>);Sourcepub fn set_execution_client<T>(self, v: T) -> Selfwhere
T: Into<ExecutionClient>,
pub fn set_execution_client<T>(self, v: T) -> Selfwhere
T: Into<ExecutionClient>,
Sets the value of execution_client.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::ExecutionClient;
let x0 = EthereumDetails::new().set_execution_client(ExecutionClient::Geth);
let x1 = EthereumDetails::new().set_execution_client(ExecutionClient::Erigon);Sourcepub fn set_or_clear_execution_client<T>(self, v: Option<T>) -> Selfwhere
T: Into<ExecutionClient>,
pub fn set_or_clear_execution_client<T>(self, v: Option<T>) -> Selfwhere
T: Into<ExecutionClient>,
Sets or clears the value of execution_client.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::ExecutionClient;
let x0 = EthereumDetails::new().set_or_clear_execution_client(Some(ExecutionClient::Geth));
let x1 = EthereumDetails::new().set_or_clear_execution_client(Some(ExecutionClient::Erigon));
let x_none = EthereumDetails::new().set_or_clear_execution_client(None::<ExecutionClient>);Sourcepub fn set_consensus_client<T>(self, v: T) -> Selfwhere
T: Into<ConsensusClient>,
pub fn set_consensus_client<T>(self, v: T) -> Selfwhere
T: Into<ConsensusClient>,
Sets the value of consensus_client.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::ConsensusClient;
let x0 = EthereumDetails::new().set_consensus_client(ConsensusClient::Lighthouse);Sourcepub fn set_or_clear_consensus_client<T>(self, v: Option<T>) -> Selfwhere
T: Into<ConsensusClient>,
pub fn set_or_clear_consensus_client<T>(self, v: Option<T>) -> Selfwhere
T: Into<ConsensusClient>,
Sets or clears the value of consensus_client.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::ConsensusClient;
let x0 = EthereumDetails::new().set_or_clear_consensus_client(Some(ConsensusClient::Lighthouse));
let x_none = EthereumDetails::new().set_or_clear_consensus_client(None::<ConsensusClient>);Sourcepub fn set_api_enable_admin<T>(self, v: T) -> Self
pub fn set_api_enable_admin<T>(self, v: T) -> Self
Sets the value of api_enable_admin.
§Example
let x = EthereumDetails::new().set_api_enable_admin(true);Sourcepub fn set_or_clear_api_enable_admin<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_api_enable_admin<T>(self, v: Option<T>) -> Self
Sets or clears the value of api_enable_admin.
§Example
let x = EthereumDetails::new().set_or_clear_api_enable_admin(Some(false));
let x = EthereumDetails::new().set_or_clear_api_enable_admin(None::<bool>);Sourcepub fn set_api_enable_debug<T>(self, v: T) -> Self
pub fn set_api_enable_debug<T>(self, v: T) -> Self
Sets the value of api_enable_debug.
§Example
let x = EthereumDetails::new().set_api_enable_debug(true);Sourcepub fn set_or_clear_api_enable_debug<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_api_enable_debug<T>(self, v: Option<T>) -> Self
Sets or clears the value of api_enable_debug.
§Example
let x = EthereumDetails::new().set_or_clear_api_enable_debug(Some(false));
let x = EthereumDetails::new().set_or_clear_api_enable_debug(None::<bool>);Sourcepub fn set_additional_endpoints<T>(self, v: T) -> Selfwhere
T: Into<EthereumEndpoints>,
pub fn set_additional_endpoints<T>(self, v: T) -> Selfwhere
T: Into<EthereumEndpoints>,
Sets the value of additional_endpoints.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::EthereumEndpoints;
let x = EthereumDetails::new().set_additional_endpoints(EthereumEndpoints::default()/* use setters */);Sourcepub fn set_or_clear_additional_endpoints<T>(self, v: Option<T>) -> Selfwhere
T: Into<EthereumEndpoints>,
pub fn set_or_clear_additional_endpoints<T>(self, v: Option<T>) -> Selfwhere
T: Into<EthereumEndpoints>,
Sets or clears the value of additional_endpoints.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::EthereumEndpoints;
let x = EthereumDetails::new().set_or_clear_additional_endpoints(Some(EthereumEndpoints::default()/* use setters */));
let x = EthereumDetails::new().set_or_clear_additional_endpoints(None::<EthereumEndpoints>);Sourcepub fn set_validator_config<T>(self, v: T) -> Selfwhere
T: Into<ValidatorConfig>,
pub fn set_validator_config<T>(self, v: T) -> Selfwhere
T: Into<ValidatorConfig>,
Sets the value of validator_config.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::ValidatorConfig;
let x = EthereumDetails::new().set_validator_config(ValidatorConfig::default()/* use setters */);Sourcepub fn set_or_clear_validator_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<ValidatorConfig>,
pub fn set_or_clear_validator_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<ValidatorConfig>,
Sets or clears the value of validator_config.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::ValidatorConfig;
let x = EthereumDetails::new().set_or_clear_validator_config(Some(ValidatorConfig::default()/* use setters */));
let x = EthereumDetails::new().set_or_clear_validator_config(None::<ValidatorConfig>);Sourcepub fn set_execution_client_details<T: Into<Option<ExecutionClientDetails>>>(
self,
v: T,
) -> Self
pub fn set_execution_client_details<T: Into<Option<ExecutionClientDetails>>>( self, v: T, ) -> Self
Sets the value of execution_client_details.
Note that all the setters affecting execution_client_details are mutually
exclusive.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::GethDetails;
let x = EthereumDetails::new().set_execution_client_details(Some(
google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::ExecutionClientDetails::GethDetails(GethDetails::default().into())));Sourcepub fn geth_details(&self) -> Option<&Box<GethDetails>>
pub fn geth_details(&self) -> Option<&Box<GethDetails>>
The value of execution_client_details
if it holds a GethDetails, None if the field is not set or
holds a different branch.
Sourcepub fn set_geth_details<T: Into<Box<GethDetails>>>(self, v: T) -> Self
pub fn set_geth_details<T: Into<Box<GethDetails>>>(self, v: T) -> Self
Sets the value of execution_client_details
to hold a GethDetails.
Note that all the setters affecting execution_client_details are
mutually exclusive.
§Example
use google_cloud_blockchainnodeengine_v1::model::blockchain_node::ethereum_details::GethDetails;
let x = EthereumDetails::new().set_geth_details(GethDetails::default()/* use setters */);
assert!(x.geth_details().is_some());Trait Implementations§
Source§impl Clone for EthereumDetails
impl Clone for EthereumDetails
Source§fn clone(&self) -> EthereumDetails
fn clone(&self) -> EthereumDetails
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EthereumDetails
impl Debug for EthereumDetails
Source§impl Default for EthereumDetails
impl Default for EthereumDetails
Source§fn default() -> EthereumDetails
fn default() -> EthereumDetails
Source§impl Message for EthereumDetails
impl Message for EthereumDetails
Source§impl PartialEq for EthereumDetails
impl PartialEq for EthereumDetails
impl StructuralPartialEq for EthereumDetails
Auto Trait Implementations§
impl Freeze for EthereumDetails
impl RefUnwindSafe for EthereumDetails
impl Send for EthereumDetails
impl Sync for EthereumDetails
impl Unpin for EthereumDetails
impl UnsafeUnpin for EthereumDetails
impl UnwindSafe for EthereumDetails
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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