@pulumi/keycloak 5.3.0 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/attributeImporterIdentityProviderMapper.d.ts +46 -63
  2. package/attributeImporterIdentityProviderMapper.js +25 -33
  3. package/attributeImporterIdentityProviderMapper.js.map +1 -1
  4. package/attributeToRoleIdentityMapper.d.ts +10 -2
  5. package/attributeToRoleIdentityMapper.js +10 -2
  6. package/attributeToRoleIdentityMapper.js.map +1 -1
  7. package/authentication/bindings.d.ts +2 -0
  8. package/authentication/bindings.js +2 -0
  9. package/authentication/bindings.js.map +1 -1
  10. package/authentication/execution.d.ts +8 -2
  11. package/authentication/execution.js +8 -2
  12. package/authentication/execution.js.map +1 -1
  13. package/authentication/executionConfig.d.ts +12 -2
  14. package/authentication/executionConfig.js +12 -2
  15. package/authentication/executionConfig.js.map +1 -1
  16. package/authentication/flow.d.ts +16 -2
  17. package/authentication/flow.js +16 -2
  18. package/authentication/flow.js.map +1 -1
  19. package/authentication/subflow.d.ts +18 -2
  20. package/authentication/subflow.js +18 -2
  21. package/authentication/subflow.js.map +1 -1
  22. package/customIdentityProviderMapping.d.ts +13 -5
  23. package/customIdentityProviderMapping.js +10 -2
  24. package/customIdentityProviderMapping.js.map +1 -1
  25. package/customUserFederation.d.ts +51 -50
  26. package/customUserFederation.js +27 -14
  27. package/customUserFederation.js.map +1 -1
  28. package/defaultGroups.d.ts +19 -27
  29. package/defaultGroups.js +19 -9
  30. package/defaultGroups.js.map +1 -1
  31. package/defaultRoles.d.ts +13 -2
  32. package/defaultRoles.js +13 -2
  33. package/defaultRoles.js.map +1 -1
  34. package/genericClientProtocolMapper.d.ts +40 -37
  35. package/genericClientProtocolMapper.js +25 -13
  36. package/genericClientProtocolMapper.js.map +1 -1
  37. package/genericClientRoleMapper.d.ts +22 -2
  38. package/genericClientRoleMapper.js +22 -2
  39. package/genericClientRoleMapper.js.map +1 -1
  40. package/genericProtocolMapper.d.ts +8 -2
  41. package/genericProtocolMapper.js +8 -2
  42. package/genericProtocolMapper.js.map +1 -1
  43. package/genericRoleMapper.d.ts +22 -2
  44. package/genericRoleMapper.js +22 -2
  45. package/genericRoleMapper.js.map +1 -1
  46. package/getAuthenticationExecution.d.ts +4 -0
  47. package/getAuthenticationExecution.js +4 -0
  48. package/getAuthenticationExecution.js.map +1 -1
  49. package/getAuthenticationFlow.d.ts +4 -0
  50. package/getAuthenticationFlow.js +4 -0
  51. package/getAuthenticationFlow.js.map +1 -1
  52. package/getClientDescriptionConverter.d.ts +4 -0
  53. package/getClientDescriptionConverter.js +4 -0
  54. package/getClientDescriptionConverter.js.map +1 -1
  55. package/getGroup.d.ts +4 -62
  56. package/getGroup.js +4 -50
  57. package/getGroup.js.map +1 -1
  58. package/getRealm.d.ts +32 -10
  59. package/getRealm.js +32 -4
  60. package/getRealm.js.map +1 -1
  61. package/getRealmKeys.d.ts +8 -28
  62. package/getRealmKeys.js +8 -4
  63. package/getRealmKeys.js.map +1 -1
  64. package/getRole.d.ts +4 -65
  65. package/getRole.js +4 -44
  66. package/getRole.js.map +1 -1
  67. package/getUser.d.ts +4 -0
  68. package/getUser.js +4 -0
  69. package/getUser.js.map +1 -1
  70. package/getUserRealmRoles.d.ts +4 -0
  71. package/getUserRealmRoles.js +4 -0
  72. package/getUserRealmRoles.js.map +1 -1
  73. package/group.d.ts +35 -58
  74. package/group.js +35 -16
  75. package/group.js.map +1 -1
  76. package/groupMemberships.d.ts +27 -43
  77. package/groupMemberships.js +27 -16
  78. package/groupMemberships.js.map +1 -1
  79. package/groupPermissions.d.ts +13 -0
  80. package/groupPermissions.js +13 -0
  81. package/groupPermissions.js.map +1 -1
  82. package/groupRoles.d.ts +32 -91
  83. package/groupRoles.js +32 -55
  84. package/groupRoles.js.map +1 -1
  85. package/hardcodedAttributeIdentityProviderMapper.d.ts +2 -0
  86. package/hardcodedAttributeIdentityProviderMapper.js +2 -0
  87. package/hardcodedAttributeIdentityProviderMapper.js.map +1 -1
  88. package/hardcodedRoleIdentityMapper.d.ts +2 -0
  89. package/hardcodedRoleIdentityMapper.js +2 -0
  90. package/hardcodedRoleIdentityMapper.js.map +1 -1
  91. package/identityProviderTokenExchangeScopePermission.d.ts +10 -2
  92. package/identityProviderTokenExchangeScopePermission.js +10 -2
  93. package/identityProviderTokenExchangeScopePermission.js.map +1 -1
  94. package/ldap/customMapper.d.ts +10 -2
  95. package/ldap/customMapper.js +10 -2
  96. package/ldap/customMapper.js.map +1 -1
  97. package/ldap/fullNameMapper.d.ts +41 -54
  98. package/ldap/fullNameMapper.js +32 -18
  99. package/ldap/fullNameMapper.js.map +1 -1
  100. package/ldap/groupMapper.d.ts +55 -164
  101. package/ldap/groupMapper.js +46 -20
  102. package/ldap/groupMapper.js.map +1 -1
  103. package/ldap/hardcodedAttributeMapper.d.ts +10 -2
  104. package/ldap/hardcodedAttributeMapper.js +10 -2
  105. package/ldap/hardcodedAttributeMapper.js.map +1 -1
  106. package/ldap/hardcodedGroupMapper.d.ts +10 -2
  107. package/ldap/hardcodedGroupMapper.js +10 -2
  108. package/ldap/hardcodedGroupMapper.js.map +1 -1
  109. package/ldap/hardcodedRoleMapper.d.ts +29 -64
  110. package/ldap/hardcodedRoleMapper.js +17 -52
  111. package/ldap/hardcodedRoleMapper.js.map +1 -1
  112. package/ldap/msadLdsUserAccountControlMapper.d.ts +10 -2
  113. package/ldap/msadLdsUserAccountControlMapper.js +10 -2
  114. package/ldap/msadLdsUserAccountControlMapper.js.map +1 -1
  115. package/ldap/msadUserAccountControlMapper.d.ts +34 -32
  116. package/ldap/msadUserAccountControlMapper.js +25 -14
  117. package/ldap/msadUserAccountControlMapper.js.map +1 -1
  118. package/ldap/roleMapper.d.ts +10 -2
  119. package/ldap/roleMapper.js +10 -2
  120. package/ldap/roleMapper.js.map +1 -1
  121. package/ldap/userAttributeMapper.d.ts +60 -45
  122. package/ldap/userAttributeMapper.js +30 -15
  123. package/ldap/userAttributeMapper.js.map +1 -1
  124. package/ldap/userFederation.d.ts +125 -95
  125. package/ldap/userFederation.js +53 -20
  126. package/ldap/userFederation.js.map +1 -1
  127. package/oidc/googleIdentityProvider.d.ts +8 -2
  128. package/oidc/googleIdentityProvider.js +8 -2
  129. package/oidc/googleIdentityProvider.js.map +1 -1
  130. package/oidc/identityProvider.d.ts +8 -2
  131. package/oidc/identityProvider.js +8 -2
  132. package/oidc/identityProvider.js.map +1 -1
  133. package/openid/audienceProtocolMapper.d.ts +62 -45
  134. package/openid/audienceProtocolMapper.js +38 -21
  135. package/openid/audienceProtocolMapper.js.map +1 -1
  136. package/openid/audienceResolveProtocolMapper.d.ts +17 -3
  137. package/openid/audienceResolveProtocolMapper.js +17 -3
  138. package/openid/audienceResolveProtocolMapper.js.map +1 -1
  139. package/openid/audienceResolveProtocolMappter.d.ts +17 -3
  140. package/openid/audienceResolveProtocolMappter.js +17 -3
  141. package/openid/audienceResolveProtocolMappter.js.map +1 -1
  142. package/openid/client.d.ts +48 -431
  143. package/openid/client.js +48 -14
  144. package/openid/client.js.map +1 -1
  145. package/openid/clientAuthorizationPermission.d.ts +6 -2
  146. package/openid/clientAuthorizationPermission.js +6 -2
  147. package/openid/clientAuthorizationPermission.js.map +1 -1
  148. package/openid/clientDefaultScopes.d.ts +17 -33
  149. package/openid/clientDefaultScopes.js +17 -6
  150. package/openid/clientDefaultScopes.js.map +1 -1
  151. package/openid/clientOptionalScopes.d.ts +17 -34
  152. package/openid/clientOptionalScopes.js +17 -7
  153. package/openid/clientOptionalScopes.js.map +1 -1
  154. package/openid/clientPolicy.d.ts +2 -0
  155. package/openid/clientPolicy.js +2 -0
  156. package/openid/clientPolicy.js.map +1 -1
  157. package/openid/clientScope.d.ts +27 -67
  158. package/openid/clientScope.js +27 -13
  159. package/openid/clientScope.js.map +1 -1
  160. package/openid/clientServiceAccountRealmRole.d.ts +8 -2
  161. package/openid/clientServiceAccountRealmRole.js +8 -2
  162. package/openid/clientServiceAccountRealmRole.js.map +1 -1
  163. package/openid/clientServiceAccountRole.d.ts +8 -2
  164. package/openid/clientServiceAccountRole.js +8 -2
  165. package/openid/clientServiceAccountRole.js.map +1 -1
  166. package/openid/fullNameProtocolMapper.d.ts +49 -61
  167. package/openid/fullNameProtocolMapper.js +37 -22
  168. package/openid/fullNameProtocolMapper.js.map +1 -1
  169. package/openid/getClient.d.ts +32 -14
  170. package/openid/getClient.js +32 -2
  171. package/openid/getClient.js.map +1 -1
  172. package/openid/getClientAuthorizationPolicy.d.ts +4 -0
  173. package/openid/getClientAuthorizationPolicy.js +4 -0
  174. package/openid/getClientAuthorizationPolicy.js.map +1 -1
  175. package/openid/getClientScope.d.ts +4 -0
  176. package/openid/getClientScope.js +4 -0
  177. package/openid/getClientScope.js.map +1 -1
  178. package/openid/getClientServiceAccountUser.d.ts +4 -0
  179. package/openid/getClientServiceAccountUser.js +4 -0
  180. package/openid/getClientServiceAccountUser.js.map +1 -1
  181. package/openid/groupMembershipProtocolMapper.d.ts +53 -81
  182. package/openid/groupMembershipProtocolMapper.js +41 -24
  183. package/openid/groupMembershipProtocolMapper.js.map +1 -1
  184. package/openid/hardcodedClaimProtocolMapper.d.ts +66 -66
  185. package/openid/hardcodedClaimProtocolMapper.js +42 -24
  186. package/openid/hardcodedClaimProtocolMapper.js.map +1 -1
  187. package/openid/hardcodedRoleProtocolMapper.d.ts +48 -43
  188. package/openid/hardcodedRoleProtocolMapper.js +36 -22
  189. package/openid/hardcodedRoleProtocolMapper.js.map +1 -1
  190. package/openid/scriptProtocolMapper.d.ts +17 -3
  191. package/openid/scriptProtocolMapper.js +17 -3
  192. package/openid/scriptProtocolMapper.js.map +1 -1
  193. package/openid/userAttributeProtocolMapper.d.ts +73 -72
  194. package/openid/userAttributeProtocolMapper.js +43 -24
  195. package/openid/userAttributeProtocolMapper.js.map +1 -1
  196. package/openid/userClientRoleProtocolMapper.d.ts +17 -3
  197. package/openid/userClientRoleProtocolMapper.js +17 -3
  198. package/openid/userClientRoleProtocolMapper.js.map +1 -1
  199. package/openid/userPropertyProtocolMapper.d.ts +66 -67
  200. package/openid/userPropertyProtocolMapper.js +42 -25
  201. package/openid/userPropertyProtocolMapper.js.map +1 -1
  202. package/openid/userRealmRoleProtocolMapper.d.ts +73 -63
  203. package/openid/userRealmRoleProtocolMapper.js +43 -24
  204. package/openid/userRealmRoleProtocolMapper.js.map +1 -1
  205. package/openid/userSessionNoteProtocolMapper.d.ts +17 -3
  206. package/openid/userSessionNoteProtocolMapper.js +17 -3
  207. package/openid/userSessionNoteProtocolMapper.js.map +1 -1
  208. package/package.json +1 -1
  209. package/realm.d.ts +30 -509
  210. package/realm.js +0 -83
  211. package/realm.js.map +1 -1
  212. package/realmEvents.d.ts +20 -74
  213. package/realmEvents.js +20 -11
  214. package/realmEvents.js.map +1 -1
  215. package/realmKeystoreAesGenerated.d.ts +8 -2
  216. package/realmKeystoreAesGenerated.js +8 -2
  217. package/realmKeystoreAesGenerated.js.map +1 -1
  218. package/realmKeystoreEcdsaGenerated.d.ts +8 -2
  219. package/realmKeystoreEcdsaGenerated.js +8 -2
  220. package/realmKeystoreEcdsaGenerated.js.map +1 -1
  221. package/realmKeystoreHmacGenerated.d.ts +8 -2
  222. package/realmKeystoreHmacGenerated.js +8 -2
  223. package/realmKeystoreHmacGenerated.js.map +1 -1
  224. package/realmKeystoreJavaGenerated.d.ts +8 -2
  225. package/realmKeystoreJavaGenerated.js +8 -2
  226. package/realmKeystoreJavaGenerated.js.map +1 -1
  227. package/realmKeystoreRsa.d.ts +6 -2
  228. package/realmKeystoreRsa.js +6 -2
  229. package/realmKeystoreRsa.js.map +1 -1
  230. package/realmKeystoreRsaGenerated.d.ts +8 -2
  231. package/realmKeystoreRsaGenerated.js +8 -2
  232. package/realmKeystoreRsaGenerated.js.map +1 -1
  233. package/realmUserProfile.d.ts +2 -0
  234. package/realmUserProfile.js +2 -0
  235. package/realmUserProfile.js.map +1 -1
  236. package/requiredAction.d.ts +8 -2
  237. package/requiredAction.js +8 -2
  238. package/requiredAction.js.map +1 -1
  239. package/role.d.ts +58 -125
  240. package/role.js +58 -71
  241. package/role.js.map +1 -1
  242. package/saml/client.d.ts +46 -327
  243. package/saml/client.js +46 -12
  244. package/saml/client.js.map +1 -1
  245. package/saml/clientDefaultScope.d.ts +5 -1
  246. package/saml/clientDefaultScope.js +5 -1
  247. package/saml/clientDefaultScope.js.map +1 -1
  248. package/saml/clientScope.d.ts +10 -2
  249. package/saml/clientScope.js +10 -2
  250. package/saml/clientScope.js.map +1 -1
  251. package/saml/getClient.d.ts +4 -0
  252. package/saml/getClient.js +4 -0
  253. package/saml/getClient.js.map +1 -1
  254. package/saml/getClientInstallationProvider.d.ts +4 -0
  255. package/saml/getClientInstallationProvider.js +4 -0
  256. package/saml/getClientInstallationProvider.js.map +1 -1
  257. package/saml/identityProvider.d.ts +163 -117
  258. package/saml/identityProvider.js +52 -21
  259. package/saml/identityProvider.js.map +1 -1
  260. package/saml/scriptProtocolMapper.d.ts +13 -3
  261. package/saml/scriptProtocolMapper.js +13 -3
  262. package/saml/scriptProtocolMapper.js.map +1 -1
  263. package/saml/userAttributeProtocolMapper.d.ts +32 -91
  264. package/saml/userAttributeProtocolMapper.js +32 -19
  265. package/saml/userAttributeProtocolMapper.js.map +1 -1
  266. package/saml/userPropertyProtocolMapper.d.ts +32 -91
  267. package/saml/userPropertyProtocolMapper.js +32 -19
  268. package/saml/userPropertyProtocolMapper.js.map +1 -1
  269. package/types/input.d.ts +74 -183
  270. package/types/output.d.ts +44 -207
  271. package/user.d.ts +36 -112
  272. package/user.js +36 -22
  273. package/user.js.map +1 -1
  274. package/userGroups.d.ts +9 -1
  275. package/userGroups.js +9 -1
  276. package/userGroups.js.map +1 -1
  277. package/userRoles.d.ts +11 -2
  278. package/userRoles.js +11 -2
  279. package/userRoles.js.map +1 -1
  280. package/userTemplateImporterIdentityProviderMapper.d.ts +10 -2
  281. package/userTemplateImporterIdentityProviderMapper.js +10 -2
  282. package/userTemplateImporterIdentityProviderMapper.js.map +1 -1
  283. package/usersPermissions.d.ts +10 -25
  284. package/usersPermissions.js +10 -25
  285. package/usersPermissions.js.map +1 -1
