1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretCreateAws {
17 #[serde(rename = "access-mode", skip_serializing_if = "Option::is_none")]
18 pub access_mode: Option<String>,
19 #[serde(rename = "admin-rotation-interval-days", skip_serializing_if = "Option::is_none")]
21 pub admin_rotation_interval_days: Option<i64>,
22 #[serde(rename = "aws-access-key-id", skip_serializing_if = "Option::is_none")]
24 pub aws_access_key_id: Option<String>,
25 #[serde(rename = "aws-access-secret-key", skip_serializing_if = "Option::is_none")]
27 pub aws_access_secret_key: Option<String>,
28 #[serde(rename = "aws-external-id", skip_serializing_if = "Option::is_none")]
30 pub aws_external_id: Option<String>,
31 #[serde(rename = "aws-role-arns", skip_serializing_if = "Option::is_none")]
33 pub aws_role_arns: Option<String>,
34 #[serde(rename = "aws-user-console-access", skip_serializing_if = "Option::is_none")]
36 pub aws_user_console_access: Option<bool>,
37 #[serde(rename = "aws-user-groups", skip_serializing_if = "Option::is_none")]
39 pub aws_user_groups: Option<String>,
40 #[serde(rename = "aws-user-policies", skip_serializing_if = "Option::is_none")]
42 pub aws_user_policies: Option<String>,
43 #[serde(rename = "aws-user-programmatic-access", skip_serializing_if = "Option::is_none")]
45 pub aws_user_programmatic_access: Option<bool>,
46 #[serde(rename = "custom-username-template", skip_serializing_if = "Option::is_none")]
48 pub custom_username_template: Option<String>,
49 #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
51 pub delete_protection: Option<String>,
52 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
54 pub description: Option<String>,
55 #[serde(rename = "enable-admin-rotation", skip_serializing_if = "Option::is_none")]
57 pub enable_admin_rotation: Option<bool>,
58 #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
60 pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
61 #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
63 pub json: Option<bool>,
64 #[serde(rename = "name")]
66 pub name: String,
67 #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
69 pub password_length: Option<String>,
70 #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
72 pub producer_encryption_key_name: Option<String>,
73 #[serde(rename = "region", skip_serializing_if = "Option::is_none")]
75 pub region: Option<String>,
76 #[serde(rename = "secure-access-aws-account-id", skip_serializing_if = "Option::is_none")]
78 pub secure_access_aws_account_id: Option<String>,
79 #[serde(rename = "secure-access-aws-native-cli", skip_serializing_if = "Option::is_none")]
81 pub secure_access_aws_native_cli: Option<bool>,
82 #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
84 pub secure_access_bastion_issuer: Option<String>,
85 #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
87 pub secure_access_certificate_issuer: Option<String>,
88 #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
90 pub secure_access_delay: Option<i64>,
91 #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
93 pub secure_access_enable: Option<String>,
94 #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
96 pub secure_access_web: Option<bool>,
97 #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
99 pub secure_access_web_browsing: Option<bool>,
100 #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
102 pub secure_access_web_proxy: Option<bool>,
103 #[serde(rename = "session-tags", skip_serializing_if = "Option::is_none")]
105 pub session_tags: Option<String>,
106 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
108 pub tags: Option<Vec<String>>,
109 #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
111 pub target_name: Option<String>,
112 #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
114 pub token: Option<String>,
115 #[serde(rename = "transitive-tag-keys", skip_serializing_if = "Option::is_none")]
117 pub transitive_tag_keys: Option<String>,
118 #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
120 pub uid_token: Option<String>,
121 #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
123 pub user_ttl: Option<String>,
124}
125
126impl DynamicSecretCreateAws {
127 pub fn new(name: String) -> DynamicSecretCreateAws {
129 DynamicSecretCreateAws {
130 access_mode: None,
131 admin_rotation_interval_days: None,
132 aws_access_key_id: None,
133 aws_access_secret_key: None,
134 aws_external_id: None,
135 aws_role_arns: None,
136 aws_user_console_access: None,
137 aws_user_groups: None,
138 aws_user_policies: None,
139 aws_user_programmatic_access: None,
140 custom_username_template: None,
141 delete_protection: None,
142 description: None,
143 enable_admin_rotation: None,
144 item_custom_fields: None,
145 json: None,
146 name,
147 password_length: None,
148 producer_encryption_key_name: None,
149 region: None,
150 secure_access_aws_account_id: None,
151 secure_access_aws_native_cli: None,
152 secure_access_bastion_issuer: None,
153 secure_access_certificate_issuer: None,
154 secure_access_delay: None,
155 secure_access_enable: None,
156 secure_access_web: None,
157 secure_access_web_browsing: None,
158 secure_access_web_proxy: None,
159 session_tags: None,
160 tags: None,
161 target_name: None,
162 token: None,
163 transitive_tag_keys: None,
164 uid_token: None,
165 user_ttl: None,
166 }
167 }
168}
169