#[non_exhaustive]pub struct InstanceConfig {Show 13 fields
pub name: String,
pub id: String,
pub instance_type: String,
pub hyperthreading: bool,
pub os_image: String,
pub client_network: Option<NetworkAddress>,
pub private_network: Option<NetworkAddress>,
pub user_note: String,
pub account_networks_enabled: bool,
pub network_config: NetworkConfig,
pub network_template: String,
pub logical_interfaces: Vec<LogicalInterface>,
pub ssh_key_names: Vec<String>,
/* private fields */
}Expand description
Configuration parameters for a new instance.
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.name: StringOutput only. The name of the instance config.
id: StringA transient unique identifier to idenfity an instance within an ProvisioningConfig request.
instance_type: StringInstance type. Available types
hyperthreading: boolWhether the instance should be provisioned with Hyperthreading enabled.
os_image: StringOS image to initialize the instance. Available images
client_network: Option<NetworkAddress>Client network address. Filled if InstanceConfig.multivlan_config is false.
private_network: Option<NetworkAddress>Private network address, if any. Filled if InstanceConfig.multivlan_config is false.
user_note: StringUser note field, it can be used by customers to add additional information for the BMS Ops team .
account_networks_enabled: boolIf true networks can be from different projects of the same vendor account.
network_config: NetworkConfigThe type of network configuration on the instance.
network_template: StringServer network template name. Filled if InstanceConfig.multivlan_config is true.
logical_interfaces: Vec<LogicalInterface>List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. Filled if InstanceConfig.multivlan_config is true.
ssh_key_names: Vec<String>List of names of ssh keys used to provision the instance.
Implementations§
Source§impl InstanceConfig
impl InstanceConfig
Sourcepub fn set_instance_type<T: Into<String>>(self, v: T) -> Self
pub fn set_instance_type<T: Into<String>>(self, v: T) -> Self
Sets the value of instance_type.
§Example
let x = InstanceConfig::new().set_instance_type("example");Sourcepub fn set_hyperthreading<T: Into<bool>>(self, v: T) -> Self
pub fn set_hyperthreading<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_os_image<T: Into<String>>(self, v: T) -> Self
pub fn set_os_image<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_client_network<T>(self, v: T) -> Selfwhere
T: Into<NetworkAddress>,
👎Deprecated
pub fn set_client_network<T>(self, v: T) -> Selfwhere
T: Into<NetworkAddress>,
Sets the value of client_network.
§Example
use google_cloud_baremetalsolution_v2::model::instance_config::NetworkAddress;
let x = InstanceConfig::new().set_client_network(NetworkAddress::default()/* use setters */);Sourcepub fn set_or_clear_client_network<T>(self, v: Option<T>) -> Selfwhere
T: Into<NetworkAddress>,
👎Deprecated
pub fn set_or_clear_client_network<T>(self, v: Option<T>) -> Selfwhere
T: Into<NetworkAddress>,
Sets or clears the value of client_network.
§Example
use google_cloud_baremetalsolution_v2::model::instance_config::NetworkAddress;
let x = InstanceConfig::new().set_or_clear_client_network(Some(NetworkAddress::default()/* use setters */));
let x = InstanceConfig::new().set_or_clear_client_network(None::<NetworkAddress>);Sourcepub fn set_private_network<T>(self, v: T) -> Selfwhere
T: Into<NetworkAddress>,
👎Deprecated
pub fn set_private_network<T>(self, v: T) -> Selfwhere
T: Into<NetworkAddress>,
Sets the value of private_network.
§Example
use google_cloud_baremetalsolution_v2::model::instance_config::NetworkAddress;
let x = InstanceConfig::new().set_private_network(NetworkAddress::default()/* use setters */);Sourcepub fn set_or_clear_private_network<T>(self, v: Option<T>) -> Selfwhere
T: Into<NetworkAddress>,
👎Deprecated
pub fn set_or_clear_private_network<T>(self, v: Option<T>) -> Selfwhere
T: Into<NetworkAddress>,
Sets or clears the value of private_network.
§Example
use google_cloud_baremetalsolution_v2::model::instance_config::NetworkAddress;
let x = InstanceConfig::new().set_or_clear_private_network(Some(NetworkAddress::default()/* use setters */));
let x = InstanceConfig::new().set_or_clear_private_network(None::<NetworkAddress>);Sourcepub fn set_user_note<T: Into<String>>(self, v: T) -> Self
pub fn set_user_note<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_account_networks_enabled<T: Into<bool>>(self, v: T) -> Self
pub fn set_account_networks_enabled<T: Into<bool>>(self, v: T) -> Self
Sets the value of account_networks_enabled.
§Example
let x = InstanceConfig::new().set_account_networks_enabled(true);Sourcepub fn set_network_config<T: Into<NetworkConfig>>(self, v: T) -> Self
pub fn set_network_config<T: Into<NetworkConfig>>(self, v: T) -> Self
Sets the value of network_config.
§Example
use google_cloud_baremetalsolution_v2::model::instance_config::NetworkConfig;
let x0 = InstanceConfig::new().set_network_config(NetworkConfig::SingleVlan);
let x1 = InstanceConfig::new().set_network_config(NetworkConfig::MultiVlan);Sourcepub fn set_network_template<T: Into<String>>(self, v: T) -> Self
pub fn set_network_template<T: Into<String>>(self, v: T) -> Self
Sets the value of network_template.
§Example
let x = InstanceConfig::new().set_network_template("example");Sourcepub fn set_logical_interfaces<T, V>(self, v: T) -> Self
pub fn set_logical_interfaces<T, V>(self, v: T) -> Self
Sets the value of logical_interfaces.
§Example
use google_cloud_baremetalsolution_v2::model::LogicalInterface;
let x = InstanceConfig::new()
.set_logical_interfaces([
LogicalInterface::default()/* use setters */,
LogicalInterface::default()/* use (different) setters */,
]);Sourcepub fn set_ssh_key_names<T, V>(self, v: T) -> Self
pub fn set_ssh_key_names<T, V>(self, v: T) -> Self
Sets the value of ssh_key_names.
§Example
let x = InstanceConfig::new().set_ssh_key_names(["a", "b", "c"]);Trait Implementations§
Source§impl Clone for InstanceConfig
impl Clone for InstanceConfig
Source§fn clone(&self) -> InstanceConfig
fn clone(&self) -> InstanceConfig
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 InstanceConfig
impl Debug for InstanceConfig
Source§impl Default for InstanceConfig
impl Default for InstanceConfig
Source§fn default() -> InstanceConfig
fn default() -> InstanceConfig
Source§impl Message for InstanceConfig
impl Message for InstanceConfig
Source§impl PartialEq for InstanceConfig
impl PartialEq for InstanceConfig
impl StructuralPartialEq for InstanceConfig
Auto Trait Implementations§
impl Freeze for InstanceConfig
impl RefUnwindSafe for InstanceConfig
impl Send for InstanceConfig
impl Sync for InstanceConfig
impl Unpin for InstanceConfig
impl UnsafeUnpin for InstanceConfig
impl UnwindSafe for InstanceConfig
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