@@ -1,48 +1,62 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * Allows for creating and managing full name mappers for Keycloak users federated via LDAP.
3
+ * ## # keycloak.ldap.FullNameMapper
4
4
  *
5
- * The LDAP full name mapper can map a user's full name from an LDAP attribute to the first and last name attributes of a
6
- * Keycloak user.
5
+ * Allows for creating and managing full name mappers for Keycloak users federated
6
+ * via LDAP.
7
7
  *
8
- * ## Example Usage
8
+ * The LDAP full name mapper can map a user's full name from an LDAP attribute
9
+ * to the first and last name attributes of a Keycloak user.
9
10
  *
11
+ * ### Example Usage
12
+ *
13
+ * <!--Start PulumiCodeChooser -->
10
14
  * ```typescript
11
15
  * import * as pulumi from "@pulumi/pulumi";
12
16
  * import * as keycloak from "@pulumi/keycloak";
13
17
  *
14
18
  * const realm = new keycloak.Realm("realm", {
15
- * realm: "my-realm",
16
19
  * enabled: true,
20
+ * realm: "test",
17
21
  * });
18
22
  * const ldapUserFederation = new keycloak.ldap.UserFederation("ldapUserFederation", {
19
- * realmId: realm.id,
20
- * usernameLdapAttribute: "cn",
23
+ * bindCredential: "admin",
24
+ * bindDn: "cn=admin,dc=example,dc=org",
25
+ * connectionUrl: "ldap://openldap",
21
26
  * rdnLdapAttribute: "cn",
22
- * uuidLdapAttribute: "entryDN",
27
+ * realmId: realm.id,
23
28
  * userObjectClasses: [
24
29
  * "simpleSecurityObject",
25
30
  * "organizationalRole",
26
31
  * ],
27
- * connectionUrl: "ldap://openldap",
32
+ * usernameLdapAttribute: "cn",
28
33
  * usersDn: "dc=example,dc=org",
29
- * bindDn: "cn=admin,dc=example,dc=org",
30
- * bindCredential: "admin",
34
+ * uuidLdapAttribute: "entryDN",
31
35
  * });
32
36
  * const ldapFullNameMapper = new keycloak.ldap.FullNameMapper("ldapFullNameMapper", {
33
- * realmId: realm.id,
34
- * ldapUserFederationId: ldapUserFederation.id,
35
37
  * ldapFullNameAttribute: "cn",
38
+ * ldapUserFederationId: ldapUserFederation.id,
39
+ * realmId: realm.id,
36
40
  * });
37
41
  * ```
