bitwarden_api_api/models/
sso_configuration_data_request.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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}