1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretCreateLdap {
17 #[serde(rename = "ProviderType", skip_serializing_if = "Option::is_none")]
18 pub provider_type: Option<String>,
19 #[serde(rename = "bind-dn", skip_serializing_if = "Option::is_none")]
21 pub bind_dn: Option<String>,
22 #[serde(rename = "bind-dn-password", skip_serializing_if = "Option::is_none")]
24 pub bind_dn_password: Option<String>,
25 #[serde(rename = "custom-username-template", skip_serializing_if = "Option::is_none")]
27 pub custom_username_template: Option<String>,
28 #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
30 pub delete_protection: Option<String>,
31 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
33 pub description: Option<String>,
34 #[serde(rename = "external-username", skip_serializing_if = "Option::is_none")]
36 pub external_username: Option<String>,
37 #[serde(rename = "fixed-user-claim-keyname", skip_serializing_if = "Option::is_none")]
39 pub fixed_user_claim_keyname: Option<String>,
40 #[serde(rename = "group-dn", skip_serializing_if = "Option::is_none")]
42 pub group_dn: Option<String>,
43 #[serde(rename = "host-provider", skip_serializing_if = "Option::is_none")]
45 pub host_provider: Option<String>,
46 #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
48 pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
49 #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
51 pub json: Option<bool>,
52 #[serde(rename = "ldap-ca-cert", skip_serializing_if = "Option::is_none")]
54 pub ldap_ca_cert: Option<String>,
55 #[serde(rename = "ldap-url", skip_serializing_if = "Option::is_none")]
57 pub ldap_url: Option<String>,
58 #[serde(rename = "name")]
60 pub name: String,
61 #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
63 pub password_length: Option<String>,
64 #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
66 pub producer_encryption_key_name: Option<String>,
67 #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
69 pub secure_access_bastion_issuer: Option<String>,
70 #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
72 pub secure_access_certificate_issuer: Option<String>,
73 #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
75 pub secure_access_delay: Option<i64>,
76 #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
78 pub secure_access_enable: Option<String>,
79 #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
81 pub secure_access_host: Option<Vec<String>>,
82 #[serde(rename = "secure-access-rd-gateway-server", skip_serializing_if = "Option::is_none")]
84 pub secure_access_rd_gateway_server: Option<String>,
85 #[serde(rename = "secure-access-rdp-domain", skip_serializing_if = "Option::is_none")]
87 pub secure_access_rdp_domain: Option<String>,
88 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
90 pub tags: Option<Vec<String>>,
91 #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
93 pub target: Option<Vec<String>>,
94 #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
96 pub target_name: Option<String>,
97 #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
99 pub token: Option<String>,
100 #[serde(rename = "token-expiration", skip_serializing_if = "Option::is_none")]
102 pub token_expiration: Option<String>,
103 #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
105 pub uid_token: Option<String>,
106 #[serde(rename = "user-attribute", skip_serializing_if = "Option::is_none")]
108 pub user_attribute: Option<String>,
109 #[serde(rename = "user-dn", skip_serializing_if = "Option::is_none")]
111 pub user_dn: Option<String>,
112 #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
114 pub user_ttl: Option<String>,
115}
116
117impl DynamicSecretCreateLdap {
118 pub fn new(name: String) -> DynamicSecretCreateLdap {
120 DynamicSecretCreateLdap {
121 provider_type: None,
122 bind_dn: None,
123 bind_dn_password: None,
124 custom_username_template: None,
125 delete_protection: None,
126 description: None,
127 external_username: None,
128 fixed_user_claim_keyname: None,
129 group_dn: None,
130 host_provider: None,
131 item_custom_fields: None,
132 json: None,
133 ldap_ca_cert: None,
134 ldap_url: None,
135 name,
136 password_length: None,
137 producer_encryption_key_name: None,
138 secure_access_bastion_issuer: None,
139 secure_access_certificate_issuer: None,
140 secure_access_delay: None,
141 secure_access_enable: None,
142 secure_access_host: None,
143 secure_access_rd_gateway_server: None,
144 secure_access_rdp_domain: None,
145 tags: None,
146 target: None,
147 target_name: None,
148 token: None,
149 token_expiration: None,
150 uid_token: None,
151 user_attribute: None,
152 user_dn: None,
153 user_ttl: None,
154 }
155 }
156}
157