42
+ * <!--End PulumiCodeChooser -->
38
43
  *
39
- * ## Import
44
+ * ### Argument Reference
40
45
  *
41
- * LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`. The ID of the LDAP user federation provider and the mapper can be found within the Keycloak GUI, and they are typically GUIDs. Examplebash
46
+ * The following arguments are supported:
42
47
  *
43
- * ```sh
44
- * $ pulumi import keycloak:ldap/fullNameMapper:FullNameMapper ldap_full_name_mapper my-realm/af2a6ca3-e4d7-49c3-b08b-1b3c70b4b860/3d923ece-1a91-4bf7-adaf-3b82f2a12b67
45
- * ```
48
+ * - `realmId` - (Required) The realm that this LDAP mapper will exist in.
49
+ * - `ldapUserFederationId` - (Required) The ID of the LDAP user federation provider to attach this mapper to.
50
+ * - `name` - (Required) Display name of this mapper when displayed in the console.
51
+ * - `ldapFullNameAttribute` - (Required) The name of the LDAP attribute containing the user's full name.
52
+ * - `readOnly` - (Optional) When `true`, updates to a user within Keycloak will not be written back to LDAP. Defaults to `false`.
53
+ * - `writeOnly` - (Optional) When `true`, this mapper will only be used to write updates to LDAP. Defaults to `false`.
54
+ *
55
+ * ### Import
56
+ *
57
+ * LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`.
58
+ * The ID of the LDAP user federation provider and the mapper can be found within
59
+ * the Keycloak GUI, and they are typically GUIDs:
46
60
  */
