1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretUpdateAws {
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 = "new-name", skip_serializing_if = "Option::is_none")]
69 pub new_name: Option<String>,
70 #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
72 pub password_length: Option<String>,
73 #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
75 pub producer_encryption_key_name: Option<String>,
76 #[serde(rename = "region", skip_serializing_if = "Option::is_none")]
78 pub region: Option<String>,
79 #[serde(rename = "secure-access-aws-account-id", skip_serializing_if = "Option::is_none")]
81 pub secure_access_aws_account_id: Option<String>,
82 #[serde(rename = "secure-access-aws-native-cli", skip_serializing_if = "Option::is_none")]
84 pub secure_access_aws_native_cli: Option<bool>,
85 #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
87 pub secure_access_bastion_issuer: Option<String>,
88 #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
90 pub secure_access_certificate_issuer: Option<String>,
91 #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
93 pub secure_access_delay: Option<i64>,
94 #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
96 pub secure_access_enable: Option<String>,
97 #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
99 pub secure_access_web: Option<bool>,
100 #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
102 pub secure_access_web_browsing: Option<bool>,
103 #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
105 pub secure_access_web_proxy: Option<bool>,
106 #[serde(rename = "session-tags", skip_serializing_if = "Option::is_none")]
108 pub session_tags: Option<String>,
109 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
111 pub tags: Option<Vec<String>>,
112 #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
114 pub target_name: Option<String>,
115 #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
117 pub token: Option<String>,
118 #[serde(rename = "transitive-tag-keys", skip_serializing_if = "Option::is_none")]
120 pub transitive_tag_keys: Option<String>,
121 #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
123 pub uid_token: Option<String>,
124 #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
126 pub user_ttl: Option<String>,
127}
128
129impl DynamicSecretUpdateAws {
130 pub fn new(name: String) -> DynamicSecretUpdateAws {
132 DynamicSecretUpdateAws {
133 access_mode: None,
134 admin_rotation_interval_days: None,
135 aws_access_key_id: None,
136 aws_access_secret_key: None,
137 aws_external_id: None,
138 aws_role_arns: None,
139 aws_user_console_access: None,
140 aws_user_groups: None,
141 aws_user_policies: None,
142 aws_user_programmatic_access: None,
143 custom_username_template: None,
144 delete_protection: None,
145 description: None,
146 enable_admin_rotation: None,
147 item_custom_fields: None,
148 json: None,
149 name,
150 new_name: None,
151 password_length: None,
152 producer_encryption_key_name: None,
153 region: None,
154 secure_access_aws_account_id: None,
155 secure_access_aws_native_cli: None,
156 secure_access_bastion_issuer: None,
157 secure_access_certificate_issuer: None,
158 secure_access_delay: None,
159 secure_access_enable: None,
160 secure_access_web: None,
161 secure_access_web_browsing: None,
162 secure_access_web_proxy: None,
163 session_tags: None,
164 tags: None,
165 target_name: None,
166 token: None,
167 transitive_tag_keys: None,
168 uid_token: None,
169 user_ttl: None,
170 }
171 }
172}
173