hcloud/models/
create_floating_ip_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateFloatingIpRequest {
17 #[serde(
19 rename = "description",
20 default,
21 with = "::serde_with::rust::double_option",
22 skip_serializing_if = "Option::is_none"
23 )]
24 pub description: Option<Option<String>>,
25 #[serde(rename = "home_location", skip_serializing_if = "Option::is_none")]
27 pub home_location: Option<String>,
28 #[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
30 pub labels: Option<std::collections::HashMap<String, String>>,
31 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
33 pub name: Option<String>,
34 #[serde(
36 rename = "server",
37 default,
38 with = "::serde_with::rust::double_option",
39 skip_serializing_if = "Option::is_none"
40 )]
41 pub server: Option<Option<i64>>,
42 #[serde(rename = "type")]
43 pub r#type: models::IpType,
44}
45
46impl CreateFloatingIpRequest {
47 pub fn new(r#type: models::IpType) -> CreateFloatingIpRequest {
49 CreateFloatingIpRequest {
50 description: None,
51 home_location: None,
52 labels: None,
53 name: None,
54 server: None,
55 r#type,
56 }
57 }
58}