47
61
  export declare class FullNameMapper extends pulumi.CustomResource {
48
62
  /**
@@ -60,29 +74,20 @@ export declare class FullNameMapper extends pulumi.CustomResource {
60
74
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
61
75
  */
62
76
  static isInstance(obj: any): obj is FullNameMapper;
63
- /**
64
- * The name of the LDAP attribute containing the user's full name.
65
- */
66
77
  readonly ldapFullNameAttribute: pulumi.Output<string>;
67
78
  /**
68
- * The ID of the LDAP user federation provider to attach this mapper to.
79
+ * The ldap user federation provider to attach this mapper to.
69
80
  */
70
81
  readonly ldapUserFederationId: pulumi.Output<string>;
71
82
  /**
72
- * Display name of this mapper when displayed in the console.
83
+ * Display name of the mapper when displayed in the console.
73
84
  */
74
85
  readonly name: pulumi.Output<string>;
75
- /**
76
- * When `true`, updates to a user within Keycloak will not be written back to LDAP. Defaults to `false`.
77
- */
78
86
  readonly readOnly: pulumi.Output<boolean | undefined>;
79
87
  /**
80
- * The realm that this LDAP mapper will exist in.
88
+ * The realm in which the ldap user federation provider exists.
81
89
  */
82
90
  readonly realmId: pulumi.Output<string>;
83
- /**
84
- * When `true`, this mapper will only be used to write updates to LDAP. Defaults to `false`.
85
- */
86
91
  readonly writeOnly: pulumi.Output<boolean | undefined>;
87
92
  /**
88
93
  * Create a FullNameMapper resource with the given unique name, arguments, and options.
@@ -97,57 +102,39 @@ export declare class FullNameMapper extends pulumi.CustomResource {
97
102
  * Input properties used for looking up and filtering FullNameMapper resources.
98
103
  */
99
104
  export interface FullNameMapperState {
100
- /**
101
- * The name of the LDAP attribute containing the user's full name.
102
- */
103
105
  ldapFullNameAttribute?: pulumi.Input<string>;
104
106
  /**
105
- * The ID of the LDAP user federation provider to attach this mapper to.
107
+ * The ldap user federation provider to attach this mapper to.
106
108
  */
107
109
  ldapUserFederationId?: pulumi.Input<string>;
108
110
  /**
109
- * Display name of this mapper when displayed in the console.
111
+ * Display name of the mapper when displayed in the console.
110
112
  */
111
113
  name?: pulumi.Input<string>;
112
- /**
113
- * When `true`, updates to a user within Keycloak will not be written back to LDAP. Defaults to `false`.
114
- */
115
114
  readOnly?: pulumi.Input<boolean>;
116
115
  /**
117
- * The realm that this LDAP mapper will exist in.
116
+ * The realm in which the ldap user federation provider exists.
118
117
  */
119
118
  realmId?: pulumi.Input<string>;
120
- /**
121
- * When `true`, this mapper will only be used to write updates to LDAP. Defaults to `false`.
122
- */
123
119
  writeOnly?: pulumi.Input<boolean>;
124
120
  }
125
121
  /**
126
122
  * The set of arguments for constructing a FullNameMapper resource.
127
123
  */
128
124
  export interface FullNameMapperArgs {
129
- /**
130
- * The name of the LDAP attribute containing the user's full name.
131
- */
132
125
  ldapFullNameAttribute: pulumi.Input<string>;
133
126
  /**
134
- * The ID of the LDAP user federation provider to attach this mapper to.
127
+ * The ldap user federation provider to attach this mapper to.
135
128
  */
136
129
  ldapUserFederationId: pulumi.Input<string>;
137
130
  /**
138
- * Display name of this mapper when displayed in the console.
131
+ * Display name of the mapper when displayed in the console.
139
132
  */
140
133
  name?: pulumi.Input<string>;
141
- /**
142
- * When `true`, updates to a user within Keycloak will not be written back to LDAP. Defaults to `false`.
143
- */
144
134
  readOnly?: pulumi.Input<boolean>;
145
135
  /**
146
- * The realm that this LDAP mapper will exist in.
136
+ * The realm in which the ldap user federation provider exists.
147
137
  */
148
138
  realmId: pulumi.Input<string>;
149
- /**
150
- * When `true`, this mapper will only be used to write updates to LDAP. Defaults to `false`.
151
- */
152
139
  writeOnly?: pulumi.Input<boolean>;
153
140
  }
@@ -6,49 +6,63 @@ exports.FullNameMapper = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
8
  /**
9
- * Allows for creating and managing full name mappers for Keycloak users federated via LDAP.
9
+ * ## # keycloak.ldap.FullNameMapper
10
10
  *
11
- * The LDAP full name mapper can map a user's full name from an LDAP attribute to the first and last name attributes of a
12
- * Keycloak user.
11
+ * Allows for creating and managing full name mappers for Keycloak users federated
12
+ * via LDAP.
13
13
  *
14
- * ## Example Usage
14
+ * The LDAP full name mapper can map a user's full name from an LDAP attribute
15
+ * to the first and last name attributes of a Keycloak user.
15
16
  *
17
+ * ### Example Usage
18
+ *
19
+ * <!--Start PulumiCodeChooser -->
16
20
  * ```typescript
17
21
  * import * as pulumi from "@pulumi/pulumi";
18
22
  * import * as keycloak from "@pulumi/keycloak";
19
23
  *
20
24
  * const realm = new keycloak.Realm("realm", {
21
- * realm: "my-realm",
22
25
  * enabled: true,
26
+ * realm: "test",
23
27
  * });
24
28
  * const ldapUserFederation = new keycloak.ldap.UserFederation("ldapUserFederation", {
25
- * realmId: realm.id,
26
- * usernameLdapAttribute: "cn",
29
+ * bindCredential: "admin",
30
+ * bindDn: "cn=admin,dc=example,dc=org",
31
+ * connectionUrl: "ldap://openldap",
27
32
  * rdnLdapAttribute: "cn",
28
- * uuidLdapAttribute: "entryDN",
33
+ * realmId: realm.id,
29
34
  * userObjectClasses: [
30
35
  * "simpleSecurityObject",
31
36
  * "organizationalRole",
32
37
  * ],
33
- * connectionUrl: "ldap://openldap",
38
+ * usernameLdapAttribute: "cn",
34
39
  * usersDn: "dc=example,dc=org",
35
- * bindDn: "cn=admin,dc=example,dc=org",
36
- * bindCredential: "admin",
40
+ * uuidLdapAttribute: "entryDN",
37
41
  * });
38
42
  * const ldapFullNameMapper = new keycloak.ldap.FullNameMapper("ldapFullNameMapper", {
39
- * realmId: realm.id,
40
- * ldapUserFederationId: ldapUserFederation.id,
41
43
  * ldapFullNameAttribute: "cn",
44
+ * ldapUserFederationId: ldapUserFederation.id,
45
+ * realmId: realm.id,
42
46
  * });
43
47
  * ```
48
+ * <!--End PulumiCodeChooser -->
44
49
  *
45
- * ## Import
50
+ * ### Argument Reference
46
51
  *
47
- * LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`. The ID of the LDAP user federation provider and the mapper can be found within the Keycloak GUI, and they are typically GUIDs. Examplebash
52
+ * The following arguments are supported:
48
53
  *
49
- * ```sh
50
- * $ pulumi import keycloak:ldap/fullNameMapper:FullNameMapper ldap_full_name_mapper my-realm/af2a6ca3-e4d7-49c3-b08b-1b3c70b4b860/3d923ece-1a91-4bf7-adaf-3b82f2a12b67
51
- * ```
54
+ * - `realmId` - (Required) The realm that this LDAP mapper will exist in.
55
+ * - `ldapUserFederationId` - (Required) The ID of the LDAP user federation provider to attach this mapper to.
56
+ * - `name` - (Required) Display name of this mapper when displayed in the console.
57
+ * - `ldapFullNameAttribute` - (Required) The name of the LDAP attribute containing the user's full name.
58
+ * - `readOnly` - (Optional) When `true`, updates to a user within Keycloak will not be written back to LDAP. Defaults to `false`.
59
+ * - `writeOnly` - (Optional) When `true`, this mapper will only be used to write updates to LDAP. Defaults to `false`.
60
+ *
61
+ * ### Import
62
+ *
63
+ * LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`.
64
+ * The ID of the LDAP user federation provider and the mapper can be found within
65
+ * the Keycloak GUI, and they are typically GUIDs:
52
66
  */
53
67
  class FullNameMapper extends pulumi.CustomResource {
54
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fullNameMapper.js","sourceRoot":"","sources":["../../ldap/fullNameMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullNameMapper.js","sourceRoot":"","sources":["../../ldap/fullNameMapper.ts"],"names":[],"mappings":"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"}
@@ -1,54 +1,80 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * Allows for creating and managing group mappers for Keycloak users federated via LDAP.
3
+ * ## # keycloak.ldap.GroupMapper
4
4
  *
5
- * The LDAP group mapper can be used to map an LDAP user's groups from some DN to Keycloak groups. This group mapper will also
6
- * create the groups within Keycloak if they do not already exist.
5
+ * Allows for creating and managing group mappers for Keycloak users federated
6
+ * via LDAP.
7
7
  *
8
- * ## Example Usage
8
+ * The LDAP group mapper can be used to map an LDAP user's groups from some DN
9
+ * to Keycloak groups. This group mapper will also create the groups within Keycloak
10
+ * if they do not already exist.
9
11
  *
12
+ * ### Example Usage
13
+ *
14
+ * <!--Start PulumiCodeChooser -->
10
15
  * ```typescript
11
16
  * import * as pulumi from "@pulumi/pulumi";
12
17
  * import * as keycloak from "@pulumi/keycloak";
13
18
  *
14
19
  * const realm = new keycloak.Realm("realm", {
15
- * realm: "my-realm",
16
20
  * enabled: true,
21
+ * realm: "test",
17
22
  * });
18
23
  * const ldapUserFederation = new keycloak.ldap.UserFederation("ldapUserFederation", {
19
- * realmId: realm.id,
20
- * usernameLdapAttribute: "cn",
24
+ * bindCredential: "admin",
25
+ * bindDn: "cn=admin,dc=example,dc=org",
26
+ * connectionUrl: "ldap://openldap",
21
27
  * rdnLdapAttribute: "cn",
22
- * uuidLdapAttribute: "entryDN",
28
+ * realmId: realm.id,
23
29
  * userObjectClasses: [
24
30
  * "simpleSecurityObject",
25
31
  * "organizationalRole",
26
32
  * ],
27
- * connectionUrl: "ldap://openldap",
33
+ * usernameLdapAttribute: "cn",
28
34
  * usersDn: "dc=example,dc=org",
29
- * bindDn: "cn=admin,dc=example,dc=org",
30
- * bindCredential: "admin",
35
+ * uuidLdapAttribute: "entryDN",
31
36
  * });
32
37
  * const ldapGroupMapper = new keycloak.ldap.GroupMapper("ldapGroupMapper", {
33
- * realmId: realm.id,
34
- * ldapUserFederationId: ldapUserFederation.id,
35
- * ldapGroupsDn: "dc=example,dc=org",
36
38
  * groupNameLdapAttribute: "cn",
37
39
  * groupObjectClasses: ["groupOfNames"],
40
+ * ldapGroupsDn: "dc=example,dc=org",
41
+ * ldapUserFederationId: ldapUserFederation.id,
42
+ * memberofLdapAttribute: "memberOf",
38
43
  * membershipAttributeType: "DN",
39
44
  * membershipLdapAttribute: "member",
40
45
  * membershipUserLdapAttribute: "cn",
41
- * memberofLdapAttribute: "memberOf",
46
+ * realmId: realm.id,
42
47
  * });
43
48
  * ```
49
+ * <!--End PulumiCodeChooser -->
44
50
  *
45
- * ## Import
51
+ * ### Argument Reference
46
52
  *
47
- * LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`. The ID of the LDAP user federation provider and the mapper can be found within the Keycloak GUI, and they are typically GUIDs. Examplebash
53
+ * The following arguments are supported:
48
54
  *
49
- * ```sh
50
- * $ pulumi import keycloak:ldap/groupMapper:GroupMapper ldap_group_mapper my-realm/af2a6ca3-e4d7-49c3-b08b-1b3c70b4b860/3d923ece-1a91-4bf7-adaf-3b82f2a12b67
51
- * ```
55
+ * - `realmId` - (Required) The realm that this LDAP mapper will exist in.
56
+ * - `ldapUserFederationId` - (Required) The ID of the LDAP user federation provider to attach this mapper to.
57
+ * - `name` - (Required) Display name of this mapper when displayed in the console.
58
+ * - `ldapGroupsDn` - (Required) The LDAP DN where groups can be found.
59
+ * - `groupNameLdapAttribute` - (Required) The name of the LDAP attribute that is used in group objects for the name and RDN of the group. Typically `cn`.
60
+ * - `groupObjectClasses` - (Required) Array of strings representing the object classes for the group. Must contain at least one.
61
+ * - `preserveGroupInheritance` - (Optional) When `true`, group inheritance will be propagated from LDAP to Keycloak. When `false`, all LDAP groups will be propagated as top level groups within Keycloak.
62
+ * - `ignoreMissingGroups` - (Optional) When `true`, missing groups in the hierarchy will be ignored.
63
+ * - `membershipLdapAttribute` - (Required) The name of the LDAP attribute that is used for membership mappings.
64
+ * - `membershipAttributeType` - (Optional) Can be one of `DN` or `UID`. Defaults to `DN`.
65
+ * - `membershipUserLdapAttribute` - (Required) The name of the LDAP attribute on a user that is used for membership mappings.
66
+ * - `groupsLdapFilter` - (Optional) When specified, adds an additional custom filter to be used when querying for groups. Must start with `(` and end with `)`.
67
+ * - `mode` - (Optional) Can be one of `READ_ONLY` or `LDAP_ONLY`. Defaults to `READ_ONLY`.
68
+ * - `userRolesRetrieveStrategy` - (Optional) Can be one of `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`, `GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE`, or `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY`. Defaults to `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`.
69
+ * - `memberofLdapAttribute` - (Optional) Specifies the name of the LDAP attribute on the LDAP user that contains the groups the user is a member of. Defaults to `memberOf`.
70
+ * - `mappedGroupAttributes` - (Optional) Array of strings representing attributes on the LDAP group which will be mapped to attributes on the Keycloak group.
71
+ * - `dropNonExistingGroupsDuringSync` - (Optional) When `true`, groups that no longer exist within LDAP will be dropped in Keycloak during sync. Defaults to `false`.
72
+ *
73
+ * ### Import
74
+ *
75
+ * LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`.
76
+ * The ID of the LDAP user federation provider and the mapper can be found within
77
+ * the Keycloak GUI, and they are typically GUIDs:
52
78
  */
53
79
  export declare class GroupMapper extends pulumi.CustomResource {
54
80
  /**
@@ -66,77 +92,32 @@ export declare class GroupMapper extends pulumi.CustomResource {
66
92
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
67
93
  */
68
94
  static isInstance(obj: any): obj is GroupMapper;
69
- /**
70
- * When `true`, groups that no longer exist within LDAP will be dropped in Keycloak during sync. Defaults to `false`.
71
- */
72
95
  readonly dropNonExistingGroupsDuringSync: pulumi.Output<boolean | undefined>;
73
- /**
74
- * The name of the LDAP attribute that is used in group objects for the name and RDN of the group. Typically `cn`.
75
- */
76
96
  readonly groupNameLdapAttribute: pulumi.Output<string>;
77
- /**
78
- * List of strings representing the object classes for the group. Must contain at least one.
79
- */
80
97
  readonly groupObjectClasses: pulumi.Output<string[]>;
81
- /**
82
- * When specified, adds an additional custom filter to be used when querying for groups. Must start with `(` and end with `)`.
83
- */
84
98
  readonly groupsLdapFilter: pulumi.Output<string | undefined>;
85
- /**
86
- * Keycloak group path the LDAP groups are added to. For example if value `/Applications/App1` is used, then LDAP groups will be available in Keycloak under group `App1`, which is the child of top level group `Applications`. The configured group path must already exist in Keycloak when creating this mapper.
87
- */
88
99
  readonly groupsPath: pulumi.Output<string>;
89
- /**
90
- * When `true`, missing groups in the hierarchy will be ignored.
91
- */
92
100
  readonly ignoreMissingGroups: pulumi.Output<boolean | undefined>;
93
- /**
94
- * The LDAP DN where groups can be found.
95
- */
96
101
  readonly ldapGroupsDn: pulumi.Output<string>;
97
102
  /**
98
- * The ID of the LDAP user federation provider to attach this mapper to.
103
+ * The ldap user federation provider to attach this mapper to.
99
104
  */
100
105
  readonly ldapUserFederationId: pulumi.Output<string>;
101
- /**
102
- * Array of strings representing attributes on the LDAP group which will be mapped to attributes on the Keycloak group.
103
- */
104
106
  readonly mappedGroupAttributes: pulumi.Output<string[] | undefined>;
105
- /**
106
- * Specifies the name of the LDAP attribute on the LDAP user that contains the groups the user is a member of. Defaults to `memberOf`.
107
- */
108
107
  readonly memberofLdapAttribute: pulumi.Output<string | undefined>;
109
- /**
110
- * Can be one of `DN` or `UID`. Defaults to `DN`.
111
- */
112
108
  readonly membershipAttributeType: pulumi.Output<string | undefined>;
113
- /**
114
- * The name of the LDAP attribute that is used for membership mappings.
115
- */
116
109
  readonly membershipLdapAttribute: pulumi.Output<string>;
117
- /**
118
- * The name of the LDAP attribute on a user that is used for membership mappings.
119
- */
120
110
  readonly membershipUserLdapAttribute: pulumi.Output<string>;
121
- /**
122
- * Can be one of `READ_ONLY`, `LDAP_ONLY` or `IMPORT`. Defaults to `READ_ONLY`.
123
- */
124
111
  readonly mode: pulumi.Output<string | undefined>;
125
112
  /**
126
- * Display name of this mapper when displayed in the console.
113
+ * Display name of the mapper when displayed in the console.
127
114
  */
128
115
  readonly name: pulumi.Output<string>;
129
- /**
130
- * When `true`, group inheritance will be propagated from LDAP to Keycloak. When `false`, all LDAP groups will be propagated as top level groups within Keycloak.
131
- */
132
116
  readonly preserveGroupInheritance: pulumi.Output<boolean | undefined>;
133
117
  /**
134
- * The realm that this LDAP mapper will exist in.
118
+ * The realm in which the ldap user federation provider exists.
135
119
  */
136
120
  readonly realmId: pulumi.Output<string>;
137
- /**
138
- * Can be one of `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`, `GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE`, or `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY`. Defaults to `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`.
139
- */
140
121
  readonly userRolesRetrieveStrategy: pulumi.Output<string | undefined>;
141
122
  /**
142
123
  * Create a GroupMapper resource with the given unique name, arguments, and options.
@@ -151,153 +132,63 @@ export declare class GroupMapper extends pulumi.CustomResource {
151
132
  * Input properties used for looking up and filtering GroupMapper resources.
152
133
  */
153
134
  export interface GroupMapperState {
154
- /**
155
- * When `true`, groups that no longer exist within LDAP will be dropped in Keycloak during sync. Defaults to `false`.
156
- */
157
135
  dropNonExistingGroupsDuringSync?: pulumi.Input<boolean>;
158
- /**
159
- * The name of the LDAP attribute that is used in group objects for the name and RDN of the group. Typically `cn`.
160
- */
161
136
  groupNameLdapAttribute?: pulumi.Input<string>;
162
- /**
163
- * List of strings representing the object classes for the group. Must contain at least one.
164
- */
165
137
  groupObjectClasses?: pulumi.Input<pulumi.Input<string>[]>;
166
- /**
167
- * When specified, adds an additional custom filter to be used when querying for groups. Must start with `(` and end with `)`.
168
- */
169
138
  groupsLdapFilter?: pulumi.Input<string>;
170
- /**
171
- * Keycloak group path the LDAP groups are added to. For example if value `/Applications/App1` is used, then LDAP groups will be available in Keycloak under group `App1`, which is the child of top level group `Applications`. The configured group path must already exist in Keycloak when creating this mapper.
172
- */
173
139
  groupsPath?: pulumi.Input<string>;
174
- /**
175
- * When `true`, missing groups in the hierarchy will be ignored.
176
- */
177
140
  ignoreMissingGroups?: pulumi.Input<boolean>;
178
- /**
179
- * The LDAP DN where groups can be found.
180
- */
181
141
  ldapGroupsDn?: pulumi.Input<string>;
182
142
  /**
183
- * The ID of the LDAP user federation provider to attach this mapper to.
143
+ * The ldap user federation provider to attach this mapper to.
184
144
  */
185
145
  ldapUserFederationId?: pulumi.Input<string>;
186
- /**
187
- * Array of strings representing attributes on the LDAP group which will be mapped to attributes on the Keycloak group.
188
- */
189
146
  mappedGroupAttributes?: pulumi.Input<pulumi.Input<string>[]>;
190
- /**
191
- * Specifies the name of the LDAP attribute on the LDAP user that contains the groups the user is a member of. Defaults to `memberOf`.
192
- */
193
147
  memberofLdapAttribute?: pulumi.Input<string>;
194
- /**
195
- * Can be one of `DN` or `UID`. Defaults to `DN`.
196
- */
197
148
  membershipAttributeType?: pulumi.Input<string>;
198
- /**
199
- * The name of the LDAP attribute that is used for membership mappings.
200
- */
201
149
  membershipLdapAttribute?: pulumi.Input<string>;
202
- /**
203
- * The name of the LDAP attribute on a user that is used for membership mappings.
204
- */
205
150
  membershipUserLdapAttribute?: pulumi.Input<string>;
206
- /**
207
- * Can be one of `READ_ONLY`, `LDAP_ONLY` or `IMPORT`. Defaults to `READ_ONLY`.
208
- */
209
151
  mode?: pulumi.Input<string>;
210
152
  /**
211
- * Display name of this mapper when displayed in the console.
153
+ * Display name of the mapper when displayed in the console.
212
154
  */
213
155
  name?: pulumi.Input<string>;
214
- /**
215
- * When `true`, group inheritance will be propagated from LDAP to Keycloak. When `false`, all LDAP groups will be propagated as top level groups within Keycloak.
216
- */
217
156
  preserveGroupInheritance?: pulumi.Input<boolean>;
218
157
  /**
219
- * The realm that this LDAP mapper will exist in.
158
+ * The realm in which the ldap user federation provider exists.
220
159
  */
221
160
  realmId?: pulumi.Input<string>;
222
- /**
223
- * Can be one of `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`, `GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE`, or `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY`. Defaults to `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`.
224
- */
225
161
  userRolesRetrieveStrategy?: pulumi.Input<string>;
226
162
  }
227
163
  /**
228
164
  * The set of arguments for constructing a GroupMapper resource.
229
165
  */
230
166
  export interface GroupMapperArgs {
231
- /**
232
- * When `true`, groups that no longer exist within LDAP will be dropped in Keycloak during sync. Defaults to `false`.
233
- */
234
167
  dropNonExistingGroupsDuringSync?: pulumi.Input<boolean>;
235
- /**
236
- * The name of the LDAP attribute that is used in group objects for the name and RDN of the group. Typically `cn`.
237
- */
238
168
  groupNameLdapAttribute: pulumi.Input<string>;
239
- /**
240
- * List of strings representing the object classes for the group. Must contain at least one.
241
- */
242
169
  groupObjectClasses: pulumi.Input<pulumi.Input<string>[]>;
243
- /**
244
- * When specified, adds an additional custom filter to be used when querying for groups. Must start with `(` and end with `)`.
245
- */
246
170
  groupsLdapFilter?: pulumi.Input<string>;
247
- /**
248
- * Keycloak group path the LDAP groups are added to. For example if value `/Applications/App1` is used, then LDAP groups will be available in Keycloak under group `App1`, which is the child of top level group `Applications`. The configured group path must already exist in Keycloak when creating this mapper.
249
- */
250
171
  groupsPath?: pulumi.Input<string>;
251
- /**
252
- * When `true`, missing groups in the hierarchy will be ignored.
253
- */
254
172
  ignoreMissingGroups?: pulumi.Input<boolean>;
255
- /**
256
- * The LDAP DN where groups can be found.
257
- */
258
173
  ldapGroupsDn: pulumi.Input<string>;
259
174
  /**
260
- * The ID of the LDAP user federation provider to attach this mapper to.
175
+ * The ldap user federation provider to attach this mapper to.
261
176
  */
262
177
  ldapUserFederationId: pulumi.Input<string>;
263
- /**
264
- * Array of strings representing attributes on the LDAP group which will be mapped to attributes on the Keycloak group.
265
- */
266
178
  mappedGroupAttributes?: pulumi.Input<pulumi.Input<string>[]>;
267
- /**
268
- * Specifies the name of the LDAP attribute on the LDAP user that contains the groups the user is a member of. Defaults to `memberOf`.
269
- */
270
179
  memberofLdapAttribute?: pulumi.Input<string>;
271
- /**
272
- * Can be one of `DN` or `UID`. Defaults to `DN`.
273
- */
274
180
  membershipAttributeType?: pulumi.Input<string>;
275
- /**
276
- * The name of the LDAP attribute that is used for membership mappings.
277
- */
278
181
  membershipLdapAttribute: pulumi.Input<string>;
279
- /**
280
- * The name of the LDAP attribute on a user that is used for membership mappings.
281
- */
282
182
  membershipUserLdapAttribute: pulumi.Input<string>;
283
- /**
284
- * Can be one of `READ_ONLY`, `LDAP_ONLY` or `IMPORT`. Defaults to `READ_ONLY`.
285
- */
286
183
  mode?: pulumi.Input<string>;
287
184
  /**
288
- * Display name of this mapper when displayed in the console.
185
+ * Display name of the mapper when displayed in the console.
289
186
  */
290
187
  name?: pulumi.Input<string>;
291
- /**
292
- * When `true`, group inheritance will be propagated from LDAP to Keycloak. When `false`, all LDAP groups will be propagated as top level groups within Keycloak.
293
- */
294
188
  preserveGroupInheritance?: pulumi.Input<boolean>;
295
189
  /**
296
- * The realm that this LDAP mapper will exist in.
190
+ * The realm in which the ldap user federation provider exists.
297
191
  */
298
192
  realmId: pulumi.Input<string>;
299
- /**
300
- * Can be one of `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`, `GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE`, or `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY`. Defaults to `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE`.
301
- */
302
193
  userRolesRetrieveStrategy?: pulumi.Input<string>;
303
194
  }