linode_api/objects/v4/linode_instances/
ip_address.rs1use std::net::IpAddr;
2
3use serde::{Deserialize, Serialize};
4use serde_enum_str::{Deserialize_enum_str, Serialize_enum_str};
5use serde_json::{Map, Value};
6
7#[derive(Deserialize, Serialize, Debug, Clone)]
9pub struct IpAddress {
10 pub address: IpAddr,
11 pub public: bool,
12 pub r#type: IpAddressType,
13 #[serde(flatten)]
14 pub _extra: Map<String, Value>,
15}
16
17#[derive(Deserialize_enum_str, Serialize_enum_str, Debug, Clone, PartialEq, Eq)]
19#[serde(rename_all = "snake_case")]
20pub enum IpAddressType {
21 Ipv4,
22 Ipv6,
23 #[serde(rename = "ipv6/pool")]
24 Ipv6Pool,
25 #[serde(rename = "ipv6/range")]
26 Ipv6Range,
27 #[serde(other)]
28 Other(String),
29}