@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
@@ -6,51 +6,66 @@ exports.UserAttributeMapper = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
8
  /**
9
+ * ## # keycloak.ldap.UserAttributeMapper
10
+ *
9
11
  * Allows for creating and managing user attribute mappers for Keycloak users
10
12
  * federated via LDAP.
11
13
  *
12
14
  * The LDAP user attribute mapper can be used to map a single LDAP attribute
13
15
  * to an attribute on the Keycloak user model.
14
16
  *
15
- * ## Example Usage
17
+ * ### Example Usage
16
18
  *
19
+ * <!--Start PulumiCodeChooser -->
17
20
  * ```typescript
18
21
  * import * as pulumi from "@pulumi/pulumi";
19
22
  * import * as keycloak from "@pulumi/keycloak";
20
23
  *
21
24
  * const realm = new keycloak.Realm("realm", {
22
- * realm: "my-realm",
23
25
  * enabled: true,
26
+ * realm: "test",
24
27
  * });
25
28
  * const ldapUserFederation = new keycloak.ldap.UserFederation("ldapUserFederation", {
26
- * realmId: realm.id,
27
- * usernameLdapAttribute: "cn",
29
+ * bindCredential: "admin",
30
+ * bindDn: "cn=admin,dc=example,dc=org",
31
+ * connectionUrl: "ldap://openldap",
28
32
  * rdnLdapAttribute: "cn",
29
- * uuidLdapAttribute: "entryDN",
33
+ * realmId: realm.id,
30
34
  * userObjectClasses: [
31
35
  * "simpleSecurityObject",
32
36
  * "organizationalRole",
33
37
  * ],
34
- * connectionUrl: "ldap://openldap",
38
+ * usernameLdapAttribute: "cn",
35
39
  * usersDn: "dc=example,dc=org",
36
- * bindDn: "cn=admin,dc=example,dc=org",
37
- * bindCredential: "admin",
40
+ * uuidLdapAttribute: "entryDN",
38
41
  * });
39
42
  * const ldapUserAttributeMapper = new keycloak.ldap.UserAttributeMapper("ldapUserAttributeMapper", {
40
- * realmId: realm.id,
43
+ * ldapAttribute: "bar",
41
44
  * ldapUserFederationId: ldapUserFederation.id,
45
+ * realmId: realm.id,
42
46
  * userModelAttribute: "foo",
43
- * ldapAttribute: "bar",
44
47
  * });
45
48
  * ```
49
+ * <!--End PulumiCodeChooser -->
46
50
  *
47
- * ## Import
51
+ * ### Argument Reference
48
52
  *
49
- * 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:
50
54
  *
51
- * ```sh
52
- * $ pulumi import keycloak:ldap/userAttributeMapper:UserAttributeMapper ldap_user_attribute_mapper my-realm/af2a6ca3-e4d7-49c3-b08b-1b3c70b4b860/3d923ece-1a91-4bf7-adaf-3b82f2a12b67
53
- * ```
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
+ * - `userModelAttribute` - (Required) Name of the user property or attribute you want to map the LDAP attribute into.
59
+ * - `ldapAttribute` - (Required) Name of the mapped attribute on the LDAP object.
60
+ * - `readOnly` - (Optional) When `true`, this attribute is not saved back to LDAP when the user attribute is updated in Keycloak. Defaults to `false`.
61
+ * - `alwaysReadValueFromLdap` - (Optional) When `true`, the value fetched from LDAP will override the value stored in Keycloak. Defaults to `false`.
62
+ * - `isMandatoryInLdap` - (Optional) When `true`, this attribute must exist in LDAP. Defaults to `false`.
63
+ *
64
+ * ### Import
65
+ *
66
+ * LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`.
67
+ * The ID of the LDAP user federation provider and the mapper can be found within
68
+ * the Keycloak GUI, and they are typically GUIDs:
54
69
  */
