Skip to main content

rustack_secretsmanager_model/
types.rs

1//! Auto-generated from AWS Secrets Manager Smithy model. DO NOT EDIT.
2
3use std::collections::HashMap;
4
5use serde::{Deserialize, Serialize};
6
7/// Secrets Manager FilterNameStringType enum.
8#[derive(Debug, Clone, PartialEq, Eq, Hash, Default, Serialize, Deserialize)]
9pub enum FilterNameStringType {
10    /// Default variant.
11    #[default]
12    #[serde(rename = "all")]
13    All,
14    #[serde(rename = "description")]
15    Description,
16    #[serde(rename = "name")]
17    Name,
18    #[serde(rename = "owning-service")]
19    OwningService,
20    #[serde(rename = "primary-region")]
21    PrimaryRegion,
22    #[serde(rename = "tag-key")]
23    TagKey,
24    #[serde(rename = "tag-value")]
25    TagValue,
26}
27
28impl FilterNameStringType {
29    /// Returns the string value of this enum variant.
30    #[must_use]
31    pub fn as_str(&self) -> &'static str {
32        match self {
33            Self::All => "all",
34            Self::Description => "description",
35            Self::Name => "name",
36            Self::OwningService => "owning-service",
37            Self::PrimaryRegion => "primary-region",
38            Self::TagKey => "tag-key",
39            Self::TagValue => "tag-value",
40        }
41    }
42}
43
44impl std::fmt::Display for FilterNameStringType {
45    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
46        f.write_str(self.as_str())
47    }
48}
49
50impl From<&str> for FilterNameStringType {
51    fn from(s: &str) -> Self {
52        match s {
53            "all" => Self::All,
54            "description" => Self::Description,
55            "name" => Self::Name,
56            "owning-service" => Self::OwningService,
57            "primary-region" => Self::PrimaryRegion,
58            "tag-key" => Self::TagKey,
59            "tag-value" => Self::TagValue,
60            _ => Self::default(),
61        }
62    }
63}
64
65/// Secrets Manager SortByType enum.
66#[derive(Debug, Clone, PartialEq, Eq, Hash, Default, Serialize, Deserialize)]
67pub enum SortByType {
68    /// Default variant.
69    #[default]
70    #[serde(rename = "created-date")]
71    CreatedDate,
72    #[serde(rename = "last-accessed-date")]
73    LastAccessedDate,
74    #[serde(rename = "last-changed-date")]
75    LastChangedDate,
76    #[serde(rename = "name")]
77    Name,
78}
79
80impl SortByType {
81    /// Returns the string value of this enum variant.
82    #[must_use]
83    pub fn as_str(&self) -> &'static str {
84        match self {
85            Self::CreatedDate => "created-date",
86            Self::LastAccessedDate => "last-accessed-date",
87            Self::LastChangedDate => "last-changed-date",
88            Self::Name => "name",
89        }
90    }
91}
92
93impl std::fmt::Display for SortByType {
94    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
95        f.write_str(self.as_str())
96    }
97}
98
99impl From<&str> for SortByType {
100    fn from(s: &str) -> Self {
101        match s {
102            "created-date" => Self::CreatedDate,
103            "last-accessed-date" => Self::LastAccessedDate,
104            "last-changed-date" => Self::LastChangedDate,
105            "name" => Self::Name,
106            _ => Self::default(),
107        }
108    }
109}
110
111/// Secrets Manager SortOrderType enum.
112#[derive(Debug, Clone, PartialEq, Eq, Hash, Default, Serialize, Deserialize)]
113pub enum SortOrderType {
114    /// Default variant.
115    #[default]
116    #[serde(rename = "asc")]
117    Asc,
118    #[serde(rename = "desc")]
119    Desc,
120}
121
122impl SortOrderType {
123    /// Returns the string value of this enum variant.
124    #[must_use]
125    pub fn as_str(&self) -> &'static str {
126        match self {
127            Self::Asc => "asc",
128            Self::Desc => "desc",
129        }
130    }
131}
132
133impl std::fmt::Display for SortOrderType {
134    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
135        f.write_str(self.as_str())
136    }
137}
138
139impl From<&str> for SortOrderType {
140    fn from(s: &str) -> Self {
141        match s {
142            "asc" => Self::Asc,
143            "desc" => Self::Desc,
144            _ => Self::default(),
145        }
146    }
147}
148
149/// Secrets Manager StatusType enum.
150#[derive(Debug, Clone, PartialEq, Eq, Hash, Default, Serialize, Deserialize)]
151pub enum StatusType {
152    /// Default variant.
153    #[default]
154    Failed,
155    InProgress,
156    InSync,
157}
158
159impl StatusType {
160    /// Returns the string value of this enum variant.
161    #[must_use]
162    pub fn as_str(&self) -> &'static str {
163        match self {
164            Self::Failed => "Failed",
165            Self::InProgress => "InProgress",
166            Self::InSync => "InSync",
167        }
168    }
169}
170
171impl std::fmt::Display for StatusType {
172    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
173        f.write_str(self.as_str())
174    }
175}
176
177impl From<&str> for StatusType {
178    fn from(s: &str) -> Self {
179        match s {
180            "Failed" => Self::Failed,
181            "InProgress" => Self::InProgress,
182            "InSync" => Self::InSync,
183            _ => Self::default(),
184        }
185    }
186}
187
188/// Secrets Manager APIErrorType.
189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
190#[serde(rename_all = "PascalCase")]
191pub struct APIErrorType {
192    #[serde(skip_serializing_if = "Option::is_none")]
193    pub error_code: Option<String>,
194    #[serde(skip_serializing_if = "Option::is_none")]
195    pub message: Option<String>,
196    #[serde(skip_serializing_if = "Option::is_none")]
197    pub secret_id: Option<String>,
198}
199
200/// Secrets Manager ExternalSecretRotationMetadataItem.
201#[derive(Debug, Clone, Default, Serialize, Deserialize)]
202#[serde(rename_all = "PascalCase")]
203pub struct ExternalSecretRotationMetadataItem {
204    #[serde(skip_serializing_if = "Option::is_none")]
205    pub key: Option<String>,
206    #[serde(skip_serializing_if = "Option::is_none")]
207    pub value: Option<String>,
208}
209
210/// Secrets Manager Filter.
211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
212#[serde(rename_all = "PascalCase")]
213pub struct Filter {
214    #[serde(skip_serializing_if = "Option::is_none")]
215    pub key: Option<FilterNameStringType>,
216    #[serde(default, skip_serializing_if = "Vec::is_empty")]
217    pub values: Vec<String>,
218}
219
220/// Secrets Manager ReplicaRegionType.
221#[derive(Debug, Clone, Default, Serialize, Deserialize)]
222#[serde(rename_all = "PascalCase")]
223pub struct ReplicaRegionType {
224    #[serde(skip_serializing_if = "Option::is_none")]
225    pub kms_key_id: Option<String>,
226    #[serde(skip_serializing_if = "Option::is_none")]
227    pub region: Option<String>,
228}
229
230/// Secrets Manager ReplicationStatusType.
231#[derive(Debug, Clone, Default, Serialize, Deserialize)]
232#[serde(rename_all = "PascalCase")]
233pub struct ReplicationStatusType {
234    #[serde(skip_serializing_if = "Option::is_none")]
235    pub kms_key_id: Option<String>,
236    #[serde(
237        skip_serializing_if = "Option::is_none",
238        serialize_with = "crate::epoch_seconds::option::serialize",
239        deserialize_with = "crate::epoch_seconds::option::deserialize"
240    )]
241    pub last_accessed_date: Option<chrono::DateTime<chrono::Utc>>,
242    #[serde(skip_serializing_if = "Option::is_none")]
243    pub region: Option<String>,
244    #[serde(skip_serializing_if = "Option::is_none")]
245    pub status: Option<StatusType>,
246    #[serde(skip_serializing_if = "Option::is_none")]
247    pub status_message: Option<String>,
248}
249
250/// Secrets Manager RotationRulesType.
251#[derive(Debug, Clone, Default, Serialize, Deserialize)]
252#[serde(rename_all = "PascalCase")]
253pub struct RotationRulesType {
254    #[serde(skip_serializing_if = "Option::is_none")]
255    pub automatically_after_days: Option<i64>,
256    #[serde(skip_serializing_if = "Option::is_none")]
257    pub duration: Option<String>,
258    #[serde(skip_serializing_if = "Option::is_none")]
259    pub schedule_expression: Option<String>,
260}
261
262/// Secrets Manager SecretListEntry.
263#[derive(Debug, Clone, Default, Serialize, Deserialize)]
264#[serde(rename_all = "PascalCase")]
265pub struct SecretListEntry {
266    #[serde(rename = "ARN")]
267    #[serde(skip_serializing_if = "Option::is_none")]
268    pub arn: Option<String>,
269    #[serde(
270        skip_serializing_if = "Option::is_none",
271        serialize_with = "crate::epoch_seconds::option::serialize",
272        deserialize_with = "crate::epoch_seconds::option::deserialize"
273    )]
274    pub created_date: Option<chrono::DateTime<chrono::Utc>>,
275    #[serde(
276        skip_serializing_if = "Option::is_none",
277        serialize_with = "crate::epoch_seconds::option::serialize",
278        deserialize_with = "crate::epoch_seconds::option::deserialize"
279    )]
280    pub deleted_date: Option<chrono::DateTime<chrono::Utc>>,
281    #[serde(skip_serializing_if = "Option::is_none")]
282    pub description: Option<String>,
283    #[serde(default, skip_serializing_if = "Vec::is_empty")]
284    pub external_secret_rotation_metadata: Vec<ExternalSecretRotationMetadataItem>,
285    #[serde(skip_serializing_if = "Option::is_none")]
286    pub external_secret_rotation_role_arn: Option<String>,
287    #[serde(skip_serializing_if = "Option::is_none")]
288    pub kms_key_id: Option<String>,
289    #[serde(
290        skip_serializing_if = "Option::is_none",
291        serialize_with = "crate::epoch_seconds::option::serialize",
292        deserialize_with = "crate::epoch_seconds::option::deserialize"
293    )]
294    pub last_accessed_date: Option<chrono::DateTime<chrono::Utc>>,
295    #[serde(
296        skip_serializing_if = "Option::is_none",
297        serialize_with = "crate::epoch_seconds::option::serialize",
298        deserialize_with = "crate::epoch_seconds::option::deserialize"
299    )]
300    pub last_changed_date: Option<chrono::DateTime<chrono::Utc>>,
301    #[serde(
302        skip_serializing_if = "Option::is_none",
303        serialize_with = "crate::epoch_seconds::option::serialize",
304        deserialize_with = "crate::epoch_seconds::option::deserialize"
305    )]
306    pub last_rotated_date: Option<chrono::DateTime<chrono::Utc>>,
307    #[serde(skip_serializing_if = "Option::is_none")]
308    pub name: Option<String>,
309    #[serde(
310        skip_serializing_if = "Option::is_none",
311        serialize_with = "crate::epoch_seconds::option::serialize",
312        deserialize_with = "crate::epoch_seconds::option::deserialize"
313    )]
314    pub next_rotation_date: Option<chrono::DateTime<chrono::Utc>>,
315    #[serde(skip_serializing_if = "Option::is_none")]
316    pub owning_service: Option<String>,
317    #[serde(skip_serializing_if = "Option::is_none")]
318    pub primary_region: Option<String>,
319    #[serde(skip_serializing_if = "Option::is_none")]
320    pub rotation_enabled: Option<bool>,
321    #[serde(rename = "RotationLambdaARN")]
322    #[serde(skip_serializing_if = "Option::is_none")]
323    pub rotation_lambda_arn: Option<String>,
324    #[serde(skip_serializing_if = "Option::is_none")]
325    pub rotation_rules: Option<RotationRulesType>,
326    #[serde(default, skip_serializing_if = "HashMap::is_empty")]
327    pub secret_versions_to_stages: HashMap<String, Vec<String>>,
328    #[serde(default, skip_serializing_if = "Vec::is_empty")]
329    pub tags: Vec<Tag>,
330    #[serde(skip_serializing_if = "Option::is_none")]
331    pub r#type: Option<String>,
332}
333
334/// Secrets Manager SecretValueEntry.
335#[derive(Debug, Clone, Default, Serialize, Deserialize)]
336#[serde(rename_all = "PascalCase")]
337pub struct SecretValueEntry {
338    #[serde(rename = "ARN")]
339    #[serde(skip_serializing_if = "Option::is_none")]
340    pub arn: Option<String>,
341    #[serde(
342        skip_serializing_if = "Option::is_none",
343        serialize_with = "crate::epoch_seconds::option::serialize",
344        deserialize_with = "crate::epoch_seconds::option::deserialize"
345    )]
346    pub created_date: Option<chrono::DateTime<chrono::Utc>>,
347    #[serde(skip_serializing_if = "Option::is_none")]
348    pub name: Option<String>,
349    #[serde(
350        skip_serializing_if = "Option::is_none",
351        default,
352        with = "crate::blob::option"
353    )]
354    pub secret_binary: Option<bytes::Bytes>,
355    #[serde(skip_serializing_if = "Option::is_none")]
356    pub secret_string: Option<String>,
357    #[serde(skip_serializing_if = "Option::is_none")]
358    pub version_id: Option<String>,
359    #[serde(default, skip_serializing_if = "Vec::is_empty")]
360    pub version_stages: Vec<String>,
361}
362
363/// Secrets Manager SecretVersionsListEntry.
364#[derive(Debug, Clone, Default, Serialize, Deserialize)]
365#[serde(rename_all = "PascalCase")]
366pub struct SecretVersionsListEntry {
367    #[serde(
368        skip_serializing_if = "Option::is_none",
369        serialize_with = "crate::epoch_seconds::option::serialize",
370        deserialize_with = "crate::epoch_seconds::option::deserialize"
371    )]
372    pub created_date: Option<chrono::DateTime<chrono::Utc>>,
373    #[serde(default, skip_serializing_if = "Vec::is_empty")]
374    pub kms_key_ids: Vec<String>,
375    #[serde(
376        skip_serializing_if = "Option::is_none",
377        serialize_with = "crate::epoch_seconds::option::serialize",
378        deserialize_with = "crate::epoch_seconds::option::deserialize"
379    )]
380    pub last_accessed_date: Option<chrono::DateTime<chrono::Utc>>,
381    #[serde(skip_serializing_if = "Option::is_none")]
382    pub version_id: Option<String>,
383    #[serde(default, skip_serializing_if = "Vec::is_empty")]
384    pub version_stages: Vec<String>,
385}
386
387/// Secrets Manager Tag.
388#[derive(Debug, Clone, Default, Serialize, Deserialize)]
389#[serde(rename_all = "PascalCase")]
390pub struct Tag {
391    #[serde(skip_serializing_if = "Option::is_none")]
392    pub key: Option<String>,
393    #[serde(skip_serializing_if = "Option::is_none")]
394    pub value: Option<String>,
395}
396
397/// Secrets Manager ValidationErrorsEntry.
398#[derive(Debug, Clone, Default, Serialize, Deserialize)]
399#[serde(rename_all = "PascalCase")]
400pub struct ValidationErrorsEntry {
401    #[serde(skip_serializing_if = "Option::is_none")]
402    pub check_name: Option<String>,
403    #[serde(skip_serializing_if = "Option::is_none")]
404    pub error_message: Option<String>,
405}