1use std::collections::HashMap;
2#[cfg(any(feature = "rc-str", feature = "rc-vec"))]
3use std::sync::Arc;
4
5#[cfg(feature = "schemars")]
6use schemars::JsonSchema;
7use serde::{Deserialize, Serialize};
8use serde_json::Value;
9use serde_with::skip_serializing_none;
10
11#[cfg(not(feature = "rc-map"))]
12pub type TypeMap<K, V> = HashMap<K, V>;
13#[cfg(not(feature = "rc-str"))]
14pub type TypeString = String;
15#[cfg(not(feature = "rc-val"))]
16pub type TypeValue = Value;
17#[cfg(not(feature = "rc-vec"))]
18pub type TypeVec<I> = Vec<I>;
19
20#[cfg(feature = "rc-map")]
21pub type TypeMap<K, V> = Arc<HashMap<K, V>>;
22#[cfg(feature = "rc-str")]
23pub type TypeString = Arc<str>;
24#[cfg(feature = "rc-val")]
25pub type TypeValue = Arc<Value>;
26#[cfg(feature = "rc-vec")]
27pub type TypeVec<I> = Arc<[I]>;
28
29#[skip_serializing_none]
30#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
31#[cfg_attr(feature = "schemars", derive(JsonSchema))]
32#[serde(rename_all = "camelCase")]
33pub struct AbstractPolicyRepresentation {
34 pub decision_strategy: Option<DecisionStrategy>,
35 pub description: Option<TypeString>,
36 pub id: Option<TypeString>,
37 pub logic: Option<Logic>,
38 pub name: Option<TypeString>,
39 pub owner: Option<TypeString>,
40 pub policies: Option<TypeVec<String>>,
41 pub resource_type: Option<TypeString>,
42 pub resources: Option<TypeVec<String>>,
43 pub resources_data: Option<TypeVec<ResourceRepresentation>>,
44 pub scopes: Option<TypeVec<String>>,
45 pub scopes_data: Option<TypeVec<ScopeRepresentation>>,
46 #[serde(rename = "type")]
47 pub type_: Option<TypeString>,
48}
49
50#[skip_serializing_none]
51#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
52#[cfg_attr(feature = "schemars", derive(JsonSchema))]
53pub struct Access {
54 pub roles: Option<TypeVec<String>>,
55 pub verify_caller: Option<bool>,
56}
57
58#[skip_serializing_none]
59#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
60#[cfg_attr(feature = "schemars", derive(JsonSchema))]
61pub struct AccessToken {
62 pub acr: Option<TypeString>,
63 #[serde(rename = "allowed-origins")]
64 pub allowed_origins: Option<TypeVec<String>>,
65 pub at_hash: Option<TypeString>,
66 pub auth_time: Option<i64>,
67 pub authorization: Option<Authorization>,
68 pub azp: Option<TypeString>,
69 pub birthdate: Option<TypeString>,
70 pub c_hash: Option<TypeString>,
71 pub claims_locales: Option<TypeString>,
72 pub cnf: Option<Confirmation>,
73 pub email: Option<TypeString>,
74 pub email_verified: Option<bool>,
75 pub exp: Option<i64>,
76 pub family_name: Option<TypeString>,
77 pub gender: Option<TypeString>,
78 pub given_name: Option<TypeString>,
79 pub iat: Option<i64>,
80 pub iss: Option<TypeString>,
81 pub jti: Option<TypeString>,
82 pub locale: Option<TypeString>,
83 pub middle_name: Option<TypeString>,
84 pub name: Option<TypeString>,
85 pub nbf: Option<i64>,
86 pub nickname: Option<TypeString>,
87 pub nonce: Option<TypeString>,
88 #[serde(rename = "otherClaims")]
89 pub other_claims: Option<TypeMap<String, Value>>,
90 pub phone_number: Option<TypeString>,
91 pub phone_number_verified: Option<bool>,
92 pub picture: Option<TypeString>,
93 pub preferred_username: Option<TypeString>,
94 pub profile: Option<TypeString>,
95 pub realm_access: Option<Access>,
96 pub resource_access: Option<TypeMap<String, Access>>,
97 pub s_hash: Option<TypeString>,
98 pub scope: Option<TypeString>,
99 pub sid: Option<TypeString>,
100 pub sub: Option<TypeString>,
101 #[serde(rename = "trusted-certs")]
102 pub trusted_certs: Option<TypeVec<String>>,
103 pub typ: Option<TypeString>,
104 pub updated_at: Option<i64>,
105 pub website: Option<TypeString>,
106 pub zoneinfo: Option<TypeString>,
107}
108
109#[skip_serializing_none]
110#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
111#[cfg_attr(feature = "schemars", derive(JsonSchema))]
112#[serde(rename_all = "camelCase")]
113pub struct AdminEventRepresentation {
114 pub auth_details: Option<AuthDetailsRepresentation>,
115 pub details: Option<TypeMap<String, TypeString>>,
116 pub error: Option<TypeString>,
117 pub id: Option<TypeString>,
118 pub operation_type: Option<TypeString>,
119 pub realm_id: Option<TypeString>,
120 pub representation: Option<TypeString>,
121 pub resource_path: Option<TypeString>,
122 pub resource_type: Option<TypeString>,
123 pub time: Option<i64>,
124}
125
126#[deprecated]
127#[skip_serializing_none]
128#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
129#[cfg_attr(feature = "schemars", derive(JsonSchema))]
130#[serde(rename_all = "camelCase")]
131pub struct ApplicationRepresentation {
132 pub access: Option<TypeMap<String, bool>>,
133 pub admin_url: Option<TypeString>,
134 pub always_display_in_console: Option<bool>,
135 pub attributes: Option<TypeMap<String, TypeString>>,
136 pub authentication_flow_binding_overrides: Option<TypeMap<String, TypeString>>,
137 pub authorization_services_enabled: Option<bool>,
138 pub authorization_settings: Option<ResourceServerRepresentation>,
139 pub base_url: Option<TypeString>,
140 pub bearer_only: Option<bool>,
141 #[deprecated]
142 pub claims: Option<ClaimRepresentation>,
143 pub client_authenticator_type: Option<TypeString>,
144 pub client_id: Option<TypeString>,
145 #[deprecated]
146 pub client_template: Option<TypeString>,
147 pub consent_required: Option<bool>,
148 pub default_client_scopes: Option<TypeVec<String>>,
149 #[deprecated]
150 pub default_roles: Option<TypeVec<String>>,
151 pub description: Option<TypeString>,
152 pub direct_access_grants_enabled: Option<bool>,
153 #[deprecated]
154 pub direct_grants_only: Option<bool>,
155 pub enabled: Option<bool>,
156 pub frontchannel_logout: Option<bool>,
157 pub full_scope_allowed: Option<bool>,
158 pub id: Option<TypeString>,
159 pub implicit_flow_enabled: Option<bool>,
160 pub name: Option<TypeString>,
161 pub node_re_registration_timeout: Option<i32>,
162 pub not_before: Option<i32>,
163 pub optional_client_scopes: Option<TypeVec<String>>,
164 pub origin: Option<TypeString>,
165 pub protocol: Option<TypeString>,
166 pub protocol_mappers: Option<TypeVec<ProtocolMapperRepresentation>>,
167 pub public_client: Option<bool>,
168 pub redirect_uris: Option<TypeVec<String>>,
169 pub registered_nodes: Option<TypeMap<String, i32>>,
170 pub registration_access_token: Option<TypeString>,
171 pub root_url: Option<TypeString>,
172 pub secret: Option<TypeString>,
173 pub service_accounts_enabled: Option<bool>,
174 pub standard_flow_enabled: Option<bool>,
175 pub surrogate_auth_required: Option<bool>,
176 #[serde(rename = "type")]
177 pub type_: Option<TypeString>,
178 #[deprecated]
179 pub use_template_config: Option<bool>,
180 #[deprecated]
181 pub use_template_mappers: Option<bool>,
182 #[deprecated]
183 pub use_template_scope: Option<bool>,
184 pub web_origins: Option<TypeVec<String>>,
185}
186
187#[skip_serializing_none]
188#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
189#[cfg_attr(feature = "schemars", derive(JsonSchema))]
190#[serde(rename_all = "camelCase")]
191pub struct AuthDetailsRepresentation {
192 pub client_id: Option<TypeString>,
193 pub ip_address: Option<TypeString>,
194 pub realm_id: Option<TypeString>,
195 pub user_id: Option<TypeString>,
196}
197
198#[skip_serializing_none]
199#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
200#[cfg_attr(feature = "schemars", derive(JsonSchema))]
201#[serde(rename_all = "camelCase")]
202pub struct AuthenticationExecutionExportRepresentation {
203 pub authenticator: Option<TypeString>,
204 pub authenticator_config: Option<TypeString>,
205 pub authenticator_flow: Option<bool>,
206 #[deprecated]
207 pub autheticator_flow: Option<bool>,
208 pub flow_alias: Option<TypeString>,
209 pub priority: Option<i32>,
210 pub requirement: Option<TypeString>,
211 pub user_setup_allowed: Option<bool>,
212}
213
214#[skip_serializing_none]
215#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
216#[cfg_attr(feature = "schemars", derive(JsonSchema))]
217#[serde(rename_all = "camelCase")]
218pub struct AuthenticationExecutionInfoRepresentation {
219 pub alias: Option<TypeString>,
220 pub authentication_config: Option<TypeString>,
221 pub authentication_flow: Option<bool>,
222 pub configurable: Option<bool>,
223 pub description: Option<TypeString>,
224 pub display_name: Option<TypeString>,
225 pub flow_id: Option<TypeString>,
226 pub id: Option<TypeString>,
227 pub index: Option<i32>,
228 pub level: Option<i32>,
229 pub priority: Option<i32>,
230 pub provider_id: Option<TypeString>,
231 pub requirement: Option<TypeString>,
232 pub requirement_choices: Option<TypeVec<String>>,
233}
234
235#[skip_serializing_none]
236#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
237#[cfg_attr(feature = "schemars", derive(JsonSchema))]
238#[serde(rename_all = "camelCase")]
239pub struct AuthenticationExecutionRepresentation {
240 pub authenticator: Option<TypeString>,
241 pub authenticator_config: Option<TypeString>,
242 pub authenticator_flow: Option<bool>,
243 #[deprecated]
244 pub autheticator_flow: Option<bool>,
245 pub flow_id: Option<TypeString>,
246 pub id: Option<TypeString>,
247 pub parent_flow: Option<TypeString>,
248 pub priority: Option<i32>,
249 pub requirement: Option<TypeString>,
250}
251
252#[skip_serializing_none]
253#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
254#[cfg_attr(feature = "schemars", derive(JsonSchema))]
255#[serde(rename_all = "camelCase")]
256pub struct AuthenticationFlowRepresentation {
257 pub alias: Option<TypeString>,
258 pub authentication_executions: Option<TypeVec<AuthenticationExecutionExportRepresentation>>,
259 pub built_in: Option<bool>,
260 pub description: Option<TypeString>,
261 pub id: Option<TypeString>,
262 pub provider_id: Option<TypeString>,
263 pub top_level: Option<bool>,
264}
265
266#[skip_serializing_none]
267#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
268#[cfg_attr(feature = "schemars", derive(JsonSchema))]
269#[serde(rename_all = "camelCase")]
270pub struct AuthenticatorConfigInfoRepresentation {
271 pub help_text: Option<TypeString>,
272 pub name: Option<TypeString>,
273 pub properties: Option<TypeVec<ConfigPropertyRepresentation>>,
274 pub provider_id: Option<TypeString>,
275}
276
277#[skip_serializing_none]
278#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
279#[cfg_attr(feature = "schemars", derive(JsonSchema))]
280pub struct AuthenticatorConfigRepresentation {
281 pub alias: Option<TypeString>,
282 pub config: Option<TypeMap<String, TypeString>>,
283 pub id: Option<TypeString>,
284}
285
286#[skip_serializing_none]
287#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
288#[cfg_attr(feature = "schemars", derive(JsonSchema))]
289pub struct Authorization {
290 pub permissions: Option<TypeVec<Permission>>,
291}
292
293#[skip_serializing_none]
294#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
295#[cfg_attr(feature = "schemars", derive(JsonSchema))]
296#[serde(rename_all = "camelCase")]
297pub struct AuthorizationSchema {
298 pub resource_types: Option<TypeMap<String, ResourceType>>,
299}
300
301#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
302#[cfg_attr(feature = "schemars", derive(JsonSchema))]
303#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
304pub enum BruteForceStrategy {
305 Linear,
306 Multiple,
307}
308
309#[skip_serializing_none]
310#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
311#[cfg_attr(feature = "schemars", derive(JsonSchema))]
312#[serde(rename_all = "camelCase")]
313pub struct CertificateRepresentation {
314 pub certificate: Option<TypeString>,
315 pub jwks: Option<TypeString>,
316 pub kid: Option<TypeString>,
317 pub private_key: Option<TypeString>,
318 pub public_key: Option<TypeString>,
319}
320
321#[skip_serializing_none]
322#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
323#[cfg_attr(feature = "schemars", derive(JsonSchema))]
324pub struct ClaimRepresentation {
325 pub address: Option<bool>,
326 pub email: Option<bool>,
327 pub gender: Option<bool>,
328 pub locale: Option<bool>,
329 pub name: Option<bool>,
330 pub phone: Option<bool>,
331 pub picture: Option<bool>,
332 pub profile: Option<bool>,
333 pub username: Option<bool>,
334 pub website: Option<bool>,
335}
336
337#[skip_serializing_none]
338#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
339#[cfg_attr(feature = "schemars", derive(JsonSchema))]
340#[serde(rename_all = "camelCase")]
341pub struct ClientInitialAccessCreatePresentation {
342 pub count: Option<i32>,
343 pub expiration: Option<i32>,
344 pub web_origins: Option<TypeVec<String>>,
345}
346
347#[skip_serializing_none]
348#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
349#[cfg_attr(feature = "schemars", derive(JsonSchema))]
350#[serde(rename_all = "camelCase")]
351pub struct ClientInitialAccessPresentation {
352 pub count: Option<i32>,
353 pub expiration: Option<i32>,
354 pub id: Option<TypeString>,
355 pub remaining_count: Option<i32>,
356 pub timestamp: Option<i32>,
357 pub token: Option<TypeString>,
358}
359
360#[skip_serializing_none]
361#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
362#[cfg_attr(feature = "schemars", derive(JsonSchema))]
363pub struct ClientMappingsRepresentation {
364 pub client: Option<TypeString>,
365 pub id: Option<TypeString>,
366 pub mappings: Option<TypeVec<RoleRepresentation>>,
367}
368
369#[skip_serializing_none]
370#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
371#[cfg_attr(feature = "schemars", derive(JsonSchema))]
372#[serde(rename_all = "camelCase")]
373pub struct ClientPoliciesRepresentation {
374 pub global_policies: Option<TypeVec<ClientPolicyRepresentation>>,
375 pub policies: Option<TypeVec<ClientPolicyRepresentation>>,
376}
377
378#[skip_serializing_none]
379#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
380#[cfg_attr(feature = "schemars", derive(JsonSchema))]
381pub struct ClientPolicyConditionRepresentation {
382 pub condition: Option<TypeString>,
383 pub configuration: Option<TypeMap<String, TypeValue>>,
384}
385
386#[skip_serializing_none]
387#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
388#[cfg_attr(feature = "schemars", derive(JsonSchema))]
389pub struct ClientPolicyExecutorRepresentation {
390 pub configuration: Option<TypeMap<String, TypeValue>>,
391 pub executor: Option<TypeString>,
392}
393
394#[skip_serializing_none]
395#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
396#[cfg_attr(feature = "schemars", derive(JsonSchema))]
397pub struct ClientPolicyRepresentation {
398 pub conditions: Option<TypeVec<ClientPolicyConditionRepresentation>>,
399 pub description: Option<TypeString>,
400 pub enabled: Option<bool>,
401 pub name: Option<TypeString>,
402 pub profiles: Option<TypeVec<String>>,
403}
404
405#[skip_serializing_none]
406#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
407#[cfg_attr(feature = "schemars", derive(JsonSchema))]
408pub struct ClientProfileRepresentation {
409 pub description: Option<TypeString>,
410 pub executors: Option<TypeVec<ClientPolicyExecutorRepresentation>>,
411 pub name: Option<TypeString>,
412}
413
414#[skip_serializing_none]
415#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
416#[cfg_attr(feature = "schemars", derive(JsonSchema))]
417#[serde(rename_all = "camelCase")]
418pub struct ClientProfilesRepresentation {
419 pub global_profiles: Option<TypeVec<ClientProfileRepresentation>>,
420 pub profiles: Option<TypeVec<ClientProfileRepresentation>>,
421}
422
423#[skip_serializing_none]
424#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
425#[cfg_attr(feature = "schemars", derive(JsonSchema))]
426#[serde(rename_all = "camelCase")]
427pub struct ClientRepresentation {
428 pub access: Option<TypeMap<String, bool>>,
429 pub admin_url: Option<TypeString>,
430 pub always_display_in_console: Option<bool>,
431 pub attributes: Option<TypeMap<String, TypeString>>,
432 pub authentication_flow_binding_overrides: Option<TypeMap<String, TypeString>>,
433 pub authorization_services_enabled: Option<bool>,
434 pub authorization_settings: Option<ResourceServerRepresentation>,
435 pub base_url: Option<TypeString>,
436 pub bearer_only: Option<bool>,
437 pub client_authenticator_type: Option<TypeString>,
438 pub client_id: Option<TypeString>,
439 #[deprecated]
440 pub client_template: Option<TypeString>,
441 pub consent_required: Option<bool>,
442 pub default_client_scopes: Option<TypeVec<String>>,
443 #[deprecated]
444 pub default_roles: Option<TypeVec<String>>,
445 pub description: Option<TypeString>,
446 pub direct_access_grants_enabled: Option<bool>,
447 #[deprecated]
448 pub direct_grants_only: Option<bool>,
449 pub enabled: Option<bool>,
450 pub frontchannel_logout: Option<bool>,
451 pub full_scope_allowed: Option<bool>,
452 pub id: Option<TypeString>,
453 pub implicit_flow_enabled: Option<bool>,
454 pub name: Option<TypeString>,
455 pub node_re_registration_timeout: Option<i32>,
456 pub not_before: Option<i32>,
457 pub optional_client_scopes: Option<TypeVec<String>>,
458 pub origin: Option<TypeString>,
459 pub protocol: Option<TypeString>,
460 pub protocol_mappers: Option<TypeVec<ProtocolMapperRepresentation>>,
461 pub public_client: Option<bool>,
462 pub redirect_uris: Option<TypeVec<String>>,
463 pub registered_nodes: Option<TypeMap<String, i32>>,
464 pub registration_access_token: Option<TypeString>,
465 pub root_url: Option<TypeString>,
466 pub secret: Option<TypeString>,
467 pub service_accounts_enabled: Option<bool>,
468 pub standard_flow_enabled: Option<bool>,
469 pub surrogate_auth_required: Option<bool>,
470 #[serde(rename = "type")]
471 pub type_: Option<TypeString>,
472 #[deprecated]
473 pub use_template_config: Option<bool>,
474 #[deprecated]
475 pub use_template_mappers: Option<bool>,
476 #[deprecated]
477 pub use_template_scope: Option<bool>,
478 pub web_origins: Option<TypeVec<String>>,
479}
480
481#[skip_serializing_none]
482#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
483#[cfg_attr(feature = "schemars", derive(JsonSchema))]
484#[serde(rename_all = "camelCase")]
485pub struct ClientScopeRepresentation {
486 pub attributes: Option<TypeMap<String, TypeString>>,
487 pub description: Option<TypeString>,
488 pub id: Option<TypeString>,
489 pub name: Option<TypeString>,
490 pub protocol: Option<TypeString>,
491 pub protocol_mappers: Option<TypeVec<ProtocolMapperRepresentation>>,
492}
493
494#[deprecated]
495#[skip_serializing_none]
496#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
497#[cfg_attr(feature = "schemars", derive(JsonSchema))]
498#[serde(rename_all = "camelCase")]
499pub struct ClientTemplateRepresentation {
500 pub attributes: Option<TypeMap<String, TypeString>>,
501 pub bearer_only: Option<bool>,
502 pub consent_required: Option<bool>,
503 pub description: Option<TypeString>,
504 pub direct_access_grants_enabled: Option<bool>,
505 pub frontchannel_logout: Option<bool>,
506 pub full_scope_allowed: Option<bool>,
507 pub id: Option<TypeString>,
508 pub implicit_flow_enabled: Option<bool>,
509 pub name: Option<TypeString>,
510 pub protocol: Option<TypeString>,
511 pub protocol_mappers: Option<TypeVec<ProtocolMapperRepresentation>>,
512 pub public_client: Option<bool>,
513 pub service_accounts_enabled: Option<bool>,
514 pub standard_flow_enabled: Option<bool>,
515}
516
517#[skip_serializing_none]
518#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
519#[cfg_attr(feature = "schemars", derive(JsonSchema))]
520pub struct ClientTypeRepresentation {
521 pub config: Option<TypeMap<String, PropertyConfig>>,
522 pub name: Option<TypeString>,
523 pub parent: Option<TypeString>,
524 pub provider: Option<TypeString>,
525}
526
527#[skip_serializing_none]
528#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
529#[cfg_attr(feature = "schemars", derive(JsonSchema))]
530pub struct ClientTypesRepresentation {
531 #[serde(rename = "client-types")]
532 pub client_types: Option<TypeVec<ClientTypeRepresentation>>,
533 #[serde(rename = "global-client-types")]
534 pub global_client_types: Option<TypeVec<ClientTypeRepresentation>>,
535}
536
537#[skip_serializing_none]
538#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
539#[cfg_attr(feature = "schemars", derive(JsonSchema))]
540#[serde(rename_all = "camelCase")]
541pub struct ComponentExportRepresentation {
542 pub config: Option<MultivaluedHashMapStringString>,
543 pub id: Option<TypeString>,
544 pub name: Option<TypeString>,
545 pub provider_id: Option<TypeString>,
546 pub sub_components: Option<MultivaluedHashMapStringComponentExportRepresentation>,
547 pub sub_type: Option<TypeString>,
548}
549
550#[skip_serializing_none]
551#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
552#[cfg_attr(feature = "schemars", derive(JsonSchema))]
553#[serde(rename_all = "camelCase")]
554pub struct ComponentRepresentation {
555 pub config: Option<MultivaluedHashMapStringString>,
556 pub id: Option<TypeString>,
557 pub name: Option<TypeString>,
558 pub parent_id: Option<TypeString>,
559 pub provider_id: Option<TypeString>,
560 pub provider_type: Option<TypeString>,
561 pub sub_type: Option<TypeString>,
562}
563
564#[skip_serializing_none]
565#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
566#[cfg_attr(feature = "schemars", derive(JsonSchema))]
567#[serde(rename_all = "camelCase")]
568pub struct ComponentTypeRepresentation {
569 pub client_properties: Option<TypeVec<ConfigPropertyRepresentation>>,
570 pub help_text: Option<TypeString>,
571 pub id: Option<TypeString>,
572 pub metadata: Option<TypeMap<String, Value>>,
573 pub properties: Option<TypeVec<ConfigPropertyRepresentation>>,
574}
575
576#[skip_serializing_none]
577#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
578#[cfg_attr(feature = "schemars", derive(JsonSchema))]
579pub struct Composites {
580 #[deprecated]
581 pub application: Option<TypeMap<String, TypeVec<String>>>,
582 pub client: Option<TypeMap<String, TypeVec<String>>>,
583 pub realm: Option<TypeVec<String>>,
584}
585
586#[skip_serializing_none]
587#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
588#[cfg_attr(feature = "schemars", derive(JsonSchema))]
589#[serde(rename_all = "camelCase")]
590pub struct ConfigPropertyRepresentation {
591 pub default_value: Option<Value>,
592 pub help_text: Option<TypeString>,
593 pub label: Option<TypeString>,
594 pub name: Option<TypeString>,
595 pub options: Option<TypeVec<String>>,
596 pub read_only: Option<bool>,
597 pub required: Option<bool>,
598 pub secret: Option<bool>,
599 #[serde(rename = "type")]
600 pub type_: Option<TypeString>,
601}
602
603#[skip_serializing_none]
604#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
605#[cfg_attr(feature = "schemars", derive(JsonSchema))]
606pub struct Confirmation {
607 pub jkt: Option<TypeString>,
608 #[serde(rename = "x5t#S256")]
609 pub x5t_s256: Option<TypeString>,
610}
611
612#[skip_serializing_none]
613#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
614#[cfg_attr(feature = "schemars", derive(JsonSchema))]
615#[serde(rename_all = "camelCase")]
616pub struct CredentialRepresentation {
617 #[deprecated]
618 pub algorithm: Option<TypeString>,
619 #[deprecated]
620 pub config: Option<MultivaluedHashMapStringString>,
621 #[deprecated]
622 pub counter: Option<i32>,
623 pub created_date: Option<i64>,
624 pub credential_data: Option<TypeString>,
625 #[deprecated]
626 pub device: Option<TypeString>,
627 #[deprecated]
628 pub digits: Option<i32>,
629 pub federation_link: Option<TypeString>,
630 #[deprecated]
631 pub hash_iterations: Option<i32>,
632 #[deprecated]
633 pub hashed_salted_value: Option<TypeString>,
634 pub id: Option<TypeString>,
635 #[deprecated]
636 pub period: Option<i32>,
637 pub priority: Option<i32>,
638 #[deprecated]
639 pub salt: Option<TypeString>,
640 pub secret_data: Option<TypeString>,
641 pub temporary: Option<bool>,
642 #[serde(rename = "type")]
643 pub type_: Option<TypeString>,
644 pub user_label: Option<TypeString>,
645 pub value: Option<TypeString>,
646}
647
648#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
649#[cfg_attr(feature = "schemars", derive(JsonSchema))]
650#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
651pub enum DecisionEffect {
652 Permit,
653 Deny,
654}
655
656#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
657#[cfg_attr(feature = "schemars", derive(JsonSchema))]
658#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
659pub enum DecisionStrategy {
660 Affirmative,
661 Unanimous,
662 Consensus,
663}
664
665#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
666#[cfg_attr(feature = "schemars", derive(JsonSchema))]
667#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
668pub enum EnforcementMode {
669 Permissive,
670 Enforcing,
671 Disabled,
672}
673
674#[skip_serializing_none]
675#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
676#[cfg_attr(feature = "schemars", derive(JsonSchema))]
677#[serde(rename_all = "camelCase")]
678pub struct ErrorRepresentation {
679 pub error_message: Option<TypeString>,
680 pub errors: Option<TypeVec<ErrorRepresentation>>,
681 pub field: Option<TypeString>,
682 pub params: Option<TypeVec<Value>>,
683}
684
685#[skip_serializing_none]
686#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
687#[cfg_attr(feature = "schemars", derive(JsonSchema))]
688#[serde(rename_all = "camelCase")]
689pub struct EvaluationResultRepresentation {
690 pub allowed_scopes: Option<TypeVec<ScopeRepresentation>>,
691 pub denied_scopes: Option<TypeVec<ScopeRepresentation>>,
692 pub policies: Option<TypeVec<PolicyResultRepresentation>>,
693 pub resource: Option<ResourceRepresentation>,
694 pub scopes: Option<TypeVec<ScopeRepresentation>>,
695 pub status: Option<DecisionEffect>,
696}
697
698#[skip_serializing_none]
699#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
700#[cfg_attr(feature = "schemars", derive(JsonSchema))]
701#[serde(rename_all = "camelCase")]
702pub struct EventRepresentation {
703 pub client_id: Option<TypeString>,
704 pub details: Option<TypeMap<String, TypeString>>,
705 pub error: Option<TypeString>,
706 pub id: Option<TypeString>,
707 pub ip_address: Option<TypeString>,
708 pub realm_id: Option<TypeString>,
709 pub session_id: Option<TypeString>,
710 pub time: Option<i64>,
711 #[serde(rename = "type")]
712 pub type_: Option<TypeString>,
713 pub user_id: Option<TypeString>,
714}
715
716#[skip_serializing_none]
717#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
718#[cfg_attr(feature = "schemars", derive(JsonSchema))]
719#[serde(rename_all = "camelCase")]
720pub struct FederatedIdentityRepresentation {
721 pub identity_provider: Option<TypeString>,
722 pub user_id: Option<TypeString>,
723 pub user_name: Option<TypeString>,
724}
725
726#[skip_serializing_none]
727#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
728#[cfg_attr(feature = "schemars", derive(JsonSchema))]
729#[serde(rename_all = "camelCase")]
730pub struct GlobalRequestResult {
731 pub failed_requests: Option<TypeVec<String>>,
732 pub success_requests: Option<TypeVec<String>>,
733}
734
735#[skip_serializing_none]
736#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
737#[cfg_attr(feature = "schemars", derive(JsonSchema))]
738#[serde(rename_all = "camelCase")]
739pub struct GroupRepresentation {
740 pub access: Option<TypeMap<String, bool>>,
741 pub attributes: Option<TypeMap<String, TypeVec<String>>>,
742 pub client_roles: Option<TypeMap<String, TypeVec<String>>>,
743 pub description: Option<TypeString>,
744 pub id: Option<TypeString>,
745 pub name: Option<TypeString>,
746 pub parent_id: Option<TypeString>,
747 pub path: Option<TypeString>,
748 pub realm_roles: Option<TypeVec<String>>,
749 pub sub_group_count: Option<i64>,
750 pub sub_groups: Option<TypeVec<GroupRepresentation>>,
751}
752
753#[skip_serializing_none]
754#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
755#[cfg_attr(feature = "schemars", derive(JsonSchema))]
756pub struct IDToken {
757 pub acr: Option<TypeString>,
758 pub at_hash: Option<TypeString>,
759 pub auth_time: Option<i64>,
760 pub azp: Option<TypeString>,
761 pub birthdate: Option<TypeString>,
762 pub c_hash: Option<TypeString>,
763 pub claims_locales: Option<TypeString>,
764 pub email: Option<TypeString>,
765 pub email_verified: Option<bool>,
766 pub exp: Option<i64>,
767 pub family_name: Option<TypeString>,
768 pub gender: Option<TypeString>,
769 pub given_name: Option<TypeString>,
770 pub iat: Option<i64>,
771 pub iss: Option<TypeString>,
772 pub jti: Option<TypeString>,
773 pub locale: Option<TypeString>,
774 pub middle_name: Option<TypeString>,
775 pub name: Option<TypeString>,
776 pub nbf: Option<i64>,
777 pub nickname: Option<TypeString>,
778 pub nonce: Option<TypeString>,
779 #[serde(rename = "otherClaims")]
780 pub other_claims: Option<TypeMap<String, Value>>,
781 pub phone_number: Option<TypeString>,
782 pub phone_number_verified: Option<bool>,
783 pub picture: Option<TypeString>,
784 pub preferred_username: Option<TypeString>,
785 pub profile: Option<TypeString>,
786 pub s_hash: Option<TypeString>,
787 pub sid: Option<TypeString>,
788 pub sub: Option<TypeString>,
789 pub typ: Option<TypeString>,
790 pub updated_at: Option<i64>,
791 pub website: Option<TypeString>,
792 pub zoneinfo: Option<TypeString>,
793}
794
795#[skip_serializing_none]
796#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
797#[cfg_attr(feature = "schemars", derive(JsonSchema))]
798#[serde(rename_all = "camelCase")]
799pub struct IdentityProviderMapperRepresentation {
800 pub config: Option<TypeMap<String, TypeString>>,
801 pub id: Option<TypeString>,
802 pub identity_provider_alias: Option<TypeString>,
803 pub identity_provider_mapper: Option<TypeString>,
804 pub name: Option<TypeString>,
805}
806
807#[skip_serializing_none]
808#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
809#[cfg_attr(feature = "schemars", derive(JsonSchema))]
810#[serde(rename_all = "camelCase")]
811pub struct IdentityProviderMapperTypeRepresentation {
812 pub category: Option<TypeString>,
813 pub help_text: Option<TypeString>,
814 pub id: Option<TypeString>,
815 pub name: Option<TypeString>,
816 pub properties: Option<TypeVec<ConfigPropertyRepresentation>>,
817}
818
819#[skip_serializing_none]
820#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
821#[cfg_attr(feature = "schemars", derive(JsonSchema))]
822#[serde(rename_all = "camelCase")]
823pub struct IdentityProviderRepresentation {
824 pub add_read_token_role_on_create: Option<bool>,
825 pub alias: Option<TypeString>,
826 pub authenticate_by_default: Option<bool>,
827 pub config: Option<TypeMap<String, TypeString>>,
828 pub display_name: Option<TypeString>,
829 pub enabled: Option<bool>,
830 pub first_broker_login_flow_alias: Option<TypeString>,
831 pub hide_on_login: Option<bool>,
832 pub internal_id: Option<TypeString>,
833 pub link_only: Option<bool>,
834 pub organization_id: Option<TypeString>,
835 pub post_broker_login_flow_alias: Option<TypeString>,
836 pub provider_id: Option<TypeString>,
837 pub store_token: Option<bool>,
838 pub trust_email: Option<bool>,
839 pub types: Option<TypeVec<String>>,
840 #[deprecated]
841 pub update_profile_first_login: Option<bool>,
842 #[deprecated]
843 pub update_profile_first_login_mode: Option<TypeString>,
844}
845
846#[skip_serializing_none]
847#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
848#[cfg_attr(feature = "schemars", derive(JsonSchema))]
849pub struct InstallationAdapterConfig {
850 #[serde(rename = "auth-server-url")]
851 pub auth_server_url: Option<TypeString>,
852 #[serde(rename = "bearer-only")]
853 pub bearer_only: Option<bool>,
854 #[serde(rename = "confidential-port")]
855 pub confidential_port: Option<i32>,
856 pub credentials: Option<TypeMap<String, Value>>,
857 #[serde(rename = "policy-enforcer")]
858 pub policy_enforcer: Option<PolicyEnforcerConfig>,
859 #[serde(rename = "public-client")]
860 pub public_client: Option<bool>,
861 pub realm: Option<TypeString>,
862 #[serde(rename = "realm-public-key")]
863 pub realm_public_key: Option<TypeString>,
864 pub resource: Option<TypeString>,
865 #[serde(rename = "ssl-required")]
866 pub ssl_required: Option<TypeString>,
867 #[serde(rename = "use-resource-role-mappings")]
868 pub use_resource_role_mappings: Option<bool>,
869 #[serde(rename = "verify-token-audience")]
870 pub verify_token_audience: Option<bool>,
871}
872
873#[skip_serializing_none]
874#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
875#[cfg_attr(feature = "schemars", derive(JsonSchema))]
876#[serde(rename_all = "camelCase")]
877pub struct KeyMetadataRepresentation {
878 pub algorithm: Option<TypeString>,
879 pub certificate: Option<TypeString>,
880 pub kid: Option<TypeString>,
881 pub provider_id: Option<TypeString>,
882 pub provider_priority: Option<i64>,
883 pub public_key: Option<TypeString>,
884 pub status: Option<TypeString>,
885 #[serde(rename = "type")]
886 pub type_: Option<TypeString>,
887 #[serde(rename = "use")]
888 pub use_: Option<KeyUse>,
889 pub valid_to: Option<i64>,
890}
891
892#[skip_serializing_none]
893#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
894#[cfg_attr(feature = "schemars", derive(JsonSchema))]
895#[serde(rename_all = "camelCase")]
896pub struct KeyStoreConfig {
897 pub format: Option<TypeString>,
898 pub key_alias: Option<TypeString>,
899 pub key_password: Option<TypeString>,
900 pub key_size: Option<i32>,
901 pub realm_alias: Option<TypeString>,
902 pub realm_certificate: Option<bool>,
903 pub store_password: Option<TypeString>,
904 pub validity: Option<i32>,
905}
906
907#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
908#[cfg_attr(feature = "schemars", derive(JsonSchema))]
909#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
910pub enum KeyUse {
911 Sig,
912 Enc,
913 JwtSvid,
914}
915
916#[skip_serializing_none]
917#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
918#[cfg_attr(feature = "schemars", derive(JsonSchema))]
919pub struct KeysMetadataRepresentation {
920 pub active: Option<TypeMap<String, TypeString>>,
921 pub keys: Option<TypeVec<KeyMetadataRepresentation>>,
922}
923
924#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
925#[cfg_attr(feature = "schemars", derive(JsonSchema))]
926#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
927pub enum Logic {
928 Positive,
929 Negative,
930}
931
932#[skip_serializing_none]
933#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
934#[cfg_attr(feature = "schemars", derive(JsonSchema))]
935#[serde(rename_all = "camelCase")]
936pub struct ManagementPermissionReference {
937 pub enabled: Option<bool>,
938 pub resource: Option<TypeString>,
939 pub scope_permissions: Option<TypeMap<String, TypeString>>,
940}
941
942#[skip_serializing_none]
943#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
944#[cfg_attr(feature = "schemars", derive(JsonSchema))]
945#[serde(rename_all = "camelCase")]
946pub struct MappingsRepresentation {
947 pub client_mappings: Option<TypeMap<String, ClientMappingsRepresentation>>,
948 pub realm_mappings: Option<TypeVec<RoleRepresentation>>,
949}
950
951#[skip_serializing_none]
952#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
953#[cfg_attr(feature = "schemars", derive(JsonSchema))]
954#[serde(rename_all = "camelCase")]
955pub struct MemberRepresentation {
956 pub access: Option<TypeMap<String, bool>>,
957 #[deprecated]
958 pub application_roles: Option<TypeMap<String, TypeVec<String>>>,
959 pub attributes: Option<TypeMap<String, TypeVec<String>>>,
960 pub client_consents: Option<TypeVec<UserConsentRepresentation>>,
961 pub client_roles: Option<TypeMap<String, TypeVec<String>>>,
962 pub created_timestamp: Option<i64>,
963 pub credentials: Option<TypeVec<CredentialRepresentation>>,
964 pub disableable_credential_types: Option<TypeVec<String>>,
965 pub email: Option<TypeString>,
966 pub email_verified: Option<bool>,
967 pub enabled: Option<bool>,
968 pub federated_identities: Option<TypeVec<FederatedIdentityRepresentation>>,
969 pub federation_link: Option<TypeString>,
970 pub first_name: Option<TypeString>,
971 pub groups: Option<TypeVec<String>>,
972 pub id: Option<TypeString>,
973 pub last_name: Option<TypeString>,
974 pub membership_type: Option<MembershipType>,
975 pub not_before: Option<i32>,
976 pub origin: Option<TypeString>,
977 pub realm_roles: Option<TypeVec<String>>,
978 pub required_actions: Option<TypeVec<String>>,
979 #[serde(rename = "self")]
980 pub self_: Option<TypeString>,
981 pub service_account_client_id: Option<TypeString>,
982 #[deprecated]
983 pub social_links: Option<TypeVec<SocialLinkRepresentation>>,
984 pub totp: Option<bool>,
985 pub user_profile_metadata: Option<UserProfileMetadata>,
986 pub username: Option<TypeString>,
987}
988
989#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
990#[cfg_attr(feature = "schemars", derive(JsonSchema))]
991#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
992pub enum MembershipType {
993 Unmanaged,
994 Managed,
995}
996
997#[skip_serializing_none]
998#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
999#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1000pub struct MethodConfig {
1001 pub method: Option<TypeString>,
1002 pub scopes: Option<TypeVec<String>>,
1003 #[serde(rename = "scopes-enforcement-mode")]
1004 pub scopes_enforcement_mode: Option<ScopeEnforcementMode>,
1005}
1006
1007pub type MultivaluedHashMapStringComponentExportRepresentation =
1008 TypeMap<String, TypeVec<ComponentExportRepresentation>>;
1009
1010pub type MultivaluedHashMapStringString = TypeMap<String, TypeVec<String>>;
1011
1012#[deprecated]
1013#[skip_serializing_none]
1014#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1015#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1016#[serde(rename_all = "camelCase")]
1017pub struct OAuthClientRepresentation {
1018 pub access: Option<TypeMap<String, bool>>,
1019 pub admin_url: Option<TypeString>,
1020 pub always_display_in_console: Option<bool>,
1021 pub attributes: Option<TypeMap<String, TypeString>>,
1022 pub authentication_flow_binding_overrides: Option<TypeMap<String, TypeString>>,
1023 pub authorization_services_enabled: Option<bool>,
1024 pub authorization_settings: Option<ResourceServerRepresentation>,
1025 pub base_url: Option<TypeString>,
1026 pub bearer_only: Option<bool>,
1027 #[deprecated]
1028 pub claims: Option<ClaimRepresentation>,
1029 pub client_authenticator_type: Option<TypeString>,
1030 pub client_id: Option<TypeString>,
1031 #[deprecated]
1032 pub client_template: Option<TypeString>,
1033 pub consent_required: Option<bool>,
1034 pub default_client_scopes: Option<TypeVec<String>>,
1035 #[deprecated]
1036 pub default_roles: Option<TypeVec<String>>,
1037 pub description: Option<TypeString>,
1038 pub direct_access_grants_enabled: Option<bool>,
1039 #[deprecated]
1040 pub direct_grants_only: Option<bool>,
1041 pub enabled: Option<bool>,
1042 pub frontchannel_logout: Option<bool>,
1043 pub full_scope_allowed: Option<bool>,
1044 pub id: Option<TypeString>,
1045 pub implicit_flow_enabled: Option<bool>,
1046 pub name: Option<TypeString>,
1047 pub node_re_registration_timeout: Option<i32>,
1048 pub not_before: Option<i32>,
1049 pub optional_client_scopes: Option<TypeVec<String>>,
1050 pub origin: Option<TypeString>,
1051 pub protocol: Option<TypeString>,
1052 pub protocol_mappers: Option<TypeVec<ProtocolMapperRepresentation>>,
1053 pub public_client: Option<bool>,
1054 pub redirect_uris: Option<TypeVec<String>>,
1055 pub registered_nodes: Option<TypeMap<String, i32>>,
1056 pub registration_access_token: Option<TypeString>,
1057 pub root_url: Option<TypeString>,
1058 pub secret: Option<TypeString>,
1059 pub service_accounts_enabled: Option<bool>,
1060 pub standard_flow_enabled: Option<bool>,
1061 pub surrogate_auth_required: Option<bool>,
1062 #[serde(rename = "type")]
1063 pub type_: Option<TypeString>,
1064 #[deprecated]
1065 pub use_template_config: Option<bool>,
1066 #[deprecated]
1067 pub use_template_mappers: Option<bool>,
1068 #[deprecated]
1069 pub use_template_scope: Option<bool>,
1070 pub web_origins: Option<TypeVec<String>>,
1071}
1072
1073#[skip_serializing_none]
1074#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1075#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1076pub struct OrganizationDomainRepresentation {
1077 pub name: Option<TypeString>,
1078 pub verified: Option<bool>,
1079}
1080
1081#[skip_serializing_none]
1082#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1083#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1084#[serde(rename_all = "camelCase")]
1085pub struct OrganizationInvitationRepresentation {
1086 pub email: Option<TypeString>,
1087 pub expires_at: Option<i32>,
1088 pub first_name: Option<TypeString>,
1089 pub id: Option<TypeString>,
1090 pub invite_link: Option<TypeString>,
1091 pub last_name: Option<TypeString>,
1092 pub organization_id: Option<TypeString>,
1093 pub sent_date: Option<i32>,
1094 pub status: Option<Status>,
1095}
1096
1097#[skip_serializing_none]
1098#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1099#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1100#[serde(rename_all = "camelCase")]
1101pub struct OrganizationRepresentation {
1102 pub alias: Option<TypeString>,
1103 pub attributes: Option<TypeMap<String, TypeVec<String>>>,
1104 pub description: Option<TypeString>,
1105 pub domains: Option<TypeVec<OrganizationDomainRepresentation>>,
1106 pub enabled: Option<bool>,
1107 pub id: Option<TypeString>,
1108 pub identity_providers: Option<TypeVec<IdentityProviderRepresentation>>,
1109 pub members: Option<TypeVec<MemberRepresentation>>,
1110 pub name: Option<TypeString>,
1111 pub redirect_url: Option<TypeString>,
1112}
1113
1114#[skip_serializing_none]
1115#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1116#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1117pub struct PathCacheConfig {
1118 pub lifespan: Option<i64>,
1119 #[serde(rename = "max-entries")]
1120 pub max_entries: Option<i32>,
1121}
1122
1123#[skip_serializing_none]
1124#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1125#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1126#[serde(rename_all = "camelCase")]
1127pub struct PathConfig {
1128 #[serde(rename = "claim-information-point")]
1129 pub claim_information_point: Option<TypeMap<String, TypeMap<String, Value>>>,
1130 #[serde(rename = "enforcement-mode")]
1131 pub enforcement_mode: Option<EnforcementMode>,
1132 pub id: Option<TypeString>,
1133 pub invalidated: Option<bool>,
1134 pub methods: Option<TypeVec<MethodConfig>>,
1135 pub name: Option<TypeString>,
1136 pub path: Option<TypeString>,
1137 pub scopes: Option<TypeVec<String>>,
1138 #[serde(rename = "static")]
1139 pub static_: Option<bool>,
1140 pub static_path: Option<bool>,
1141 #[serde(rename = "type")]
1142 pub type_: Option<TypeString>,
1143}
1144
1145#[skip_serializing_none]
1146#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1147#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1148pub struct Permission {
1149 pub claims: Option<TypeMap<String, TypeVec<String>>>,
1150 pub rsid: Option<TypeString>,
1151 pub rsname: Option<TypeString>,
1152 pub scopes: Option<TypeVec<String>>,
1153}
1154
1155#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
1156#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1157#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
1158pub enum PolicyEnforcementMode {
1159 Enforcing,
1160 Permissive,
1161 Disabled,
1162}
1163
1164#[skip_serializing_none]
1165#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1166#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1167pub struct PolicyEnforcerConfig {
1168 #[serde(rename = "auth-server-url")]
1169 pub auth_server_url: Option<TypeString>,
1170 #[serde(rename = "claim-information-point")]
1171 pub claim_information_point: Option<TypeMap<String, TypeMap<String, Value>>>,
1172 pub credentials: Option<TypeMap<String, Value>>,
1173 #[serde(rename = "enforcement-mode")]
1174 pub enforcement_mode: Option<EnforcementMode>,
1175 #[serde(rename = "http-method-as-scope")]
1176 pub http_method_as_scope: Option<bool>,
1177 #[serde(rename = "lazy-load-paths")]
1178 pub lazy_load_paths: Option<bool>,
1179 #[serde(rename = "on-deny-redirect-to")]
1180 pub on_deny_redirect_to: Option<TypeString>,
1181 #[serde(rename = "path-cache")]
1182 pub path_cache: Option<PathCacheConfig>,
1183 pub paths: Option<TypeVec<PathConfig>>,
1184 pub realm: Option<TypeString>,
1185 pub resource: Option<TypeString>,
1186 #[serde(rename = "user-managed-access")]
1187 pub user_managed_access: Option<UserManagedAccessConfig>,
1188}
1189
1190#[skip_serializing_none]
1191#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1192#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1193#[serde(rename_all = "camelCase")]
1194pub struct PolicyEvaluationRequest {
1195 pub client_id: Option<TypeString>,
1196 pub context: Option<TypeMap<String, TypeMap<String, TypeString>>>,
1197 pub entitlements: Option<bool>,
1198 pub resource_type: Option<TypeString>,
1199 pub resources: Option<TypeVec<ResourceRepresentation>>,
1200 pub role_ids: Option<TypeVec<String>>,
1201 pub user_id: Option<TypeString>,
1202}
1203
1204#[skip_serializing_none]
1205#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1206#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1207pub struct PolicyEvaluationResponse {
1208 pub entitlements: Option<bool>,
1209 pub results: Option<TypeVec<EvaluationResultRepresentation>>,
1210 pub rpt: Option<AccessToken>,
1211 pub status: Option<DecisionEffect>,
1212}
1213
1214#[skip_serializing_none]
1215#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1216#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1217pub struct PolicyProviderRepresentation {
1218 pub group: Option<TypeString>,
1219 pub name: Option<TypeString>,
1220 #[serde(rename = "type")]
1221 pub type_: Option<TypeString>,
1222}
1223
1224#[skip_serializing_none]
1225#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1226#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1227#[serde(rename_all = "camelCase")]
1228pub struct PolicyRepresentation {
1229 pub config: Option<TypeMap<String, TypeString>>,
1230 pub decision_strategy: Option<DecisionStrategy>,
1231 pub description: Option<TypeString>,
1232 pub id: Option<TypeString>,
1233 pub logic: Option<Logic>,
1234 pub name: Option<TypeString>,
1235 pub owner: Option<TypeString>,
1236 pub policies: Option<TypeVec<String>>,
1237 pub resource_type: Option<TypeString>,
1238 pub resources: Option<TypeVec<String>>,
1239 pub resources_data: Option<TypeVec<ResourceRepresentation>>,
1240 pub scopes: Option<TypeVec<String>>,
1241 pub scopes_data: Option<TypeVec<ScopeRepresentation>>,
1242 #[serde(rename = "type")]
1243 pub type_: Option<TypeString>,
1244}
1245
1246#[skip_serializing_none]
1247#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1248#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1249#[serde(rename_all = "camelCase")]
1250pub struct PolicyResultRepresentation {
1251 pub associated_policies: Option<TypeVec<PolicyResultRepresentation>>,
1252 pub policy: Option<PolicyRepresentation>,
1253 pub resource_type: Option<TypeString>,
1254 pub scopes: Option<TypeVec<String>>,
1255 pub status: Option<DecisionEffect>,
1256}
1257
1258#[skip_serializing_none]
1259#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1260#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1261pub struct PropertyConfig {
1262 pub applicable: Option<bool>,
1263 pub value: Option<Value>,
1264}
1265
1266#[skip_serializing_none]
1267#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1268#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1269#[serde(rename_all = "camelCase")]
1270pub struct ProtocolMapperEvaluationRepresentation {
1271 pub container_id: Option<TypeString>,
1272 pub container_name: Option<TypeString>,
1273 pub container_type: Option<TypeString>,
1274 pub mapper_id: Option<TypeString>,
1275 pub mapper_name: Option<TypeString>,
1276 pub protocol_mapper: Option<TypeString>,
1277}
1278
1279#[skip_serializing_none]
1280#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1281#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1282#[serde(rename_all = "camelCase")]
1283pub struct ProtocolMapperRepresentation {
1284 pub config: Option<TypeMap<String, TypeString>>,
1285 #[deprecated]
1286 pub consent_required: Option<bool>,
1287 #[deprecated]
1288 pub consent_text: Option<TypeString>,
1289 pub id: Option<TypeString>,
1290 pub name: Option<TypeString>,
1291 pub protocol: Option<TypeString>,
1292 pub protocol_mapper: Option<TypeString>,
1293}
1294
1295#[skip_serializing_none]
1296#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1297#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1298pub struct PublishedRealmRepresentation {
1299 #[serde(rename = "account-service")]
1300 pub account_service: Option<TypeString>,
1301 pub public_key: Option<TypeString>,
1302 pub realm: Option<TypeString>,
1303 #[serde(rename = "token-service")]
1304 pub token_service: Option<TypeString>,
1305 #[serde(rename = "tokens-not-before")]
1306 pub tokens_not_before: Option<i32>,
1307}
1308
1309#[skip_serializing_none]
1310#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1311#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1312#[serde(rename_all = "camelCase")]
1313pub struct RealmEventsConfigRepresentation {
1314 pub admin_events_details_enabled: Option<bool>,
1315 pub admin_events_enabled: Option<bool>,
1316 pub enabled_event_types: Option<TypeVec<String>>,
1317 pub events_enabled: Option<bool>,
1318 pub events_expiration: Option<i64>,
1319 pub events_listeners: Option<TypeVec<String>>,
1320}
1321
1322#[skip_serializing_none]
1323#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1324#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1325#[serde(rename_all = "camelCase")]
1326pub struct RealmRepresentation {
1327 pub access_code_lifespan: Option<i32>,
1328 pub access_code_lifespan_login: Option<i32>,
1329 pub access_code_lifespan_user_action: Option<i32>,
1330 pub access_token_lifespan: Option<i32>,
1331 pub access_token_lifespan_for_implicit_flow: Option<i32>,
1332 pub account_theme: Option<TypeString>,
1333 pub action_token_generated_by_admin_lifespan: Option<i32>,
1334 pub action_token_generated_by_user_lifespan: Option<i32>,
1335 pub admin_events_details_enabled: Option<bool>,
1336 pub admin_events_enabled: Option<bool>,
1337 pub admin_permissions_client: Option<ClientRepresentation>,
1338 pub admin_permissions_enabled: Option<bool>,
1339 pub admin_theme: Option<TypeString>,
1340 #[deprecated]
1341 pub application_scope_mappings: Option<TypeMap<String, TypeVec<ScopeMappingRepresentation>>>,
1342 #[deprecated]
1343 pub applications: Option<TypeVec<ApplicationRepresentation>>,
1344 pub attributes: Option<TypeMap<String, TypeString>>,
1345 pub authentication_flows: Option<TypeVec<AuthenticationFlowRepresentation>>,
1346 pub authenticator_config: Option<TypeVec<AuthenticatorConfigRepresentation>>,
1347 pub browser_flow: Option<TypeString>,
1348 pub browser_security_headers: Option<TypeMap<String, TypeString>>,
1349 pub brute_force_protected: Option<bool>,
1350 pub brute_force_strategy: Option<BruteForceStrategy>,
1351 #[deprecated]
1352 pub certificate: Option<TypeString>,
1353 pub client_authentication_flow: Option<TypeString>,
1354 pub client_offline_session_idle_timeout: Option<i32>,
1355 pub client_offline_session_max_lifespan: Option<i32>,
1356 pub client_policies: Option<ClientPoliciesRepresentation>,
1357 pub client_profiles: Option<ClientProfilesRepresentation>,
1358 pub client_scope_mappings: Option<TypeMap<String, TypeVec<ScopeMappingRepresentation>>>,
1359 pub client_scopes: Option<TypeVec<ClientScopeRepresentation>>,
1360 pub client_session_idle_timeout: Option<i32>,
1361 pub client_session_max_lifespan: Option<i32>,
1362 #[deprecated]
1363 pub client_templates: Option<TypeVec<ClientTemplateRepresentation>>,
1364 pub clients: Option<TypeVec<ClientRepresentation>>,
1365 #[deprecated]
1366 pub code_secret: Option<TypeString>,
1367 pub components: Option<MultivaluedHashMapStringComponentExportRepresentation>,
1368 pub default_default_client_scopes: Option<TypeVec<String>>,
1369 pub default_groups: Option<TypeVec<String>>,
1370 pub default_locale: Option<TypeString>,
1371 pub default_optional_client_scopes: Option<TypeVec<String>>,
1372 pub default_role: Option<RoleRepresentation>,
1373 #[deprecated]
1374 pub default_roles: Option<TypeVec<String>>,
1375 pub default_signature_algorithm: Option<TypeString>,
1376 pub direct_grant_flow: Option<TypeString>,
1377 pub display_name: Option<TypeString>,
1378 pub display_name_html: Option<TypeString>,
1379 pub docker_authentication_flow: Option<TypeString>,
1380 pub duplicate_emails_allowed: Option<bool>,
1381 pub edit_username_allowed: Option<bool>,
1382 pub email_theme: Option<TypeString>,
1383 pub enabled: Option<bool>,
1384 pub enabled_event_types: Option<TypeVec<String>>,
1385 pub events_enabled: Option<bool>,
1386 pub events_expiration: Option<i64>,
1387 pub events_listeners: Option<TypeVec<String>>,
1388 pub failure_factor: Option<i32>,
1389 pub federated_users: Option<TypeVec<UserRepresentation>>,
1390 pub first_broker_login_flow: Option<TypeString>,
1391 pub groups: Option<TypeVec<GroupRepresentation>>,
1392 pub id: Option<TypeString>,
1393 pub identity_provider_mappers: Option<TypeVec<IdentityProviderMapperRepresentation>>,
1394 pub identity_providers: Option<TypeVec<IdentityProviderRepresentation>>,
1395 pub internationalization_enabled: Option<bool>,
1396 pub keycloak_version: Option<TypeString>,
1397 pub localization_texts: Option<TypeMap<String, TypeMap<String, TypeString>>>,
1398 pub login_theme: Option<TypeString>,
1399 pub login_with_email_allowed: Option<bool>,
1400 pub max_delta_time_seconds: Option<i32>,
1401 pub max_failure_wait_seconds: Option<i32>,
1402 pub max_temporary_lockouts: Option<i32>,
1403 pub minimum_quick_login_wait_seconds: Option<i32>,
1404 pub not_before: Option<i32>,
1405 pub oauth2_device_code_lifespan: Option<i32>,
1406 pub oauth2_device_polling_interval: Option<i32>,
1407 #[deprecated]
1408 pub oauth_clients: Option<TypeVec<OAuthClientRepresentation>>,
1409 pub offline_session_idle_timeout: Option<i32>,
1410 pub offline_session_max_lifespan: Option<i32>,
1411 pub offline_session_max_lifespan_enabled: Option<bool>,
1412 pub organizations: Option<TypeVec<OrganizationRepresentation>>,
1413 pub organizations_enabled: Option<bool>,
1414 pub otp_policy_algorithm: Option<TypeString>,
1415 pub otp_policy_code_reusable: Option<bool>,
1416 pub otp_policy_digits: Option<i32>,
1417 pub otp_policy_initial_counter: Option<i32>,
1418 pub otp_policy_look_ahead_window: Option<i32>,
1419 pub otp_policy_period: Option<i32>,
1420 pub otp_policy_type: Option<TypeString>,
1421 pub otp_supported_applications: Option<TypeVec<String>>,
1422 #[deprecated]
1423 pub password_credential_grant_allowed: Option<bool>,
1424 pub password_policy: Option<TypeString>,
1425 pub permanent_lockout: Option<bool>,
1426 #[deprecated]
1427 pub private_key: Option<TypeString>,
1428 pub protocol_mappers: Option<TypeVec<ProtocolMapperRepresentation>>,
1429 #[deprecated]
1430 pub public_key: Option<TypeString>,
1431 pub quick_login_check_milli_seconds: Option<i64>,
1432 pub realm: Option<TypeString>,
1433 #[deprecated]
1434 pub realm_cache_enabled: Option<bool>,
1435 pub refresh_token_max_reuse: Option<i32>,
1436 pub registration_allowed: Option<bool>,
1437 pub registration_email_as_username: Option<bool>,
1438 pub registration_flow: Option<TypeString>,
1439 pub remember_me: Option<bool>,
1440 pub required_actions: Option<TypeVec<RequiredActionProviderRepresentation>>,
1441 #[deprecated]
1442 pub required_credentials: Option<TypeVec<String>>,
1443 pub reset_credentials_flow: Option<TypeString>,
1444 pub reset_password_allowed: Option<bool>,
1445 pub revoke_refresh_token: Option<bool>,
1446 pub roles: Option<RolesRepresentation>,
1447 pub scope_mappings: Option<TypeVec<ScopeMappingRepresentation>>,
1448 pub smtp_server: Option<TypeMap<String, TypeString>>,
1449 #[deprecated]
1450 pub social: Option<bool>,
1451 #[deprecated]
1452 pub social_providers: Option<TypeMap<String, TypeString>>,
1453 pub ssl_required: Option<TypeString>,
1454 pub sso_session_idle_timeout: Option<i32>,
1455 pub sso_session_idle_timeout_remember_me: Option<i32>,
1456 pub sso_session_max_lifespan: Option<i32>,
1457 pub sso_session_max_lifespan_remember_me: Option<i32>,
1458 pub supported_locales: Option<TypeVec<String>>,
1459 #[deprecated]
1460 pub update_profile_on_initial_social_login: Option<bool>,
1461 #[deprecated]
1462 pub user_cache_enabled: Option<bool>,
1463 pub user_federation_mappers: Option<TypeVec<UserFederationMapperRepresentation>>,
1464 pub user_federation_providers: Option<TypeVec<UserFederationProviderRepresentation>>,
1465 pub user_managed_access_allowed: Option<bool>,
1466 pub users: Option<TypeVec<UserRepresentation>>,
1467 pub verifiable_credentials_enabled: Option<bool>,
1468 pub verify_email: Option<bool>,
1469 pub wait_increment_seconds: Option<i32>,
1470 pub web_authn_policy_acceptable_aaguids: Option<TypeVec<String>>,
1471 pub web_authn_policy_attestation_conveyance_preference: Option<TypeString>,
1472 pub web_authn_policy_authenticator_attachment: Option<TypeString>,
1473 pub web_authn_policy_avoid_same_authenticator_register: Option<bool>,
1474 pub web_authn_policy_create_timeout: Option<i32>,
1475 pub web_authn_policy_extra_origins: Option<TypeVec<String>>,
1476 pub web_authn_policy_passwordless_acceptable_aaguids: Option<TypeVec<String>>,
1477 pub web_authn_policy_passwordless_attestation_conveyance_preference: Option<TypeString>,
1478 pub web_authn_policy_passwordless_authenticator_attachment: Option<TypeString>,
1479 pub web_authn_policy_passwordless_avoid_same_authenticator_register: Option<bool>,
1480 pub web_authn_policy_passwordless_create_timeout: Option<i32>,
1481 pub web_authn_policy_passwordless_extra_origins: Option<TypeVec<String>>,
1482 pub web_authn_policy_passwordless_passkeys_enabled: Option<bool>,
1483 pub web_authn_policy_passwordless_require_resident_key: Option<TypeString>,
1484 pub web_authn_policy_passwordless_rp_entity_name: Option<TypeString>,
1485 pub web_authn_policy_passwordless_rp_id: Option<TypeString>,
1486 pub web_authn_policy_passwordless_signature_algorithms: Option<TypeVec<String>>,
1487 pub web_authn_policy_passwordless_user_verification_requirement: Option<TypeString>,
1488 pub web_authn_policy_require_resident_key: Option<TypeString>,
1489 pub web_authn_policy_rp_entity_name: Option<TypeString>,
1490 pub web_authn_policy_rp_id: Option<TypeString>,
1491 pub web_authn_policy_signature_algorithms: Option<TypeVec<String>>,
1492 pub web_authn_policy_user_verification_requirement: Option<TypeString>,
1493}
1494
1495#[skip_serializing_none]
1496#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1497#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1498pub struct RequiredActionConfigInfoRepresentation {
1499 pub properties: Option<TypeVec<ConfigPropertyRepresentation>>,
1500}
1501
1502#[skip_serializing_none]
1503#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1504#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1505pub struct RequiredActionConfigRepresentation {
1506 pub config: Option<TypeMap<String, TypeString>>,
1507}
1508
1509#[skip_serializing_none]
1510#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1511#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1512#[serde(rename_all = "camelCase")]
1513pub struct RequiredActionProviderRepresentation {
1514 pub alias: Option<TypeString>,
1515 pub config: Option<TypeMap<String, TypeString>>,
1516 pub default_action: Option<bool>,
1517 pub enabled: Option<bool>,
1518 pub name: Option<TypeString>,
1519 pub priority: Option<i32>,
1520 pub provider_id: Option<TypeString>,
1521}
1522
1523#[skip_serializing_none]
1524#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1525#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1526pub struct ResourceOwnerRepresentation {
1527 pub id: Option<TypeString>,
1528 pub name: Option<TypeString>,
1529}
1530
1531#[skip_serializing_none]
1532#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1533#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1534#[serde(rename_all = "camelCase")]
1535pub struct ResourceRepresentation {
1536 #[serde(rename = "_id")]
1537 pub id: Option<TypeString>,
1538 pub attributes: Option<TypeMap<String, TypeVec<String>>>,
1539 pub display_name: Option<TypeString>,
1540 #[serde(rename = "icon_uri")]
1541 pub icon_uri: Option<TypeString>,
1542 pub name: Option<TypeString>,
1543 pub owner: Option<ResourceOwnerRepresentation>,
1544 pub owner_managed_access: Option<bool>,
1545 pub scopes: Option<TypeVec<ScopeRepresentation>>,
1546 pub scopes_uma: Option<TypeVec<ScopeRepresentation>>,
1547 #[serde(rename = "type")]
1548 pub type_: Option<TypeString>,
1549 #[deprecated]
1550 pub uri: Option<TypeString>,
1551 pub uris: Option<TypeVec<String>>,
1552}
1553
1554#[skip_serializing_none]
1555#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1556#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1557#[serde(rename_all = "camelCase")]
1558pub struct ResourceServerRepresentation {
1559 pub allow_remote_resource_management: Option<bool>,
1560 pub authorization_schema: Option<AuthorizationSchema>,
1561 pub client_id: Option<TypeString>,
1562 pub decision_strategy: Option<DecisionStrategy>,
1563 pub id: Option<TypeString>,
1564 pub name: Option<TypeString>,
1565 pub policies: Option<TypeVec<PolicyRepresentation>>,
1566 pub policy_enforcement_mode: Option<PolicyEnforcementMode>,
1567 pub resources: Option<TypeVec<ResourceRepresentation>>,
1568 pub scopes: Option<TypeVec<ScopeRepresentation>>,
1569}
1570
1571#[skip_serializing_none]
1572#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1573#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1574#[serde(rename_all = "camelCase")]
1575pub struct ResourceType {
1576 pub group_type: Option<TypeString>,
1577 pub scope_aliases: Option<TypeMap<String, TypeVec<String>>>,
1578 pub scopes: Option<TypeVec<String>>,
1579 #[serde(rename = "type")]
1580 pub type_: Option<TypeString>,
1581}
1582
1583#[skip_serializing_none]
1584#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1585#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1586#[serde(rename_all = "camelCase")]
1587pub struct RoleRepresentation {
1588 pub attributes: Option<TypeMap<String, TypeVec<String>>>,
1589 pub client_role: Option<bool>,
1590 pub composite: Option<bool>,
1591 pub composites: Option<Composites>,
1592 pub container_id: Option<TypeString>,
1593 pub description: Option<TypeString>,
1594 pub id: Option<TypeString>,
1595 pub name: Option<TypeString>,
1596 #[deprecated]
1597 pub scope_param_required: Option<bool>,
1598}
1599
1600#[skip_serializing_none]
1601#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1602#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1603pub struct RolesRepresentation {
1604 #[deprecated]
1605 pub application: Option<TypeMap<String, TypeVec<RoleRepresentation>>>,
1606 pub client: Option<TypeMap<String, TypeVec<RoleRepresentation>>>,
1607 pub realm: Option<TypeVec<RoleRepresentation>>,
1608}
1609
1610#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
1611#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1612#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
1613pub enum ScopeEnforcementMode {
1614 All,
1615 Any,
1616 Disabled,
1617}
1618
1619#[skip_serializing_none]
1620#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1621#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1622#[serde(rename_all = "camelCase")]
1623pub struct ScopeMappingRepresentation {
1624 pub client: Option<TypeString>,
1625 pub client_scope: Option<TypeString>,
1626 #[deprecated]
1627 pub client_template: Option<TypeString>,
1628 pub roles: Option<TypeVec<String>>,
1629 #[serde(rename = "self")]
1630 pub self_: Option<TypeString>,
1631}
1632
1633#[skip_serializing_none]
1634#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1635#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1636#[serde(rename_all = "camelCase")]
1637pub struct ScopeRepresentation {
1638 pub display_name: Option<TypeString>,
1639 pub icon_uri: Option<TypeString>,
1640 pub id: Option<TypeString>,
1641 pub name: Option<TypeString>,
1642 pub policies: Option<TypeVec<PolicyRepresentation>>,
1643 pub resources: Option<TypeVec<ResourceRepresentation>>,
1644}
1645
1646#[skip_serializing_none]
1647#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1648#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1649#[serde(rename_all = "camelCase")]
1650pub struct SocialLinkRepresentation {
1651 pub social_provider: Option<TypeString>,
1652 pub social_user_id: Option<TypeString>,
1653 pub social_username: Option<TypeString>,
1654}
1655
1656#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
1657#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1658#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
1659pub enum Status {
1660 Pending,
1661 Expired,
1662}
1663
1664#[skip_serializing_none]
1665#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1666#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1667#[serde(rename_all = "camelCase")]
1668pub struct UPAttribute {
1669 pub annotations: Option<TypeMap<String, Value>>,
1670 pub default_value: Option<TypeString>,
1671 pub display_name: Option<TypeString>,
1672 pub group: Option<TypeString>,
1673 pub multivalued: Option<bool>,
1674 pub name: Option<TypeString>,
1675 pub permissions: Option<UPAttributePermissions>,
1676 pub required: Option<UPAttributeRequired>,
1677 pub selector: Option<UPAttributeSelector>,
1678 pub validations: Option<TypeMap<String, TypeMap<String, Value>>>,
1679}
1680
1681#[skip_serializing_none]
1682#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1683#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1684pub struct UPAttributePermissions {
1685 pub edit: Option<TypeVec<String>>,
1686 pub view: Option<TypeVec<String>>,
1687}
1688
1689#[skip_serializing_none]
1690#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1691#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1692pub struct UPAttributeRequired {
1693 pub roles: Option<TypeVec<String>>,
1694 pub scopes: Option<TypeVec<String>>,
1695}
1696
1697#[skip_serializing_none]
1698#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1699#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1700pub struct UPAttributeSelector {
1701 pub scopes: Option<TypeVec<String>>,
1702}
1703
1704#[skip_serializing_none]
1705#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1706#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1707#[serde(rename_all = "camelCase")]
1708pub struct UPConfig {
1709 pub attributes: Option<TypeVec<UPAttribute>>,
1710 pub groups: Option<TypeVec<UPGroup>>,
1711 pub unmanaged_attribute_policy: Option<UnmanagedAttributePolicy>,
1712}
1713
1714#[skip_serializing_none]
1715#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1716#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1717#[serde(rename_all = "camelCase")]
1718pub struct UPGroup {
1719 pub annotations: Option<TypeMap<String, Value>>,
1720 pub display_description: Option<TypeString>,
1721 pub display_header: Option<TypeString>,
1722 pub name: Option<TypeString>,
1723}
1724
1725#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
1726#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1727#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
1728pub enum UnmanagedAttributePolicy {
1729 Enabled,
1730 AdminView,
1731 AdminEdit,
1732}
1733
1734#[skip_serializing_none]
1735#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1736#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1737#[serde(rename_all = "camelCase")]
1738pub struct UserConsentRepresentation {
1739 pub client_id: Option<TypeString>,
1740 pub created_date: Option<i64>,
1741 pub granted_client_scopes: Option<TypeVec<String>>,
1742 #[deprecated]
1743 pub granted_realm_roles: Option<TypeVec<String>>,
1744 pub last_updated_date: Option<i64>,
1745}
1746
1747#[skip_serializing_none]
1748#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1749#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1750#[serde(rename_all = "camelCase")]
1751pub struct UserFederationMapperRepresentation {
1752 pub config: Option<TypeMap<String, TypeString>>,
1753 pub federation_mapper_type: Option<TypeString>,
1754 pub federation_provider_display_name: Option<TypeString>,
1755 pub id: Option<TypeString>,
1756 pub name: Option<TypeString>,
1757}
1758
1759#[skip_serializing_none]
1760#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1761#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1762#[serde(rename_all = "camelCase")]
1763pub struct UserFederationProviderRepresentation {
1764 pub changed_sync_period: Option<i32>,
1765 pub config: Option<TypeMap<String, TypeString>>,
1766 pub display_name: Option<TypeString>,
1767 pub full_sync_period: Option<i32>,
1768 pub id: Option<TypeString>,
1769 pub last_sync: Option<i32>,
1770 pub priority: Option<i32>,
1771 pub provider_name: Option<TypeString>,
1772}
1773
1774pub type UserManagedAccessConfig = TypeMap<String, TypeValue>;
1775
1776#[skip_serializing_none]
1777#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1778#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1779#[serde(rename_all = "camelCase")]
1780pub struct UserProfileAttributeGroupMetadata {
1781 pub annotations: Option<TypeMap<String, Value>>,
1782 pub display_description: Option<TypeString>,
1783 pub display_header: Option<TypeString>,
1784 pub name: Option<TypeString>,
1785}
1786
1787#[skip_serializing_none]
1788#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1789#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1790#[serde(rename_all = "camelCase")]
1791pub struct UserProfileAttributeMetadata {
1792 pub annotations: Option<TypeMap<String, Value>>,
1793 pub default_value: Option<TypeString>,
1794 pub display_name: Option<TypeString>,
1795 pub group: Option<TypeString>,
1796 pub multivalued: Option<bool>,
1797 pub name: Option<TypeString>,
1798 pub read_only: Option<bool>,
1799 pub required: Option<bool>,
1800 pub validators: Option<TypeMap<String, TypeMap<String, Value>>>,
1801}
1802
1803#[skip_serializing_none]
1804#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1805#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1806pub struct UserProfileMetadata {
1807 pub attributes: Option<TypeVec<UserProfileAttributeMetadata>>,
1808 pub groups: Option<TypeVec<UserProfileAttributeGroupMetadata>>,
1809}
1810
1811#[skip_serializing_none]
1812#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1813#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1814#[serde(rename_all = "camelCase")]
1815pub struct UserRepresentation {
1816 pub access: Option<TypeMap<String, bool>>,
1817 #[deprecated]
1818 pub application_roles: Option<TypeMap<String, TypeVec<String>>>,
1819 pub attributes: Option<TypeMap<String, TypeVec<String>>>,
1820 pub client_consents: Option<TypeVec<UserConsentRepresentation>>,
1821 pub client_roles: Option<TypeMap<String, TypeVec<String>>>,
1822 pub created_timestamp: Option<i64>,
1823 pub credentials: Option<TypeVec<CredentialRepresentation>>,
1824 pub disableable_credential_types: Option<TypeVec<String>>,
1825 pub email: Option<TypeString>,
1826 pub email_verified: Option<bool>,
1827 pub enabled: Option<bool>,
1828 pub federated_identities: Option<TypeVec<FederatedIdentityRepresentation>>,
1829 pub federation_link: Option<TypeString>,
1830 pub first_name: Option<TypeString>,
1831 pub groups: Option<TypeVec<String>>,
1832 pub id: Option<TypeString>,
1833 pub last_name: Option<TypeString>,
1834 pub not_before: Option<i32>,
1835 pub origin: Option<TypeString>,
1836 pub realm_roles: Option<TypeVec<String>>,
1837 pub required_actions: Option<TypeVec<String>>,
1838 #[serde(rename = "self")]
1839 pub self_: Option<TypeString>,
1840 pub service_account_client_id: Option<TypeString>,
1841 #[deprecated]
1842 pub social_links: Option<TypeVec<SocialLinkRepresentation>>,
1843 pub totp: Option<bool>,
1844 pub user_profile_metadata: Option<UserProfileMetadata>,
1845 pub username: Option<TypeString>,
1846}
1847
1848#[skip_serializing_none]
1849#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1850#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1851#[serde(rename_all = "camelCase")]
1852pub struct UserSessionRepresentation {
1853 pub clients: Option<TypeMap<String, TypeString>>,
1854 pub id: Option<TypeString>,
1855 pub ip_address: Option<TypeString>,
1856 pub last_access: Option<i64>,
1857 pub remember_me: Option<bool>,
1858 pub start: Option<i64>,
1859 pub transient_user: Option<bool>,
1860 pub user_id: Option<TypeString>,
1861 pub username: Option<TypeString>,
1862}
1863
1864#[skip_serializing_none]
1865#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1866#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1867pub struct WorkflowConcurrencyRepresentation {
1868 #[serde(rename = "cancel-in-progress")]
1869 pub cancel_in_progress: Option<TypeString>,
1870 #[serde(rename = "restart-in-progress")]
1871 pub restart_in_progress: Option<TypeString>,
1872}
1873
1874#[skip_serializing_none]
1875#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1876#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1877#[serde(rename_all = "camelCase")]
1878pub struct WorkflowRepresentation {
1879 pub cancel_in_progress: Option<TypeString>,
1880 pub concurrency: Option<WorkflowConcurrencyRepresentation>,
1881 pub enabled: Option<bool>,
1882 pub id: Option<TypeString>,
1883 #[serde(rename = "if")]
1884 pub if_: Option<TypeString>,
1885 pub name: Option<TypeString>,
1886 pub on: Option<TypeString>,
1887 pub restart_in_progress: Option<TypeString>,
1888 pub schedule: Option<WorkflowScheduleRepresentation>,
1889 pub state: Option<WorkflowStateRepresentation>,
1890 pub steps: Option<TypeVec<WorkflowStepRepresentation>>,
1891 pub with: Option<MultivaluedHashMapStringString>,
1892}
1893
1894#[skip_serializing_none]
1895#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1896#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1897pub struct WorkflowScheduleRepresentation {
1898 pub after: Option<TypeString>,
1899 #[serde(rename = "batch-size")]
1900 pub batch_size: Option<i32>,
1901}
1902
1903#[skip_serializing_none]
1904#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1905#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1906pub struct WorkflowStateRepresentation {
1907 pub errors: Option<TypeVec<String>>,
1908}
1909
1910#[skip_serializing_none]
1911#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
1912#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1913pub struct WorkflowStepRepresentation {
1914 pub after: Option<TypeString>,
1915 pub config: Option<MultivaluedHashMapStringString>,
1916 pub id: Option<TypeString>,
1917 #[serde(rename = "scheduled-at")]
1918 pub scheduled_at: Option<i64>,
1919 pub uses: Option<TypeString>,
1920}