#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Target {
#[serde(rename = "health_status", skip_serializing_if = "Option::is_none")]
pub health_status: Option<Vec<crate::models::HealthStatus>>,
#[serde(rename = "ip", skip_serializing_if = "Option::is_none")]
pub ip: Option<Box<crate::models::AddTargetRequestIp>>,
#[serde(rename = "label_selector", skip_serializing_if = "Option::is_none")]
pub label_selector: Option<Box<crate::models::LabelSelector>>,
#[serde(rename = "server", skip_serializing_if = "Option::is_none")]
pub server: Option<Box<crate::models::ResourceId>>,
#[serde(rename = "targets", skip_serializing_if = "Option::is_none")]
pub targets: Option<Vec<crate::models::SelectedTarget>>,
#[serde(rename = "type")]
pub r#type: Type,
#[serde(rename = "use_private_ip", skip_serializing_if = "Option::is_none")]
pub use_private_ip: Option<bool>,
}
impl Target {
#![allow(clippy::too_many_arguments)]
pub fn new(r#type: Type) -> Target {
Target {
health_status: None,
ip: None,
label_selector: None,
server: None,
targets: None,
r#type,
use_private_ip: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "ip")]
Ip,
#[serde(rename = "label_selector")]
LabelSelector,
#[serde(rename = "server")]
Server,
}
impl Default for Type {
fn default() -> Type {
Self::Ip
}
}