1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateSecret {
16 #[serde(rename = "accessibility", skip_serializing_if = "Option::is_none")]
18 pub accessibility: Option<String>,
19 #[serde(rename = "change-event", skip_serializing_if = "Option::is_none")]
21 pub change_event: Option<String>,
22 #[serde(rename = "custom-field", skip_serializing_if = "Option::is_none")]
24 pub custom_field: Option<std::collections::HashMap<String, String>>,
25 #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
27 pub delete_protection: Option<String>,
28 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
30 pub description: Option<String>,
31 #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
33 pub format: Option<String>,
34 #[serde(rename = "inject-url", skip_serializing_if = "Option::is_none")]
36 pub inject_url: Option<Vec<String>>,
37 #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
39 pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
40 #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
42 pub json: Option<bool>,
43 #[serde(rename = "max-versions", skip_serializing_if = "Option::is_none")]
45 pub max_versions: Option<String>,
46 #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
48 pub metadata: Option<String>,
49 #[serde(rename = "multiline_value", skip_serializing_if = "Option::is_none")]
51 pub multiline_value: Option<bool>,
52 #[serde(rename = "name")]
54 pub name: String,
55 #[serde(rename = "password", skip_serializing_if = "Option::is_none")]
57 pub password: Option<String>,
58 #[serde(rename = "protection_key", skip_serializing_if = "Option::is_none")]
60 pub protection_key: Option<String>,
61 #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
63 pub secure_access_bastion_issuer: Option<String>,
64 #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
66 pub secure_access_certificate_issuer: Option<String>,
67 #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
69 pub secure_access_enable: Option<String>,
70 #[serde(rename = "secure-access-gateway", skip_serializing_if = "Option::is_none")]
71 pub secure_access_gateway: Option<String>,
72 #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
74 pub secure_access_host: Option<Vec<String>>,
75 #[serde(rename = "secure-access-rdp-user", skip_serializing_if = "Option::is_none")]
77 pub secure_access_rdp_user: Option<String>,
78 #[serde(rename = "secure-access-ssh-creds", skip_serializing_if = "Option::is_none")]
80 pub secure_access_ssh_creds: Option<String>,
81 #[serde(rename = "secure-access-ssh-user", skip_serializing_if = "Option::is_none")]
83 pub secure_access_ssh_user: Option<String>,
84 #[serde(rename = "secure-access-url", skip_serializing_if = "Option::is_none")]
86 pub secure_access_url: Option<String>,
87 #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
89 pub secure_access_web_browsing: Option<bool>,
90 #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
92 pub secure_access_web_proxy: Option<bool>,
93 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
95 pub tags: Option<Vec<String>>,
96 #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
98 pub token: Option<String>,
99 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
101 pub r#type: Option<String>,
102 #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
104 pub uid_token: Option<String>,
105 #[serde(rename = "username", skip_serializing_if = "Option::is_none")]
107 pub username: Option<String>,
108 #[serde(rename = "value")]
110 pub value: String,
111}
112
113impl CreateSecret {
114 pub fn new(name: String, value: String) -> CreateSecret {
115 CreateSecret {
116 accessibility: None,
117 change_event: None,
118 custom_field: None,
119 delete_protection: None,
120 description: None,
121 format: None,
122 inject_url: None,
123 item_custom_fields: None,
124 json: None,
125 max_versions: None,
126 metadata: None,
127 multiline_value: None,
128 name,
129 password: None,
130 protection_key: None,
131 secure_access_bastion_issuer: None,
132 secure_access_certificate_issuer: None,
133 secure_access_enable: None,
134 secure_access_gateway: None,
135 secure_access_host: None,
136 secure_access_rdp_user: None,
137 secure_access_ssh_creds: None,
138 secure_access_ssh_user: None,
139 secure_access_url: None,
140 secure_access_web_browsing: None,
141 secure_access_web_proxy: None,
142 tags: None,
143 token: None,
144 r#type: None,
145 uid_token: None,
146 username: None,
147 value,
148 }
149 }
150}
151