rusty_cdk_core/secretsmanager/
dto.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3use crate::{dto_methods, ref_struct};
4use crate::shared::Id;
5
6ref_struct!(SecretRef);
7
8#[derive(Debug, Serialize, Deserialize)]
9pub struct Secret {
10 #[serde(skip)]
11 pub(super) id: Id,
12 #[serde(skip)]
13 pub(super) resource_id: String,
14 #[serde(rename = "Type")]
15 pub(super) r#type: String,
16 #[serde(rename = "Properties")]
17 pub(super) properties: SecretProperties,
18}
19dto_methods!(Secret);
20
21#[derive(Debug, Serialize, Deserialize)]
22pub struct SecretProperties {
23 #[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
24 pub(super) name: Option<String>,
25 #[serde(rename = "Description", skip_serializing_if = "Option::is_none")]
26 pub(super) description: Option<String>,
27 #[serde(rename = "GenerateSecretString", skip_serializing_if = "Option::is_none")]
28 pub(super) generate_secret_string: Option<GenerateSecretString>,
29 #[serde(rename = "SecretString", skip_serializing_if = "Option::is_none")]
30 pub(super) secret_string: Option<String>,
31 }
36
37#[derive(Debug, Serialize, Deserialize)]
38pub struct GenerateSecretString {
39 #[serde(rename = "ExcludeCharacters", skip_serializing_if = "Option::is_none")]
40 pub(super) exclude_characters: Option<String>,
41 #[serde(rename = "ExcludeLowercase", skip_serializing_if = "Option::is_none")]
42 pub(super) exclude_lowercase: Option<bool>,
43 #[serde(rename = "ExcludeNumbers", skip_serializing_if = "Option::is_none")]
44 pub(super) exclude_numbers: Option<bool>,
45 #[serde(rename = "ExcludePunctuation", skip_serializing_if = "Option::is_none")]
46 pub(super) exclude_punctuation: Option<bool>,
47 #[serde(rename = "ExcludeUppercase", skip_serializing_if = "Option::is_none")]
48 pub(super) exclude_uppercase: Option<bool>,
49 #[serde(rename = "GenerateStringKey", skip_serializing_if = "Option::is_none")]
50 pub(super) generate_string_key: Option<String>,
51 #[serde(rename = "IncludeSpace", skip_serializing_if = "Option::is_none")]
52 pub(super) include_space: Option<bool>,
53 #[serde(rename = "PasswordLength", skip_serializing_if = "Option::is_none")]
54 pub(super) password_length: Option<u32>,
55 #[serde(rename = "RequireEachIncludedType", skip_serializing_if = "Option::is_none")]
56 pub(super) require_each_included_type: Option<bool>,
57 #[serde(rename = "SecretStringTemplate", skip_serializing_if = "Option::is_none")]
58 pub(super) secret_string_template: Option<String>,
59}
60
61#[derive(Debug, Serialize, Deserialize)]
62pub struct ReplicaRegion {
63 #[serde(rename = "Region")]
64 pub(super) region: String,
65 #[serde(rename = "KmsKeyId", skip_serializing_if = "Option::is_none")]
66 pub(super) kms_key_id: Option<String>,
67}