Skip to main content

keycloak/
types.rs

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}