1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* Hanzo Cloud API
*
* The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TeamRoomBind {
/// Bindings REPLACES what the room is about, wholly. It is a replace and not a merge because a caller that cannot remove a binding would have no way to correct a wrong one, and an empty list sent explicitly is how a room is unbound. Absent (null) leaves the existing list alone.
#[serde(rename = "bindings", skip_serializing_if = "Option::is_none")]
pub bindings: Option<Vec<String>>,
/// ID is the room to bind, from the path. The URL is the authority; a body carrying another id cannot redirect the write.
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
/// Life sets the lifecycle intent: \"standing\" or \"bound\". Any other value is refused rather than stored, so a reader never has to interpret a third one. Empty leaves the current intent unchanged.
#[serde(rename = "life", skip_serializing_if = "Option::is_none")]
pub life: Option<String>,
/// Workspace names the workspace holding the room. It is required, because a room id is unique only within one and searching every workspace for a matching id would make the write's target depend on iteration order.
#[serde(rename = "workspace", skip_serializing_if = "Option::is_none")]
pub workspace: Option<String>,
}
impl TeamRoomBind {
pub fn new() -> TeamRoomBind {
TeamRoomBind {
bindings: None,
id: None,
life: None,
workspace: None,
}
}
}