1use std::collections::HashMap;
4
5use serde::{Deserialize, Serialize};
6
7use crate::types::{
8 APIErrorType, ExternalSecretRotationMetadataItem, ReplicationStatusType, RotationRulesType,
9 SecretListEntry, SecretValueEntry, SecretVersionsListEntry, Tag, ValidationErrorsEntry,
10};
11
12#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14#[serde(rename_all = "PascalCase")]
15pub struct BatchGetSecretValueResponse {
16 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17 pub errors: Vec<APIErrorType>,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub next_token: Option<String>,
20 #[serde(default, skip_serializing_if = "Vec::is_empty")]
21 pub secret_values: Vec<SecretValueEntry>,
22}
23
24#[derive(Debug, Clone, Default, Serialize, Deserialize)]
26#[serde(rename_all = "PascalCase")]
27pub struct CancelRotateSecretResponse {
28 #[serde(rename = "ARN")]
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub arn: Option<String>,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub name: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub version_id: Option<String>,
35}
36
37#[derive(Debug, Clone, Default, Serialize, Deserialize)]
39#[serde(rename_all = "PascalCase")]
40pub struct CreateSecretResponse {
41 #[serde(rename = "ARN")]
42 #[serde(skip_serializing_if = "Option::is_none")]
43 pub arn: Option<String>,
44 #[serde(skip_serializing_if = "Option::is_none")]
45 pub name: Option<String>,
46 #[serde(default, skip_serializing_if = "Vec::is_empty")]
47 pub replication_status: Vec<ReplicationStatusType>,
48 #[serde(skip_serializing_if = "Option::is_none")]
49 pub version_id: Option<String>,
50}
51
52#[derive(Debug, Clone, Default, Serialize, Deserialize)]
54#[serde(rename_all = "PascalCase")]
55pub struct DeleteResourcePolicyResponse {
56 #[serde(rename = "ARN")]
57 #[serde(skip_serializing_if = "Option::is_none")]
58 pub arn: Option<String>,
59 #[serde(skip_serializing_if = "Option::is_none")]
60 pub name: Option<String>,
61}
62
63#[derive(Debug, Clone, Default, Serialize, Deserialize)]
65#[serde(rename_all = "PascalCase")]
66pub struct DeleteSecretResponse {
67 #[serde(rename = "ARN")]
68 #[serde(skip_serializing_if = "Option::is_none")]
69 pub arn: Option<String>,
70 #[serde(
71 skip_serializing_if = "Option::is_none",
72 serialize_with = "crate::epoch_seconds::option::serialize",
73 deserialize_with = "crate::epoch_seconds::option::deserialize"
74 )]
75 pub deletion_date: Option<chrono::DateTime<chrono::Utc>>,
76 #[serde(skip_serializing_if = "Option::is_none")]
77 pub name: Option<String>,
78}
79
80#[derive(Debug, Clone, Default, Serialize, Deserialize)]
82#[serde(rename_all = "PascalCase")]
83pub struct DescribeSecretResponse {
84 #[serde(rename = "ARN")]
85 #[serde(skip_serializing_if = "Option::is_none")]
86 pub arn: Option<String>,
87 #[serde(
88 skip_serializing_if = "Option::is_none",
89 serialize_with = "crate::epoch_seconds::option::serialize",
90 deserialize_with = "crate::epoch_seconds::option::deserialize"
91 )]
92 pub created_date: Option<chrono::DateTime<chrono::Utc>>,
93 #[serde(
94 skip_serializing_if = "Option::is_none",
95 serialize_with = "crate::epoch_seconds::option::serialize",
96 deserialize_with = "crate::epoch_seconds::option::deserialize"
97 )]
98 pub deleted_date: Option<chrono::DateTime<chrono::Utc>>,
99 #[serde(skip_serializing_if = "Option::is_none")]
100 pub description: Option<String>,
101 #[serde(default, skip_serializing_if = "Vec::is_empty")]
102 pub external_secret_rotation_metadata: Vec<ExternalSecretRotationMetadataItem>,
103 #[serde(skip_serializing_if = "Option::is_none")]
104 pub external_secret_rotation_role_arn: Option<String>,
105 #[serde(skip_serializing_if = "Option::is_none")]
106 pub kms_key_id: Option<String>,
107 #[serde(
108 skip_serializing_if = "Option::is_none",
109 serialize_with = "crate::epoch_seconds::option::serialize",
110 deserialize_with = "crate::epoch_seconds::option::deserialize"
111 )]
112 pub last_accessed_date: Option<chrono::DateTime<chrono::Utc>>,
113 #[serde(
114 skip_serializing_if = "Option::is_none",
115 serialize_with = "crate::epoch_seconds::option::serialize",
116 deserialize_with = "crate::epoch_seconds::option::deserialize"
117 )]
118 pub last_changed_date: Option<chrono::DateTime<chrono::Utc>>,
119 #[serde(
120 skip_serializing_if = "Option::is_none",
121 serialize_with = "crate::epoch_seconds::option::serialize",
122 deserialize_with = "crate::epoch_seconds::option::deserialize"
123 )]
124 pub last_rotated_date: Option<chrono::DateTime<chrono::Utc>>,
125 #[serde(skip_serializing_if = "Option::is_none")]
126 pub name: Option<String>,
127 #[serde(
128 skip_serializing_if = "Option::is_none",
129 serialize_with = "crate::epoch_seconds::option::serialize",
130 deserialize_with = "crate::epoch_seconds::option::deserialize"
131 )]
132 pub next_rotation_date: Option<chrono::DateTime<chrono::Utc>>,
133 #[serde(skip_serializing_if = "Option::is_none")]
134 pub owning_service: Option<String>,
135 #[serde(skip_serializing_if = "Option::is_none")]
136 pub primary_region: Option<String>,
137 #[serde(default, skip_serializing_if = "Vec::is_empty")]
138 pub replication_status: Vec<ReplicationStatusType>,
139 #[serde(skip_serializing_if = "Option::is_none")]
140 pub rotation_enabled: Option<bool>,
141 #[serde(rename = "RotationLambdaARN")]
142 #[serde(skip_serializing_if = "Option::is_none")]
143 pub rotation_lambda_arn: Option<String>,
144 #[serde(skip_serializing_if = "Option::is_none")]
145 pub rotation_rules: Option<RotationRulesType>,
146 #[serde(default, skip_serializing_if = "Vec::is_empty")]
147 pub tags: Vec<Tag>,
148 #[serde(skip_serializing_if = "Option::is_none")]
149 pub r#type: Option<String>,
150 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
151 pub version_ids_to_stages: HashMap<String, Vec<String>>,
152}
153
154#[derive(Debug, Clone, Default, Serialize, Deserialize)]
156#[serde(rename_all = "PascalCase")]
157pub struct GetRandomPasswordResponse {
158 #[serde(skip_serializing_if = "Option::is_none")]
159 pub random_password: Option<String>,
160}
161
162#[derive(Debug, Clone, Default, Serialize, Deserialize)]
164#[serde(rename_all = "PascalCase")]
165pub struct GetResourcePolicyResponse {
166 #[serde(rename = "ARN")]
167 #[serde(skip_serializing_if = "Option::is_none")]
168 pub arn: Option<String>,
169 #[serde(skip_serializing_if = "Option::is_none")]
170 pub name: Option<String>,
171 #[serde(skip_serializing_if = "Option::is_none")]
172 pub resource_policy: Option<String>,
173}
174
175#[derive(Debug, Clone, Default, Serialize, Deserialize)]
177#[serde(rename_all = "PascalCase")]
178pub struct GetSecretValueResponse {
179 #[serde(rename = "ARN")]
180 #[serde(skip_serializing_if = "Option::is_none")]
181 pub arn: Option<String>,
182 #[serde(
183 skip_serializing_if = "Option::is_none",
184 serialize_with = "crate::epoch_seconds::option::serialize",
185 deserialize_with = "crate::epoch_seconds::option::deserialize"
186 )]
187 pub created_date: Option<chrono::DateTime<chrono::Utc>>,
188 #[serde(skip_serializing_if = "Option::is_none")]
189 pub name: Option<String>,
190 #[serde(
191 skip_serializing_if = "Option::is_none",
192 default,
193 with = "crate::blob::option"
194 )]
195 pub secret_binary: Option<bytes::Bytes>,
196 #[serde(skip_serializing_if = "Option::is_none")]
197 pub secret_string: Option<String>,
198 #[serde(skip_serializing_if = "Option::is_none")]
199 pub version_id: Option<String>,
200 #[serde(default, skip_serializing_if = "Vec::is_empty")]
201 pub version_stages: Vec<String>,
202}
203
204#[derive(Debug, Clone, Default, Serialize, Deserialize)]
206#[serde(rename_all = "PascalCase")]
207pub struct ListSecretVersionIdsResponse {
208 #[serde(rename = "ARN")]
209 #[serde(skip_serializing_if = "Option::is_none")]
210 pub arn: Option<String>,
211 #[serde(skip_serializing_if = "Option::is_none")]
212 pub name: Option<String>,
213 #[serde(skip_serializing_if = "Option::is_none")]
214 pub next_token: Option<String>,
215 #[serde(default, skip_serializing_if = "Vec::is_empty")]
216 pub versions: Vec<SecretVersionsListEntry>,
217}
218
219#[derive(Debug, Clone, Default, Serialize, Deserialize)]
221#[serde(rename_all = "PascalCase")]
222pub struct ListSecretsResponse {
223 #[serde(skip_serializing_if = "Option::is_none")]
224 pub next_token: Option<String>,
225 #[serde(default, skip_serializing_if = "Vec::is_empty")]
226 pub secret_list: Vec<SecretListEntry>,
227}
228
229#[derive(Debug, Clone, Default, Serialize, Deserialize)]
231#[serde(rename_all = "PascalCase")]
232pub struct PutResourcePolicyResponse {
233 #[serde(rename = "ARN")]
234 #[serde(skip_serializing_if = "Option::is_none")]
235 pub arn: Option<String>,
236 #[serde(skip_serializing_if = "Option::is_none")]
237 pub name: Option<String>,
238}
239
240#[derive(Debug, Clone, Default, Serialize, Deserialize)]
242#[serde(rename_all = "PascalCase")]
243pub struct PutSecretValueResponse {
244 #[serde(rename = "ARN")]
245 #[serde(skip_serializing_if = "Option::is_none")]
246 pub arn: Option<String>,
247 #[serde(skip_serializing_if = "Option::is_none")]
248 pub name: Option<String>,
249 #[serde(skip_serializing_if = "Option::is_none")]
250 pub version_id: Option<String>,
251 #[serde(default, skip_serializing_if = "Vec::is_empty")]
252 pub version_stages: Vec<String>,
253}
254
255#[derive(Debug, Clone, Default, Serialize, Deserialize)]
257#[serde(rename_all = "PascalCase")]
258pub struct RemoveRegionsFromReplicationResponse {
259 #[serde(rename = "ARN")]
260 #[serde(skip_serializing_if = "Option::is_none")]
261 pub arn: Option<String>,
262 #[serde(default, skip_serializing_if = "Vec::is_empty")]
263 pub replication_status: Vec<ReplicationStatusType>,
264}
265
266#[derive(Debug, Clone, Default, Serialize, Deserialize)]
268#[serde(rename_all = "PascalCase")]
269pub struct ReplicateSecretToRegionsResponse {
270 #[serde(rename = "ARN")]
271 #[serde(skip_serializing_if = "Option::is_none")]
272 pub arn: Option<String>,
273 #[serde(default, skip_serializing_if = "Vec::is_empty")]
274 pub replication_status: Vec<ReplicationStatusType>,
275}
276
277#[derive(Debug, Clone, Default, Serialize, Deserialize)]
279#[serde(rename_all = "PascalCase")]
280pub struct RestoreSecretResponse {
281 #[serde(rename = "ARN")]
282 #[serde(skip_serializing_if = "Option::is_none")]
283 pub arn: Option<String>,
284 #[serde(skip_serializing_if = "Option::is_none")]
285 pub name: Option<String>,
286}
287
288#[derive(Debug, Clone, Default, Serialize, Deserialize)]
290#[serde(rename_all = "PascalCase")]
291pub struct RotateSecretResponse {
292 #[serde(rename = "ARN")]
293 #[serde(skip_serializing_if = "Option::is_none")]
294 pub arn: Option<String>,
295 #[serde(skip_serializing_if = "Option::is_none")]
296 pub name: Option<String>,
297 #[serde(skip_serializing_if = "Option::is_none")]
298 pub version_id: Option<String>,
299}
300
301#[derive(Debug, Clone, Default, Serialize, Deserialize)]
303#[serde(rename_all = "PascalCase")]
304pub struct StopReplicationToReplicaResponse {
305 #[serde(rename = "ARN")]
306 #[serde(skip_serializing_if = "Option::is_none")]
307 pub arn: Option<String>,
308}
309
310#[derive(Debug, Clone, Default, Serialize, Deserialize)]
312#[serde(rename_all = "PascalCase")]
313pub struct UpdateSecretResponse {
314 #[serde(rename = "ARN")]
315 #[serde(skip_serializing_if = "Option::is_none")]
316 pub arn: Option<String>,
317 #[serde(skip_serializing_if = "Option::is_none")]
318 pub name: Option<String>,
319 #[serde(skip_serializing_if = "Option::is_none")]
320 pub version_id: Option<String>,
321}
322
323#[derive(Debug, Clone, Default, Serialize, Deserialize)]
325#[serde(rename_all = "PascalCase")]
326pub struct UpdateSecretVersionStageResponse {
327 #[serde(rename = "ARN")]
328 #[serde(skip_serializing_if = "Option::is_none")]
329 pub arn: Option<String>,
330 #[serde(skip_serializing_if = "Option::is_none")]
331 pub name: Option<String>,
332}
333
334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
336#[serde(rename_all = "PascalCase")]
337pub struct ValidateResourcePolicyResponse {
338 #[serde(skip_serializing_if = "Option::is_none")]
339 pub policy_validation_passed: Option<bool>,
340 #[serde(default, skip_serializing_if = "Vec::is_empty")]
341 pub validation_errors: Vec<ValidationErrorsEntry>,
342}