1use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Clone, Serialize, Deserialize, Default)]
13pub struct PeerSiteSpec {
14 #[serde(default)]
15 pub name: String,
16 #[serde(rename = "endpoints", default)]
17 pub endpoint: String,
18 #[serde(rename = "accessKey", default)]
19 pub access_key: String,
20 #[serde(rename = "secretKey", default)]
21 pub secret_key: String,
22 #[serde(rename = "skipTlsVerify", default)]
23 pub skip_tls_verify: bool,
24 #[serde(
25 rename = "caCertPem",
26 default,
27 skip_serializing_if = "String::is_empty"
28 )]
29 pub ca_cert_pem: String,
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize, Default)]
34pub struct ServiceActionResult {
35 #[serde(default)]
36 pub action: String,
37 #[serde(default)]
38 pub accepted: bool,
39 #[serde(default)]
41 pub effective: bool,
42 #[serde(default)]
43 pub message: String,
44}
45
46#[derive(Debug, Clone, Default)]
48pub struct SiteStatusOptions {
49 pub buckets: bool,
50 pub users: bool,
51 pub groups: bool,
52 pub policies: bool,
53 pub metrics: bool,
54 pub peer_state: bool,
55 pub ilm_expiry_rules: bool,
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize, Default)]
60pub struct SiteRemoveSpec {
61 #[serde(rename = "sites", default, skip_serializing_if = "Vec::is_empty")]
62 pub site_names: Vec<String>,
63 #[serde(rename = "all", default)]
64 pub remove_all: bool,
65}