oci_rust_sdk/core/models/
instance_availability_config.rs1use serde::{Deserialize, Serialize};
2
3#[allow(unused_imports)]
4use super::*;
5#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct InstanceAvailabilityConfig {
9 #[serde(skip_serializing_if = "Option::is_none")]
11 pub is_live_migration_preferred: Option<bool>,
12
13 #[serde(skip_serializing_if = "Option::is_none")]
15 pub recovery_action: Option<InstanceAvailabilityConfigRecoveryAction>,
16}
17
18impl InstanceAvailabilityConfig {
19 pub fn new() -> Self {
21 Self {
22 is_live_migration_preferred: None,
23
24 recovery_action: None,
25 }
26 }
27
28 pub fn set_is_live_migration_preferred(mut self, value: Option<bool>) -> Self {
30 self.is_live_migration_preferred = value;
31 self
32 }
33
34 pub fn set_recovery_action(
36 mut self,
37 value: Option<InstanceAvailabilityConfigRecoveryAction>,
38 ) -> Self {
39 self.recovery_action = value;
40 self
41 }
42
43 pub fn with_is_live_migration_preferred(mut self, value: bool) -> Self {
45 self.is_live_migration_preferred = Some(value);
46 self
47 }
48
49 pub fn with_recovery_action(mut self, value: InstanceAvailabilityConfigRecoveryAction) -> Self {
51 self.recovery_action = Some(value);
52 self
53 }
54}
55
56impl Default for InstanceAvailabilityConfig {
57 fn default() -> Self {
58 Self::new()
59 }
60}