@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
package/types/output.d.ts CHANGED
@@ -13,37 +13,13 @@ export interface GetRealmInternationalization {
13
13
  supportedLocales: string[];
14
14
  }
15
15
  export interface GetRealmKeysKey {
16
- /**
17
- * Key algorithm (string)
18
- */
19
16
  algorithm: string;
20
- /**
21
- * Key certificate (string)
22
- */
23
17
  certificate: string;
24
- /**
25
- * Key ID (string)
26
- */
27
18
  kid: string;
28
- /**
29
- * Key provider ID (string)
30
- */
31
19
  providerId: string;
32
- /**
33
- * Key provider priority (int64)
34
- */
35
20
  providerPriority: number;
36
- /**
37
- * Key public key (string)
38
- */
39
21
  publicKey: string;
40
- /**
41
- * When specified, keys will be filtered by status. The statuses can be any of `ACTIVE`, `DISABLED` and `PASSIVE`.
42
- */
43
22
  status: string;
44
- /**
45
- * Key type (string)
46
- */
47
23
  type: string;
48
24
  }
49
25
  export interface GetRealmOtpPolicy {
@@ -95,26 +71,56 @@ export interface GetRealmSmtpServerAuth {
95
71
  }
96
72
  export interface GetRealmWebAuthnPasswordlessPolicy {
97
73
  acceptableAaguids: string[];
74
+ /**
75
+ * Either none, indirect or direct
76
+ */
98
77
  attestationConveyancePreference: string;
78
+ /**
79
+ * Either platform or cross-platform
80
+ */
99
81
  authenticatorAttachment: string;
100
82
  avoidSameAuthenticatorRegister: boolean;
101
83
  createTimeout: number;
102
84
  relyingPartyEntityName: string;
103
85
  relyingPartyId: string;
86
+ /**
87
+ * Either Yes or No
88
+ */
104
89
  requireResidentKey: string;
90
+ /**
91
+ * Keycloak lists ES256, ES384, ES512, RS256, ES384, ES512 at the time of writing
92
+ */
105
93
  signatureAlgorithms: string[];
94
+ /**
95
+ * Either required, preferred or discouraged
96
+ */
106
97
  userVerificationRequirement: string;
107
98
  }
108
99
  export interface GetRealmWebAuthnPolicy {
109
100
  acceptableAaguids: string[];
101
+ /**
102
+ * Either none, indirect or direct
103
+ */
110
104
  attestationConveyancePreference: string;
105
+ /**
106
+ * Either platform or cross-platform
107
+ */
111
108
  authenticatorAttachment: string;
112
109
  avoidSameAuthenticatorRegister: boolean;
113
110
  createTimeout: number;
114
111
  relyingPartyEntityName: string;
115
112
  relyingPartyId: string;
113
+ /**
114
+ * Either Yes or No
115
+ */
116
116
  requireResidentKey: string;
117
+ /**
118
+ * Keycloak lists ES256, ES384, ES512, RS256, ES384, ES512 at the time of writing
119
+ */
117
120
  signatureAlgorithms: string[];
121
+ /**
122
+ * Either required, preferred or discouraged
123
+ */
118
124
  userVerificationRequirement: string;
119
125
  }
120
126
  export interface GroupPermissionsManageMembersScope {
@@ -143,38 +149,20 @@ export interface GroupPermissionsViewScope {
143
149
  policies?: string[];
144
150
  }
145
151
  export interface RealmInternationalization {
146
- /**
147
- * The locale to use by default. This locale code must be present within the `supportedLocales` list.
148
- */
149
152
  defaultLocale: string;
150
- /**
151
- * A list of [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) locale codes that the realm should support.
152
- */
153
153
  supportedLocales: string[];
154
154
  }
155
155
  export interface RealmOtpPolicy {
156
156
  /**
157
- * What hashing algorithm should be used to generate the OTP, Valid options are `HmacSHA1`,`HmacSHA256` and `HmacSHA512`. Defaults to `HmacSHA1`.
157
+ * What hashing algorithm should be used to generate the OTP.
158
158
  */
159
159
  algorithm?: string;
160
- /**
161
- * How many digits the OTP have. Defaults to `6`.
162
- */
163
160
  digits?: number;
164
- /**
165
- * What should the initial counter value be. Defaults to `2`.
166
- */
167
161
  initialCounter?: number;
168
- /**
169
- * How far ahead should the server look just in case the token generator and server are out of time sync or counter sync. Defaults to `1`.
170
- */
171
162
  lookAheadWindow?: number;
172
- /**
173
- * How many seconds should an OTP token be valid. Defaults to `30`.
174
- */
175
163
  period?: number;
176
164
  /**
177
- * One Time Password Type, supported Values are `totp` for Time-Based One Time Password and `hotp` for Counter Based. Defaults to `totp`.
165
+ * OTP Type, totp for Time-Based One Time Password or hotp for counter base one time password
178
166
  */
179
167
  type?: string;
180
168
  }
@@ -183,117 +171,38 @@ export interface RealmSecurityDefenses {
183
171
  headers?: outputs.RealmSecurityDefensesHeaders;
184
172
  }
185
173
  export interface RealmSecurityDefensesBruteForceDetection {
186
- /**
187
- * When will failure count be reset?
188
- */
189
174
  failureResetTimeSeconds?: number;
190
175
  maxFailureWaitSeconds?: number;
191
- /**
192
- * How many failures before wait is triggered.
193
- */
194
176
  maxLoginFailures?: number;
195
- /**
196
- * How long to wait after a quick login failure.
197
- * - `maxFailureWaitSeconds ` - (Optional) Max. time a user will be locked out.
198
- */
199
177
  minimumQuickLoginWaitSeconds?: number;
200
- /**
201
- * When `true`, this will lock the user permanently when the user exceeds the maximum login failures.
202
- */
203
178
  permanentLockout?: boolean;
204
- /**
205
- * Configures the amount of time, in milliseconds, for consecutive failures to lock a user out.
206
- */
207
179
  quickLoginCheckMilliSeconds?: number;
208
- /**
209
- * This represents the amount of time a user should be locked out when the login failure threshold has been met.
210
- */
211
180
  waitIncrementSeconds?: number;
212
181
  }
213
182
  export interface RealmSecurityDefensesHeaders {
214
- /**
215
- * Sets the Content Security Policy, which can be used for prevent pages from being included by non-origin iframes. More information can be found in the [W3C-CSP](https://www.w3.org/TR/CSP/) Abstract.
216
- */
217
183
  contentSecurityPolicy?: string;
218
- /**
219
- * Used for testing Content Security Policies.
220
- */
221
184
  contentSecurityPolicyReportOnly?: string;
222
- /**
223
- * The Referrer-Policy HTTP header controls how much referrer information (sent with the Referer header) should be included with requests.
224
- */
225
185
  referrerPolicy?: string;
226
- /**
227
- * The Script-Transport-Security HTTP header tells browsers to always use HTTPS.
228
- */
229
186
  strictTransportSecurity?: string;
230
- /**
231
- * Sets the X-Content-Type-Options, which can be used for prevent MIME-sniffing a response away from the declared content-type
232
- */
233
187
  xContentTypeOptions?: string;
234
- /**
235
- * Sets the x-frame-option, which can be used to prevent pages from being included by non-origin iframes. More information can be found in the [RFC7034](https://tools.ietf.org/html/rfc7034)
236
- */
237
188
  xFrameOptions?: string;
238
- /**
239
- * Prevent pages from appearing in search engines.
240
- */
241
189
  xRobotsTag?: string;
242
- /**
243
- * This header configures the Cross-site scripting (XSS) filter in your browser.
244
- */
245
190
  xXssProtection?: string;
246
191
  }
247
192
  export interface RealmSmtpServer {
248
- /**
249
- * Enables authentication to the SMTP server. This block supports the following arguments:
250
- */
251
193
  auth?: outputs.RealmSmtpServerAuth;
252
- /**
253
- * The email address uses for bounces.
254
- */
255
194
  envelopeFrom?: string;
256
- /**
257
- * The email address for the sender.
258
- */
259
195
  from: string;
260
- /**
261
- * The display name of the sender email address.
262
- */
263
196
  fromDisplayName?: string;
264
- /**
265
- * The host of the SMTP server.
266
- */
267
197
  host: string;
268
- /**
269
- * The port of the SMTP server (defaults to 25).
270
- */
271
198
  port?: string;
272
- /**
273
- * The "reply to" email address.
274
- */
275
199
  replyTo?: string;
276
- /**
277
- * The display name of the "reply to" email address.
278
- */
279
200
  replyToDisplayName?: string;
280
- /**
281
- * When `true`, enables SSL. Defaults to `false`.
282
- */
283
201
  ssl?: boolean;
284
- /**
285
- * When `true`, enables StartTLS. Defaults to `false`.
286
- */
287
202
  starttls?: boolean;
288
203
  }
289
204
  export interface RealmSmtpServerAuth {
290
- /**
291
- * The SMTP server password.
292
- */
293
205
  password: string;
294
- /**
295
- * The SMTP server username.
296
- */
297
206
  username: string;
298
207
  }
299
208
  export interface RealmUserProfileAttribute {
@@ -379,111 +288,66 @@ export interface RealmUserProfileGroup {
379
288
  name: string;
380
289
  }
381
290
  export interface RealmWebAuthnPasswordlessPolicy {
382
- /**
383
- * A set of AAGUIDs for which an authenticator can be registered.
384
- */
385
291
  acceptableAaguids?: string[];
386
292
  /**
387
- * The preference of how to generate a WebAuthn attestation statement. Valid options are `not specified`, `none`, `indirect`, `direct`, or `enterprise`. Defaults to `not specified`.
293
+ * Either none, indirect or direct
388
294
  */
389
295
  attestationConveyancePreference?: string;
390
296
  /**
391
- * The acceptable attachment pattern for the WebAuthn authenticator. Valid options are `not specified`, `platform`, or `cross-platform`. Defaults to `not specified`.
297
+ * Either platform or cross-platform
392
298
  */
393
299
  authenticatorAttachment?: string;
394
- /**
395
- * When `true`, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to `false`.
396
- */
397
300
  avoidSameAuthenticatorRegister?: boolean;
398
- /**
399
- * The timeout value for creating a user's public key credential in seconds. When set to `0`, this timeout option is not adapted. Defaults to `0`.
400
- */
401
301
  createTimeout?: number;
402
- /**
403
- * A human readable server name for the WebAuthn Relying Party. Defaults to `keycloak`.
404
- */
405
302
  relyingPartyEntityName?: string;
406
- /**
407
- * The WebAuthn relying party ID.
408
- */
409
303
  relyingPartyId?: string;
410
304
  /**
411
- * Specifies whether or not a public key should be created to represent the resident key. Valid options are `not specified`, `Yes`, or `No`. Defaults to `not specified`.
305
+ * Either Yes or No
412
306
  */
413
307
  requireResidentKey?: string;
414
308
  /**
415
- * A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are `ES256`, `ES384`, `ES512`, `RS256`, `RS384`, `RS512`, and `RS1`.
309
+ * Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
416
310
  */
417
311
  signatureAlgorithms: string[];
418
312
  /**
419
- * Specifies the policy for verifying a user logging in via WebAuthn. Valid options are `not specified`, `required`, `preferred`, or `discouraged`. Defaults to `not specified`.
313
+ * Either required, preferred or discouraged
420
314
  */
421
315
  userVerificationRequirement?: string;
422
316
  }
423
317
  export interface RealmWebAuthnPolicy {
424
- /**
425
- * A set of AAGUIDs for which an authenticator can be registered.
426
- */
427
318
  acceptableAaguids?: string[];
428
319
  /**
429
- * The preference of how to generate a WebAuthn attestation statement. Valid options are `not specified`, `none`, `indirect`, `direct`, or `enterprise`. Defaults to `not specified`.
320
+ * Either none, indirect or direct
430
321
  */
431
322
  attestationConveyancePreference?: string;
432
323
  /**
433
- * The acceptable attachment pattern for the WebAuthn authenticator. Valid options are `not specified`, `platform`, or `cross-platform`. Defaults to `not specified`.
324
+ * Either platform or cross-platform
434
325
  */
435
326
  authenticatorAttachment?: string;
436
- /**
437
- * When `true`, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to `false`.
438
- */
439
327
  avoidSameAuthenticatorRegister?: boolean;
440
- /**
441
- * The timeout value for creating a user's public key credential in seconds. When set to `0`, this timeout option is not adapted. Defaults to `0`.
442
- */
443
328
  createTimeout?: number;
444
- /**
445
- * A human readable server name for the WebAuthn Relying Party. Defaults to `keycloak`.
446
- */
447
329
  relyingPartyEntityName?: string;
448
- /**
449
- * The WebAuthn relying party ID.
450
- */
451
330
  relyingPartyId?: string;
452
331
  /**
453
- * Specifies whether or not a public key should be created to represent the resident key. Valid options are `not specified`, `Yes`, or `No`. Defaults to `not specified`.
332
+ * Either Yes or No
454
333
  */
455
334
  requireResidentKey?: string;
456
335
  /**
457
- * A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are `ES256`, `ES384`, `ES512`, `RS256`, `RS384`, `RS512`, and `RS1`.
336
+ * Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
458
337
  */
459
338
  signatureAlgorithms: string[];
460
339
  /**
461
- * Specifies the policy for verifying a user logging in via WebAuthn. Valid options are `not specified`, `required`, `preferred`, or `discouraged`. Defaults to `not specified`.
340
+ * Either required, preferred or discouraged
462
341
  */
463
342
  userVerificationRequirement?: string;
464
343
  }
465
344
  export interface UserFederatedIdentity {
466
- /**
467
- * The name of the identity provider
468
- */
469
345
  identityProvider: string;
470
- /**
471
- * The ID of the user defined in the identity provider
472
- */
473
346
  userId: string;
474
- /**
475
- * The user name of the user defined in the identity provider
476
- */
477
347
  userName: string;
478
348
  }
479
349
  export interface UserInitialPassword {
480
- /**
481
- * If set to `true`, the initial password is set up for renewal on first use. Default to `false`.
482
- */
483
350
  temporary?: boolean;
484
- /**
485
- * The initial password.
486
- */
487
351
  value: string;
488
352
  }
489
353
  export interface UsersPermissionsImpersonateScope {
@@ -519,7 +383,7 @@ export interface UsersPermissionsViewScope {
519
383
  export declare namespace ldap {
520
384
  interface UserFederationCache {
521
385
  /**
522
- * Day of the week the entry will become invalid on
386
+ * Day of the week the entry will become invalid on.
523
387
  */
524
388
  evictionDay?: number;
525
389
  /**
@@ -534,14 +398,11 @@ export declare namespace ldap {
534
398
  * Max lifespan of cache entry (duration string).
535
399
  */
536
400
  maxLifespan?: string;
537
- /**
538
- * Can be one of `DEFAULT`, `EVICT_DAILY`, `EVICT_WEEKLY`, `MAX_LIFESPAN`, or `NO_CACHE`. Defaults to `DEFAULT`.
539
- */
540
401
  policy?: string;
541
402
  }
542
403
  interface UserFederationKerberos {
543
404
  /**
544
- * The name of the kerberos realm, e.g. FOO.LOCAL.
405
+ * The name of the kerberos realm, e.g. FOO.LOCAL
545
406
  */
546
407
  kerberosRealm: string;
547
408
  /**
@@ -560,31 +421,13 @@ export declare namespace ldap {
560
421
  }
561
422
  export declare namespace openid {
562
423
  interface ClientAuthenticationFlowBindingOverrides {
563
- /**
564
- * Browser flow id, (flow needs to exist)
565
- */
566
424
  browserId?: string;
567
- /**
568
- * Direct grant flow id (flow needs to exist)
569
- */
570
425
  directGrantId?: string;
571
426
  }
572
427
  interface ClientAuthorization {
573
- /**
574
- * When `true`, resources can be managed remotely by the resource server. Defaults to `false`.
575
- */
576
428
  allowRemoteResourceManagement?: boolean;
577
- /**
578
- * Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of `AFFIRMATIVE`, `CONSENSUS`, or `UNANIMOUS`. Applies to permissions.
579
- */
580
429
  decisionStrategy?: string;
581
- /**
582
- * When `true`, defaults set by Keycloak will be respected. Defaults to `false`.
583
- */
584
430
  keepDefaults?: boolean;
585
- /**
586
- * Dictates how policies are enforced when evaluating authorization requests. Can be one of `ENFORCING`, `PERMISSIVE`, or `DISABLED`.
587
- */
588
431
  policyEnforcementMode: string;
589
432
  }
590
433
  interface ClientGroupPolicyGroup {
@@ -649,13 +492,7 @@ export declare namespace openid {
649
492
  }
650
493
  export declare namespace saml {
651
494
  interface ClientAuthenticationFlowBindingOverrides {
652
- /**
653
- * Browser flow id, (flow needs to exist)
654
- */
655
495
  browserId?: string;
656
- /**
657
- * Direct grant flow id (flow needs to exist)
658
- */
659
496
  directGrantId?: string;
660
497
  }
661
498
  interface GetClientAuthenticationFlowBindingOverride {
package/user.d.ts CHANGED
@@ -2,55 +2,69 @@ 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.User
6
+ *
5
7
  * Allows for creating and managing Users within Keycloak.
6
8
  *
7
- * This resource was created primarily to enable the acceptance tests for the `keycloak.Group` resource. Creating users within
8
- * Keycloak is not recommended. Instead, users should be federated from external sources by configuring user federation providers
9
- * or identity providers.
9
+ * This resource was created primarily to enable the acceptance tests for the `keycloak.Group` resource.
10
+ * Creating users within Keycloak is not recommended. Instead, users should be federated from external sources
11
+ * by configuring user federation providers or identity providers.
10
12
  *
11
- * ## Example Usage
13
+ * ### Example Usage
12
14
  *
15
+ * <!--Start PulumiCodeChooser -->
13
16
  * ```typescript
14
17
  * import * as pulumi from "@pulumi/pulumi";
15
18
  * import * as keycloak from "@pulumi/keycloak";
16
19
  *
17
20
  * const realm = new keycloak.Realm("realm", {
18
- * realm: "my-realm",
19
21
  * enabled: true,
22
+ * realm: "my-realm",
20
23
  * });
21
24
  * const user = new keycloak.User("user", {
22
- * realmId: realm.id,
23
- * username: "bob",
24
- * enabled: true,
25
25
  * email: "bob@domain.com",
26
+ * enabled: true,
26
27
  * firstName: "Bob",
27
28
  * lastName: "Bobson",
29
+ * realmId: realm.id,
30
+ * username: "bob",
28
31
  * });
29
32
  * const userWithInitialPassword = new keycloak.User("userWithInitialPassword", {
30
- * realmId: realm.id,
31
- * username: "alice",
32
- * enabled: true,
33
33
  * email: "alice@domain.com",
34
+ * enabled: true,
34
35
  * firstName: "Alice",
35
- * lastName: "Aliceberg",
36
- * attributes: {
37
- * foo: "bar",
38
- * multivalue: "value1##value2",
39
- * },
40
36
  * initialPassword: {
41
- * value: "some password",
42
37
  * temporary: true,
38
+ * value: "some password",
43
39
  * },
40
+ * lastName: "Aliceberg",
41
+ * realmId: realm.id,
42
+ * username: "alice",
44
43
  * });
45
44
  * ```
45
+ * <!--End PulumiCodeChooser -->
46
46
  *
47
- * ## Import
47
+ * ### Argument Reference
48
48
  *
49
- * Users can be imported using the format `{{realm_id}}/{{user_id}}`, where `user_id` is the unique ID that Keycloak assigns to the user upon creation. This value can be found in the GUI when editing the user. Examplebash
49
+ * The following arguments are supported:
50
50
  *
51
- * ```sh
52
- * $ pulumi import keycloak:index/user:User user my-realm/60c3f971-b1d3-4b3a-9035-d16d7540a5e4
53
- * ```
51
+ * - `realmId` - (Required) The realm this user belongs to.
52
+ * - `username` - (Required) The unique username of this user.
53
+ * - `initialPassword` (Optional) When given, the user's initial password will be set.
54
+ * This attribute is only respected during initial user creation.
55
+ * - `value` (Required) The initial password.
56
+ * - `temporary` (Optional) If set to `true`, the initial password is set up for renewal on first use. Default to `false`.
57
+ * - `enabled` - (Optional) When false, this user cannot log in. Defaults to `true`.
58
+ * - `email` - (Optional) The user's email.
59
+ * - `firstName` - (Optional) The user's first name.
60
+ * - `lastName` - (Optional) The user's last name.
61
+ *
62
+ * ### Import
63
+ *
64
+ * Users can be imported using the format `{{realm_id}}/{{user_id}}`, where `userId` is the unique ID that Keycloak
65
+ * assigns to the user upon creation. This value can be found in the GUI when editing the user.
66
+ *
67
+ * Example:
54
68
  */
55
69
  export declare class User extends pulumi.CustomResource {
56
70
  /**
@@ -68,48 +82,18 @@ export declare class User extends pulumi.CustomResource {
68
82
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
69
83
  */
70
84
  static isInstance(obj: any): obj is User;
71
- /**
72
- * A map representing attributes for the user. In order to add multivalue attributes, use `##` to seperate the values. Max length for each value is 255 chars
73
- */
74
85
  readonly attributes: pulumi.Output<{
75
86
  [key: string]: any;
76
87
  } | undefined>;
77
- /**
78
- * The user's email.
79
- */
80
88
  readonly email: pulumi.Output<string | undefined>;
81
- /**
82
- * Whether the email address was validated or not. Default to `false`.
83
- */
84
89
  readonly emailVerified: pulumi.Output<boolean | undefined>;
85
- /**
86
- * When false, this user cannot log in. Defaults to `true`.
87
- */
88
90
  readonly enabled: pulumi.Output<boolean | undefined>;
89
91
  readonly federatedIdentities: pulumi.Output<outputs.UserFederatedIdentity[] | undefined>;
90
- /**
91
- * The user's first name.
92
- */
93
92
  readonly firstName: pulumi.Output<string | undefined>;
94
- /**
95
- * When given, the user's initial password will be set. This attribute is only respected during initial user creation.
96
- */
97
93
  readonly initialPassword: pulumi.Output<outputs.UserInitialPassword | undefined>;
98
- /**
99
- * The user's last name.
100
- */
101
94
  readonly lastName: pulumi.Output<string | undefined>;
102
- /**
103
- * The realm this user belongs to.
104
- */
105
95
  readonly realmId: pulumi.Output<string>;
106
- /**
107
- * A list of required user actions.
108
- */
109
96
  readonly requiredActions: pulumi.Output<string[] | undefined>;
110
- /**
111
- * The unique username of this user.
112
- */
113
97
  readonly username: pulumi.Output<string>;
114
98
  /**
115
99
  * Create a User resource with the given unique name, arguments, and options.
@@ -124,95 +108,35 @@ export declare class User extends pulumi.CustomResource {
124
108
  * Input properties used for looking up and filtering User resources.
125
109
  */
126
110
  export interface UserState {
127
- /**
128
- * A map representing attributes for the user. In order to add multivalue attributes, use `##` to seperate the values. Max length for each value is 255 chars
129
- */
130
111
  attributes?: pulumi.Input<{
131
112
  [key: string]: any;
132
113
  }>;
133
- /**
134
- * The user's email.
135
- */
136
114
  email?: pulumi.Input<string>;
137
- /**
138
- * Whether the email address was validated or not. Default to `false`.
139
- */
140
115
  emailVerified?: pulumi.Input<boolean>;
141
- /**
142
- * When false, this user cannot log in. Defaults to `true`.
143
- */
144
116
  enabled?: pulumi.Input<boolean>;
145
117
  federatedIdentities?: pulumi.Input<pulumi.Input<inputs.UserFederatedIdentity>[]>;
146
- /**
147
- * The user's first name.
148
- */
149
118
  firstName?: pulumi.Input<string>;
150
- /**
151
- * When given, the user's initial password will be set. This attribute is only respected during initial user creation.
152
- */
153
119
  initialPassword?: pulumi.Input<inputs.UserInitialPassword>;
154
- /**
155
- * The user's last name.
156
- */
157
120
  lastName?: pulumi.Input<string>;
158
- /**
159
- * The realm this user belongs to.
160
- */
161
121
  realmId?: pulumi.Input<string>;
162
- /**
163
- * A list of required user actions.
164
- */
165
122
  requiredActions?: pulumi.Input<pulumi.Input<string>[]>;
166
- /**
167
- * The unique username of this user.
168
- */
169
123
  username?: pulumi.Input<string>;
170
124
  }
171
125
  /**
172
126
  * The set of arguments for constructing a User resource.
173
127
  */
174
128
  export interface UserArgs {
175
- /**
176
- * A map representing attributes for the user. In order to add multivalue attributes, use `##` to seperate the values. Max length for each value is 255 chars
177
- */
178
129
  attributes?: pulumi.Input<{
179
130
  [key: string]: any;
180
131
  }>;
181
- /**
182
- * The user's email.
183
- */
184
132
  email?: pulumi.Input<string>;
185
- /**
186
- * Whether the email address was validated or not. Default to `false`.
187
- */
188
133
  emailVerified?: pulumi.Input<boolean>;
189
- /**
190
- * When false, this user cannot log in. Defaults to `true`.
191
- */
192
134
  enabled?: pulumi.Input<boolean>;
193
135
  federatedIdentities?: pulumi.Input<pulumi.Input<inputs.UserFederatedIdentity>[]>;
194
- /**
195
- * The user's first name.
196
- */
197
136
  firstName?: pulumi.Input<string>;
198
- /**
199
- * When given, the user's initial password will be set. This attribute is only respected during initial user creation.
200
- */
201
137
  initialPassword?: pulumi.Input<inputs.UserInitialPassword>;
202
- /**
203
- * The user's last name.
204
- */
205
138
  lastName?: pulumi.Input<string>;
206
- /**
207
- * The realm this user belongs to.
208
- */
209
139
  realmId: pulumi.Input<string>;
210
- /**
211
- * A list of required user actions.
212
- */
213
140
  requiredActions?: pulumi.Input<pulumi.Input<string>[]>;
214
- /**
215
- * The unique username of this user.
216
- */
217
141
  username: pulumi.Input<string>;
218
142
  }