55
70
  class UserAttributeMapper extends pulumi.CustomResource {
56
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"userAttributeMapper.js","sourceRoot":"","sources":["../../ldap/userAttributeMapper.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAa,mBAAoB,SAAQ,MAAM,CAAC,cAAc;IAC1D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAgC,EAAE,IAAmC;QAC9H,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC1E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,mBAAmB,CAAC,YAAY,CAAC;IACpE,CAAC;IAmDD,YAAY,IAAY,EAAE,WAAgE,EAAE,IAAmC;QAC3H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAmD,CAAC;YAClE,cAAc,CAAC,yBAAyB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;SACvF;aAAM;YACH,MAAM,IAAI,GAAG,WAAkD,CAAC;YAChE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACvE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;YACD,cAAc,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;SACrF;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;;AAvHL,kDAwHC;AA1GG,gBAAgB;AACO,gCAAY,GAAG,uDAAuD,CAAC"}
1
+ {"version":3,"file":"userAttributeMapper.js","sourceRoot":"","sources":["../../ldap/userAttributeMapper.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAa,mBAAoB,SAAQ,MAAM,CAAC,cAAc;IAC1D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAgC,EAAE,IAAmC;QAC9H,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC1E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,mBAAmB,CAAC,YAAY,CAAC;IACpE,CAAC;IAmDD,YAAY,IAAY,EAAE,WAAgE,EAAE,IAAmC;QAC3H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAmD,CAAC;YAClE,cAAc,CAAC,yBAAyB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;SACvF;aAAM;YACH,MAAM,IAAI,GAAG,WAAkD,CAAC;YAChE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACvE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;YACD,cAAc,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;SACrF;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;;AAvHL,kDAwHC;AA1GG,gBAAgB;AACO,gCAAY,GAAG,uDAAuD,CAAC"}
@@ -2,6 +2,8 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "../types/input";
3
3
  import * as outputs from "../types/output";
4
4
  /**
5
+ * ## # keycloak.ldap.UserFederation
6
+ *
5
7
  * Allows for creating and managing LDAP user federation providers within Keycloak.
6
8
  *
7
9
  * Keycloak can use an LDAP user federation provider to federate users to Keycloak
@@ -9,47 +11,78 @@ import * as outputs from "../types/output";
9
11
  * will exist within the realm and will be able to log in to clients. Federated
10
12
  * users can have their attributes defined using mappers.
11
13
  *
12
- * ## Example Usage
14
+ * ### Example Usage
13
15
  *
16
+ * <!--Start PulumiCodeChooser -->
14
17
  * ```typescript
15
18
  * import * as pulumi from "@pulumi/pulumi";
16
19
  * import * as keycloak from "@pulumi/keycloak";
17
20
  *
18
21
  * const realm = new keycloak.Realm("realm", {
19
- * realm: "my-realm",
20
22
  * enabled: true,
23
+ * realm: "test",
21
24
  * });
22
25
  * const ldapUserFederation = new keycloak.ldap.UserFederation("ldapUserFederation", {
23
- * realmId: realm.id,
26
+ * bindCredential: "admin",
27
+ * bindDn: "cn=admin,dc=example,dc=org",
28
+ * connectionTimeout: "5s",
29
+ * connectionUrl: "ldap://openldap",
24
30
  * enabled: true,
25
- * usernameLdapAttribute: "cn",
26
31
  * rdnLdapAttribute: "cn",
27
- * uuidLdapAttribute: "entryDN",
32
+ * readTimeout: "10s",
33
+ * realmId: realm.id,
28
34
  * userObjectClasses: [
29
35
  * "simpleSecurityObject",
30
36
  * "organizationalRole",
31
37
  * ],
32
- * connectionUrl: "ldap://openldap",
38
+ * usernameLdapAttribute: "cn",
33
39
  * usersDn: "dc=example,dc=org",
34
- * bindDn: "cn=admin,dc=example,dc=org",
35
- * bindCredential: "admin",
36
- * connectionTimeout: "5s",
37
- * readTimeout: "10s",
38
- * kerberos: {
39
- * kerberosRealm: "FOO.LOCAL",
40
- * serverPrincipal: "HTTP/host.foo.com@FOO.LOCAL",
41
- * keyTab: "/etc/host.keytab",
42
- * },
40
+ * uuidLdapAttribute: "entryDN",
43
41
  * });
44
42
  * ```
43
+ * <!--End PulumiCodeChooser -->
45
44
  *
46
- * ## Import
45
+ * ### Argument Reference
47
46
  *
48
- * LDAP user federation providers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}`. The ID of the LDAP user federation provider can be found within the Keycloak GUI and is typically a GUIDbash
47
+ * The following arguments are supported:
49
48
  *
50
- * ```sh
51
- * $ pulumi import keycloak:ldap/userFederation:UserFederation ldap_user_federation my-realm/af2a6ca3-e4d7-49c3-b08b-1b3c70b4b860
52
- * ```
49
+ * - `realmId` - (Required) The realm that this provider will provide user federation for.
50
+ * - `name` - (Required) Display name of the provider when displayed in the console.
51
+ * - `enabled` - (Optional) When `false`, this provider will not be used when performing queries for users. Defaults to `true`.
52
+ * - `priority` - (Optional) Priority of this provider when looking up users. Lower values are first. Defaults to `0`.
53
+ * - `importEnabled` - (Optional) When `true`, LDAP users will be imported into the Keycloak database. Defaults to `true`.
54
+ * - `editMode` - (Optional) Can be one of `READ_ONLY`, `WRITABLE`, or `UNSYNCED`. `UNSYNCED` allows user data to be imported but not synced back to LDAP. Defaults to `READ_ONLY`.
55
+ * - `syncRegistrations` - (Optional) When `true`, newly created users will be synced back to LDAP. Defaults to `false`.
56
+ * - `vendor` - (Optional) Can be one of `OTHER`, `EDIRECTORY`, `AD`, `RHDS`, or `TIVOLI`. When this is selected in the GUI, it provides reasonable defaults for other fields. When used with the Keycloak API, this attribute does nothing, but is still required. Defaults to `OPTIONAL`.
57
+ * - `usernameLdapAttribute` - (Required) Name of the LDAP attribute to use as the Keycloak username.
58
+ * - `rdnLdapAttribute` - (Required) Name of the LDAP attribute to use as the relative distinguished name.
59
+ * - `uuidLdapAttribute` - (Required) Name of the LDAP attribute to use as a unique object identifier for objects in LDAP.
60
+ * - `userObjectClasses` - (Required) Array of all values of LDAP objectClass attribute for users in LDAP. Must contain at least one.
61
+ * - `connectionUrl` - (Required) Connection URL to the LDAP server.
62
+ * - `usersDn` - (Required) Full DN of LDAP tree where your users are.
63
+ * - `bindDn` - (Optional) DN of LDAP admin, which will be used by Keycloak to access LDAP server. This attribute must be set if `bindCredential` is set.
64
+ * - `bindCredential` - (Optional) Password of LDAP admin. This attribute must be set if `bindDn` is set.
65
+ * - `customUserSearchFilter` - (Optional) Additional LDAP filter for filtering searched users. Must begin with `(` and end with `)`.
66
+ * - `searchScope` - (Optional) Can be one of `ONE_LEVEL` or `SUBTREE`:
67
+ * - `ONE_LEVEL`: Only search for users in the DN specified by `userDn`.
68
+ * - `SUBTREE`: Search entire LDAP subtree.
69
+ * - `validatePasswordPolicy` - (Optional) When `true`, Keycloak will validate passwords using the realm policy before updating it.
70
+ * - `useTruststoreSpi` - (Optional) Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
71
+ * - `ALWAYS` - Always use the truststore SPI for LDAP connections.
72
+ * - `NEVER` - Never use the truststore SPI for LDAP connections.
73
+ * - `ONLY_FOR_LDAPS` - Only use the truststore SPI if your LDAP connection uses the ldaps protocol.
74
+ * - `connectionTimeout` - (Optional) LDAP connection timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
75
+ * - `readTimeout` - (Optional) LDAP read timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
76
+ * - `pagination` - (Optional) When true, Keycloak assumes the LDAP server supports pagination. Defaults to `true`.
77
+ * - `batchSizeForSync` - (Optional) The number of users to sync within a single transaction. Defaults to `1000`.
78
+ * - `fullSyncPeriod` - (Optional) How frequently Keycloak should sync all LDAP users, in seconds. Omit this property to disable periodic full sync.
79
+ * - `changedSyncPeriod` - (Optional) How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users sync.
80
+ * - `cachePolicy` - (Optional) Can be one of `DEFAULT`, `EVICT_DAILY`, `EVICT_WEEKLY`, `MAX_LIFESPAN`, or `NO_CACHE`. Defaults to `DEFAULT`.
81
+ *
82
+ * ### Import
83
+ *
84
+ * LDAP user federation providers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}`.
85
+ * The ID of the LDAP user federation provider can be found within the Keycloak GUI and is typically a GUID:
53
86
  */
54
87
  export declare class UserFederation extends pulumi.CustomResource {
55
88
  /**
@@ -68,27 +101,28 @@ export declare class UserFederation extends pulumi.CustomResource {
68
101
  */
69
102
  static isInstance(obj: any): obj is UserFederation;
70
103
  /**
71
- * The number of users to sync within a single transaction. Defaults to `1000`.
104
+ * The number of users to sync within a single transaction.
72
105
  */
73
106
  readonly batchSizeForSync: pulumi.Output<number | undefined>;
74
107
  /**
75
- * Password of LDAP admin. This attribute must be set if `bindDn` is set.
108
+ * Password of LDAP admin.
76
109
  */
77
110
  readonly bindCredential: pulumi.Output<string | undefined>;
78
111
  /**
79
- * DN of LDAP admin, which will be used by Keycloak to access LDAP server. This attribute must be set if `bindCredential` is set.
112
+ * DN of LDAP admin, which will be used by Keycloak to access LDAP server.
80
113
  */
81
114
  readonly bindDn: pulumi.Output<string | undefined>;
82
115
  /**
83
- * A block containing the cache settings.
116
+ * Settings regarding cache policy for this realm.
84
117
  */
85
118
  readonly cache: pulumi.Output<outputs.ldap.UserFederationCache | undefined>;
86
119
  /**
87
- * How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users sync.
120
+ * How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
121
+ * sync.
88
122
  */
89
123
  readonly changedSyncPeriod: pulumi.Output<number | undefined>;
90
124
  /**
91
- * LDAP connection timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
125
+ * LDAP connection timeout (duration string)
92
126
  */
93
127
  readonly connectionTimeout: pulumi.Output<string | undefined>;
94
128
  /**
@@ -96,19 +130,20 @@ export declare class UserFederation extends pulumi.CustomResource {
96
130
  */
97
131
  readonly connectionUrl: pulumi.Output<string>;
98
132
  /**
99
- * Additional LDAP filter for filtering searched users. Must begin with `(` and end with `)`.
133
+ * Additional LDAP filter for filtering searched users. Must begin with '(' and end with ')'.
100
134
  */
101
135
  readonly customUserSearchFilter: pulumi.Output<string | undefined>;
102
136
  /**
103
- * When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP user federation provider. Defaults to `false`.
137
+ * When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
138
+ * user federation provider.
104
139
  */
105
140
  readonly deleteDefaultMappers: pulumi.Output<boolean | undefined>;
106
141
  /**
107
- * Can be one of `READ_ONLY`, `WRITABLE`, or `UNSYNCED`. `UNSYNCED` allows user data to be imported but not synced back to LDAP. Defaults to `READ_ONLY`.
142
+ * READ_ONLY and WRITABLE are self-explanatory. UNSYNCED allows user data to be imported but not synced back to LDAP.
108
143
  */
109
144
  readonly editMode: pulumi.Output<string | undefined>;
110
145
  /**
111
- * When `false`, this provider will not be used when performing queries for users. Defaults to `true`.
146
+ * When false, this provider will not be used when performing queries for users.
112
147
  */
113
148
  readonly enabled: pulumi.Output<boolean | undefined>;
114
149
  /**
@@ -116,11 +151,11 @@ export declare class UserFederation extends pulumi.CustomResource {
116
151
  */
117
152
  readonly fullSyncPeriod: pulumi.Output<number | undefined>;
118
153
  /**
119
- * When `true`, LDAP users will be imported into the Keycloak database. Defaults to `true`.
154
+ * When true, LDAP users will be imported into the Keycloak database.
120
155
  */
121
156
  readonly importEnabled: pulumi.Output<boolean | undefined>;
122
157
  /**
123
- * A block containing the kerberos settings.
158
+ * Settings regarding kerberos authentication for this realm.
124
159
  */
125
160
  readonly kerberos: pulumi.Output<outputs.ldap.UserFederationKerberos | undefined>;
126
161
  /**
@@ -128,11 +163,11 @@ export declare class UserFederation extends pulumi.CustomResource {
128
163
  */
129
164
  readonly name: pulumi.Output<string>;
130
165
  /**
131
- * When true, Keycloak assumes the LDAP server supports pagination. Defaults to `true`.
166
+ * When true, Keycloak assumes the LDAP server supports pagination.
132
167
  */
133
168
  readonly pagination: pulumi.Output<boolean | undefined>;
134
169
  /**
135
- * Priority of this provider when looking up users. Lower values are first. Defaults to `0`.
170
+ * Priority of this provider when looking up users. Lower values are first.
136
171
  */
137
172
  readonly priority: pulumi.Output<number | undefined>;
138
173
  /**
@@ -140,23 +175,23 @@ export declare class UserFederation extends pulumi.CustomResource {
140
175
  */
141
176
  readonly rdnLdapAttribute: pulumi.Output<string>;
142
177
  /**
143
- * LDAP read timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
178
+ * LDAP read timeout (duration string)
144
179
  */
145
180
  readonly readTimeout: pulumi.Output<string | undefined>;
146
181
  /**
147
- * The realm that this provider will provide user federation for.
182
+ * The realm this provider will provide user federation for.
148
183
  */
149
184
  readonly realmId: pulumi.Output<string>;
150
185
  /**
151
- * Can be one of `ONE_LEVEL` or `SUBTREE`:
186
+ * ONE_LEVEL: only search for users in the DN specified by user_dn. SUBTREE: search entire LDAP subtree.
152
187
  */
153
188
  readonly searchScope: pulumi.Output<string | undefined>;
154
189
  /**
155
- * When `true`, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
190
+ * When true, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
156
191
  */
157
192
  readonly startTls: pulumi.Output<boolean | undefined>;
158
193
  /**
159
- * When `true`, newly created users will be synced back to LDAP. Defaults to `false`.
194
+ * When true, newly created users will be synced back to LDAP.
160
195
  */
161
196
  readonly syncRegistrations: pulumi.Output<boolean | undefined>;
162
197
  /**
@@ -167,12 +202,9 @@ export declare class UserFederation extends pulumi.CustomResource {
167
202
  * When `true`, use the LDAPv3 Password Modify Extended Operation (RFC-3062).
168
203
  */
169
204
  readonly usePasswordModifyExtendedOp: pulumi.Output<boolean | undefined>;
170
- /**
171
- * Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
172
- */
173
205
  readonly useTruststoreSpi: pulumi.Output<string | undefined>;
174
206
  /**
175
- * Array of all values of LDAP objectClass attribute for users in LDAP. Must contain at least one.
207
+ * All values of LDAP objectClass attribute for users in LDAP.
176
208
  */
177
209
  readonly userObjectClasses: pulumi.Output<string[]>;
178
210
  /**
@@ -188,11 +220,11 @@ export declare class UserFederation extends pulumi.CustomResource {
188
220
  */
189
221
  readonly uuidLdapAttribute: pulumi.Output<string>;
190
222
  /**
191
- * When `true`, Keycloak will validate passwords using the realm policy before updating it.
223
+ * When true, Keycloak will validate passwords using the realm policy before updating it.
192
224
  */
193
225
  readonly validatePasswordPolicy: pulumi.Output<boolean | undefined>;
194
226
  /**
195
- * Can be one of `OTHER`, `EDIRECTORY`, `AD`, `RHDS`, or `TIVOLI`. When this is selected in the GUI, it provides reasonable defaults for other fields. When used with the Keycloak API, this attribute does nothing, but is still required. Defaults to `OTHER`.
227
+ * LDAP vendor. I am almost certain this field does nothing, but the UI indicates that it is required.
196
228
  */
197
229
  readonly vendor: pulumi.Output<string | undefined>;
198
230
  /**
@@ -209,27 +241,28 @@ export declare class UserFederation extends pulumi.CustomResource {
209
241
  */
210
242
  export interface UserFederationState {
211
243
  /**
212
- * The number of users to sync within a single transaction. Defaults to `1000`.
244
+ * The number of users to sync within a single transaction.
213
245
  */
214
246
  batchSizeForSync?: pulumi.Input<number>;
215
247
  /**
216
- * Password of LDAP admin. This attribute must be set if `bindDn` is set.
248
+ * Password of LDAP admin.
217
249
  */
218
250
  bindCredential?: pulumi.Input<string>;
219
251
  /**
220
- * DN of LDAP admin, which will be used by Keycloak to access LDAP server. This attribute must be set if `bindCredential` is set.
252
+ * DN of LDAP admin, which will be used by Keycloak to access LDAP server.
221
253
  */
222
254
  bindDn?: pulumi.Input<string>;
223
255
  /**
224
- * A block containing the cache settings.
256
+ * Settings regarding cache policy for this realm.
225
257
  */
226
258
  cache?: pulumi.Input<inputs.ldap.UserFederationCache>;
227
259
  /**
228
- * How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users sync.
260
+ * How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
261
+ * sync.
229
262
  */
230
263
  changedSyncPeriod?: pulumi.Input<number>;
231
264
  /**
232
- * LDAP connection timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
265
+ * LDAP connection timeout (duration string)
233
266
  */
234
267
  connectionTimeout?: pulumi.Input<string>;
235
268
  /**
@@ -237,19 +270,20 @@ export interface UserFederationState {
237
270
  */
238
271
  connectionUrl?: pulumi.Input<string>;
239
272
  /**
240
- * Additional LDAP filter for filtering searched users. Must begin with `(` and end with `)`.
273
+ * Additional LDAP filter for filtering searched users. Must begin with '(' and end with ')'.
241
274
  */
242
275
  customUserSearchFilter?: pulumi.Input<string>;
243
276
  /**
244
- * When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP user federation provider. Defaults to `false`.
277
+ * When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
278
+ * user federation provider.
245
279
  */
246
280
  deleteDefaultMappers?: pulumi.Input<boolean>;
247
281
  /**
248
- * Can be one of `READ_ONLY`, `WRITABLE`, or `UNSYNCED`. `UNSYNCED` allows user data to be imported but not synced back to LDAP. Defaults to `READ_ONLY`.
282
+ * READ_ONLY and WRITABLE are self-explanatory. UNSYNCED allows user data to be imported but not synced back to LDAP.
249
283
  */
250
284
  editMode?: pulumi.Input<string>;
251
285
  /**
252
- * When `false`, this provider will not be used when performing queries for users. Defaults to `true`.
286
+ * When false, this provider will not be used when performing queries for users.
253
287
  */
254
288
  enabled?: pulumi.Input<boolean>;
255
289
  /**
@@ -257,11 +291,11 @@ export interface UserFederationState {
257
291
  */
258
292
  fullSyncPeriod?: pulumi.Input<number>;
259
293
  /**
260
- * When `true`, LDAP users will be imported into the Keycloak database. Defaults to `true`.
294
+ * When true, LDAP users will be imported into the Keycloak database.
261
295
  */
262
296
  importEnabled?: pulumi.Input<boolean>;
263
297
  /**
264
- * A block containing the kerberos settings.
298
+ * Settings regarding kerberos authentication for this realm.
265
299
  */
266
300
  kerberos?: pulumi.Input<inputs.ldap.UserFederationKerberos>;
267
301
  /**
@@ -269,11 +303,11 @@ export interface UserFederationState {
269
303
  */
270
304
  name?: pulumi.Input<string>;
271
305
  /**
272
- * When true, Keycloak assumes the LDAP server supports pagination. Defaults to `true`.
306
+ * When true, Keycloak assumes the LDAP server supports pagination.
273
307
  */
274
308
  pagination?: pulumi.Input<boolean>;
275
309
  /**
276
- * Priority of this provider when looking up users. Lower values are first. Defaults to `0`.
310
+ * Priority of this provider when looking up users. Lower values are first.
277
311
  */
278
312
  priority?: pulumi.Input<number>;
279
313
  /**
@@ -281,23 +315,23 @@ export interface UserFederationState {
281
315
  */
282
316
  rdnLdapAttribute?: pulumi.Input<string>;
283
317
  /**
284
- * LDAP read timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
318
+ * LDAP read timeout (duration string)
285
319
  */
286
320
  readTimeout?: pulumi.Input<string>;
287
321
  /**
288
- * The realm that this provider will provide user federation for.
322
+ * The realm this provider will provide user federation for.
289
323
  */
290
324
  realmId?: pulumi.Input<string>;
291
325
  /**
292
- * Can be one of `ONE_LEVEL` or `SUBTREE`:
326
+ * ONE_LEVEL: only search for users in the DN specified by user_dn. SUBTREE: search entire LDAP subtree.
293
327
  */
294
328
  searchScope?: pulumi.Input<string>;
295
329
  /**
296
- * When `true`, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
330
+ * When true, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
297
331
  */
298
332
  startTls?: pulumi.Input<boolean>;
299
333
  /**
300
- * When `true`, newly created users will be synced back to LDAP. Defaults to `false`.
334
+ * When true, newly created users will be synced back to LDAP.
301
335
  */
302
336
  syncRegistrations?: pulumi.Input<boolean>;
303
337
  /**
@@ -308,12 +342,9 @@ export interface UserFederationState {
308
342
  * When `true`, use the LDAPv3 Password Modify Extended Operation (RFC-3062).
309
343
  */
310
344
  usePasswordModifyExtendedOp?: pulumi.Input<boolean>;
311
- /**
312
- * Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
313
- */
314
345
  useTruststoreSpi?: pulumi.Input<string>;
315
346
  /**
316
- * Array of all values of LDAP objectClass attribute for users in LDAP. Must contain at least one.
347
+ * All values of LDAP objectClass attribute for users in LDAP.
317
348
  */
318
349
  userObjectClasses?: pulumi.Input<pulumi.Input<string>[]>;
319
350
  /**
@@ -329,11 +360,11 @@ export interface UserFederationState {
329
360
  */
330
361
  uuidLdapAttribute?: pulumi.Input<string>;
331
362
  /**
332
- * When `true`, Keycloak will validate passwords using the realm policy before updating it.
363
+ * When true, Keycloak will validate passwords using the realm policy before updating it.
333
364
  */
334
365
  validatePasswordPolicy?: pulumi.Input<boolean>;
335
366
  /**
336
- * Can be one of `OTHER`, `EDIRECTORY`, `AD`, `RHDS`, or `TIVOLI`. When this is selected in the GUI, it provides reasonable defaults for other fields. When used with the Keycloak API, this attribute does nothing, but is still required. Defaults to `OTHER`.
367
+ * LDAP vendor. I am almost certain this field does nothing, but the UI indicates that it is required.
337
368
  */
338
369
  vendor?: pulumi.Input<string>;
339
370
  }
@@ -342,27 +373,28 @@ export interface UserFederationState {
342
373
  */
343
374
  export interface UserFederationArgs {
344
375
  /**
345
- * The number of users to sync within a single transaction. Defaults to `1000`.
376
+ * The number of users to sync within a single transaction.
346
377
  */
347
378
  batchSizeForSync?: pulumi.Input<number>;
348
379
  /**
349
- * Password of LDAP admin. This attribute must be set if `bindDn` is set.
380
+ * Password of LDAP admin.
350
381
  */
351
382
  bindCredential?: pulumi.Input<string>;
352
383
  /**
353
- * DN of LDAP admin, which will be used by Keycloak to access LDAP server. This attribute must be set if `bindCredential` is set.
384
+ * DN of LDAP admin, which will be used by Keycloak to access LDAP server.
354
385
  */
355
386
  bindDn?: pulumi.Input<string>;
356
387
  /**
357
- * A block containing the cache settings.
388
+ * Settings regarding cache policy for this realm.
358
389
  */
359
390
  cache?: pulumi.Input<inputs.ldap.UserFederationCache>;
360
391
  /**
361
- * How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users sync.
392
+ * How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
393
+ * sync.
362
394
  */
363
395
  changedSyncPeriod?: pulumi.Input<number>;
364
396
  /**
365
- * LDAP connection timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
397
+ * LDAP connection timeout (duration string)
366
398
  */
367
399
  connectionTimeout?: pulumi.Input<string>;
368
400
  /**
@@ -370,19 +402,20 @@ export interface UserFederationArgs {
370
402
  */
371
403
  connectionUrl: pulumi.Input<string>;
372
404
  /**
373
- * Additional LDAP filter for filtering searched users. Must begin with `(` and end with `)`.
405
+ * Additional LDAP filter for filtering searched users. Must begin with '(' and end with ')'.
374
406
  */
375
407
  customUserSearchFilter?: pulumi.Input<string>;
376
408
  /**
377
- * When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP user federation provider. Defaults to `false`.
409
+ * When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
410
+ * user federation provider.
378
411
  */
379
412
  deleteDefaultMappers?: pulumi.Input<boolean>;
380
413
  /**
381
- * Can be one of `READ_ONLY`, `WRITABLE`, or `UNSYNCED`. `UNSYNCED` allows user data to be imported but not synced back to LDAP. Defaults to `READ_ONLY`.
414
+ * READ_ONLY and WRITABLE are self-explanatory. UNSYNCED allows user data to be imported but not synced back to LDAP.
382
415
  */
383
416
  editMode?: pulumi.Input<string>;
384
417
  /**
385
- * When `false`, this provider will not be used when performing queries for users. Defaults to `true`.
418
+ * When false, this provider will not be used when performing queries for users.
386
419
  */
387
420
  enabled?: pulumi.Input<boolean>;
388
421
  /**
@@ -390,11 +423,11 @@ export interface UserFederationArgs {
390
423
  */
391
424
  fullSyncPeriod?: pulumi.Input<number>;
392
425
  /**
393
- * When `true`, LDAP users will be imported into the Keycloak database. Defaults to `true`.
426
+ * When true, LDAP users will be imported into the Keycloak database.
394
427
  */
395
428
  importEnabled?: pulumi.Input<boolean>;
396
429
  /**
397
- * A block containing the kerberos settings.
430
+ * Settings regarding kerberos authentication for this realm.
398
431
  */
399
432
  kerberos?: pulumi.Input<inputs.ldap.UserFederationKerberos>;
400
433
  /**
@@ -402,11 +435,11 @@ export interface UserFederationArgs {
402
435
  */
403
436
  name?: pulumi.Input<string>;
404
437
  /**
405
- * When true, Keycloak assumes the LDAP server supports pagination. Defaults to `true`.
438
+ * When true, Keycloak assumes the LDAP server supports pagination.
406
439
  */
407
440
  pagination?: pulumi.Input<boolean>;
408
441
  /**
409
- * Priority of this provider when looking up users. Lower values are first. Defaults to `0`.
442
+ * Priority of this provider when looking up users. Lower values are first.
410
443
  */
411
444
  priority?: pulumi.Input<number>;
412
445
  /**
@@ -414,23 +447,23 @@ export interface UserFederationArgs {
414
447
  */
415
448
  rdnLdapAttribute: pulumi.Input<string>;
416
449
  /**
417
- * LDAP read timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
450
+ * LDAP read timeout (duration string)
418
451
  */
419
452
  readTimeout?: pulumi.Input<string>;
420
453
  /**
421
- * The realm that this provider will provide user federation for.
454
+ * The realm this provider will provide user federation for.
422
455
  */
423
456
  realmId: pulumi.Input<string>;
424
457
  /**
425
- * Can be one of `ONE_LEVEL` or `SUBTREE`:
458
+ * ONE_LEVEL: only search for users in the DN specified by user_dn. SUBTREE: search entire LDAP subtree.
426
459
  */
427
460
  searchScope?: pulumi.Input<string>;
428
461
  /**
429
- * When `true`, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
462
+ * When true, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
430
463
  */
431
464
  startTls?: pulumi.Input<boolean>;
432
465
  /**
433
- * When `true`, newly created users will be synced back to LDAP. Defaults to `false`.
466
+ * When true, newly created users will be synced back to LDAP.
434
467
  */
435
468
  syncRegistrations?: pulumi.Input<boolean>;
436
469
  /**
@@ -441,12 +474,9 @@ export interface UserFederationArgs {
441
474
  * When `true`, use the LDAPv3 Password Modify Extended Operation (RFC-3062).
442
475
  */
443
476
  usePasswordModifyExtendedOp?: pulumi.Input<boolean>;
444
- /**
445
- * Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
446
- */
447
477
  useTruststoreSpi?: pulumi.Input<string>;
448
478
  /**
449
- * Array of all values of LDAP objectClass attribute for users in LDAP. Must contain at least one.
479
+ * All values of LDAP objectClass attribute for users in LDAP.
450
480
  */
451
481
  userObjectClasses: pulumi.Input<pulumi.Input<string>[]>;
452
482
  /**
@@ -462,11 +492,11 @@ export interface UserFederationArgs {
462
492
  */
463
493
  uuidLdapAttribute: pulumi.Input<string>;
464
494
  /**
465
- * When `true`, Keycloak will validate passwords using the realm policy before updating it.
495
+ * When true, Keycloak will validate passwords using the realm policy before updating it.
466
496
  */
467
497
  validatePasswordPolicy?: pulumi.Input<boolean>;
468
498
  /**
469
- * Can be one of `OTHER`, `EDIRECTORY`, `AD`, `RHDS`, or `TIVOLI`. When this is selected in the GUI, it provides reasonable defaults for other fields. When used with the Keycloak API, this attribute does nothing, but is still required. Defaults to `OTHER`.
499
+ * LDAP vendor. I am almost certain this field does nothing, but the UI indicates that it is required.
470
500
  */
471
501
  vendor?: pulumi.Input<string>;
472
502
  }