bitwarden_api_api/models/
sso_configuration_data_request.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SsoConfigurationDataRequest {
17 #[serde(rename = "configType", alias = "ConfigType")]
18 pub config_type: models::SsoType,
19 #[serde(
20 rename = "memberDecryptionType",
21 alias = "MemberDecryptionType",
22 skip_serializing_if = "Option::is_none"
23 )]
24 pub member_decryption_type: Option<models::MemberDecryptionType>,
25 #[serde(
26 rename = "keyConnectorEnabled",
27 alias = "KeyConnectorEnabled",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub key_connector_enabled: Option<bool>,
31 #[serde(
32 rename = "keyConnectorUrl",
33 alias = "KeyConnectorUrl",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub key_connector_url: Option<String>,
37 #[serde(
38 rename = "authority",
39 alias = "Authority",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub authority: Option<String>,
43 #[serde(
44 rename = "clientId",
45 alias = "ClientId",
46 skip_serializing_if = "Option::is_none"
47 )]
48 pub client_id: Option<String>,
49 #[serde(
50 rename = "clientSecret",
51 alias = "ClientSecret",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub client_secret: Option<String>,
55 #[serde(
56 rename = "metadataAddress",
57 alias = "MetadataAddress",
58 skip_serializing_if = "Option::is_none"
59 )]
60 pub metadata_address: Option<String>,
61 #[serde(
62 rename = "redirectBehavior",
63 alias = "RedirectBehavior",
64 skip_serializing_if = "Option::is_none"
65 )]
66 pub redirect_behavior: Option<models::OpenIdConnectRedirectBehavior>,
67 #[serde(
68 rename = "getClaimsFromUserInfoEndpoint",
69 alias = "GetClaimsFromUserInfoEndpoint",
70 skip_serializing_if = "Option::is_none"
71 )]
72 pub get_claims_from_user_info_endpoint: Option<bool>,
73 #[serde(
74 rename = "additionalScopes",
75 alias = "AdditionalScopes",
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub additional_scopes: Option<String>,
79 #[serde(
80 rename = "additionalUserIdClaimTypes",
81 alias = "AdditionalUserIdClaimTypes",
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub additional_user_id_claim_types: Option<String>,
85 #[serde(
86 rename = "additionalEmailClaimTypes",
87 alias = "AdditionalEmailClaimTypes",
88 skip_serializing_if = "Option::is_none"
89 )]
90 pub additional_email_claim_types: Option<String>,
91 #[serde(
92 rename = "additionalNameClaimTypes",
93 alias = "AdditionalNameClaimTypes",
94 skip_serializing_if = "Option::is_none"
95 )]
96 pub additional_name_claim_types: Option<String>,
97 #[serde(
98 rename = "acrValues",
99 alias = "AcrValues",
100 skip_serializing_if = "Option::is_none"
101 )]
102 pub acr_values: Option<String>,
103 #[serde(
104 rename = "expectedReturnAcrValue",
105 alias = "ExpectedReturnAcrValue",
106 skip_serializing_if = "Option::is_none"
107 )]
108 pub expected_return_acr_value: Option<String>,
109 #[serde(
110 rename = "spUniqueEntityId",
111 alias = "SpUniqueEntityId",
112 skip_serializing_if = "Option::is_none"
113 )]
114 pub sp_unique_entity_id: Option<bool>,
115 #[serde(
116 rename = "spNameIdFormat",
117 alias = "SpNameIdFormat",
118 skip_serializing_if = "Option::is_none"
119 )]
120 pub sp_name_id_format: Option<models::Saml2NameIdFormat>,
121 #[serde(
122 rename = "spOutboundSigningAlgorithm",
123 alias = "SpOutboundSigningAlgorithm",
124 skip_serializing_if = "Option::is_none"
125 )]
126 pub sp_outbound_signing_algorithm: Option<String>,
127 #[serde(
128 rename = "spSigningBehavior",
129 alias = "SpSigningBehavior",
130 skip_serializing_if = "Option::is_none"
131 )]
132 pub sp_signing_behavior: Option<models::Saml2SigningBehavior>,
133 #[serde(
134 rename = "spWantAssertionsSigned",
135 alias = "SpWantAssertionsSigned",
136 skip_serializing_if = "Option::is_none"
137 )]
138 pub sp_want_assertions_signed: Option<bool>,
139 #[serde(
140 rename = "spValidateCertificates",
141 alias = "SpValidateCertificates",
142 skip_serializing_if = "Option::is_none"
143 )]
144 pub sp_validate_certificates: Option<bool>,
145 #[serde(
146 rename = "spMinIncomingSigningAlgorithm",
147 alias = "SpMinIncomingSigningAlgorithm",
148 skip_serializing_if = "Option::is_none"
149 )]
150 pub sp_min_incoming_signing_algorithm: Option<String>,
151 #[serde(
152 rename = "idpEntityId",
153 alias = "IdpEntityId",
154 skip_serializing_if = "Option::is_none"
155 )]
156 pub idp_entity_id: Option<String>,
157 #[serde(
158 rename = "idpBindingType",
159 alias = "IdpBindingType",
160 skip_serializing_if = "Option::is_none"
161 )]
162 pub idp_binding_type: Option<models::Saml2BindingType>,
163 #[serde(
164 rename = "idpSingleSignOnServiceUrl",
165 alias = "IdpSingleSignOnServiceUrl",
166 skip_serializing_if = "Option::is_none"
167 )]
168 pub idp_single_sign_on_service_url: Option<String>,
169 #[serde(
170 rename = "idpSingleLogoutServiceUrl",
171 alias = "IdpSingleLogoutServiceUrl",
172 skip_serializing_if = "Option::is_none"
173 )]
174 pub idp_single_logout_service_url: Option<String>,
175 #[serde(
176 rename = "idpArtifactResolutionServiceUrl",
177 alias = "IdpArtifactResolutionServiceUrl",
178 skip_serializing_if = "Option::is_none"
179 )]
180 pub idp_artifact_resolution_service_url: Option<String>,
181 #[serde(
182 rename = "idpX509PublicCert",
183 alias = "IdpX509PublicCert",
184 skip_serializing_if = "Option::is_none"
185 )]
186 pub idp_x509_public_cert: Option<String>,
187 #[serde(
188 rename = "idpOutboundSigningAlgorithm",
189 alias = "IdpOutboundSigningAlgorithm",
190 skip_serializing_if = "Option::is_none"
191 )]
192 pub idp_outbound_signing_algorithm: Option<String>,
193 #[serde(
194 rename = "idpAllowUnsolicitedAuthnResponse",
195 alias = "IdpAllowUnsolicitedAuthnResponse",
196 skip_serializing_if = "Option::is_none"
197 )]
198 pub idp_allow_unsolicited_authn_response: Option<bool>,
199 #[serde(
200 rename = "idpDisableOutboundLogoutRequests",
201 alias = "IdpDisableOutboundLogoutRequests",
202 skip_serializing_if = "Option::is_none"
203 )]
204 pub idp_disable_outbound_logout_requests: Option<bool>,
205 #[serde(
206 rename = "idpWantAuthnRequestsSigned",
207 alias = "IdpWantAuthnRequestsSigned",
208 skip_serializing_if = "Option::is_none"
209 )]
210 pub idp_want_authn_requests_signed: Option<bool>,
211}
212
213impl SsoConfigurationDataRequest {
214 pub fn new(config_type: models::SsoType) -> SsoConfigurationDataRequest {
215 SsoConfigurationDataRequest {
216 config_type,
217 member_decryption_type: None,
218 key_connector_enabled: None,
219 key_connector_url: None,
220 authority: None,
221 client_id: None,
222 client_secret: None,
223 metadata_address: None,
224 redirect_behavior: None,
225 get_claims_from_user_info_endpoint: None,
226 additional_scopes: None,
227 additional_user_id_claim_types: None,
228 additional_email_claim_types: None,
229 additional_name_claim_types: None,
230 acr_values: None,
231 expected_return_acr_value: None,
232 sp_unique_entity_id: None,
233 sp_name_id_format: None,
234 sp_outbound_signing_algorithm: None,
235 sp_signing_behavior: None,
236 sp_want_assertions_signed: None,
237 sp_validate_certificates: None,
238 sp_min_incoming_signing_algorithm: None,
239 idp_entity_id: None,
240 idp_binding_type: None,
241 idp_single_sign_on_service_url: None,
242 idp_single_logout_service_url: None,
243 idp_artifact_resolution_service_url: None,
244 idp_x509_public_cert: None,
245 idp_outbound_signing_algorithm: None,
246 idp_allow_unsolicited_authn_response: None,
247 idp_disable_outbound_logout_requests: None,
248 idp_want_authn_requests_signed: None,
249 }
250 }
251}