#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct AddTargetRequest {
#[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::AddTargetRequestServer>>,
#[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 AddTargetRequest {
#![allow(clippy::too_many_arguments)]
pub fn new(r#type: Type) -> AddTargetRequest {
AddTargetRequest {
ip: None,
label_selector: None,
server: 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
}
}