@pulumi/keycloak 5.3.0 → 5.3.2

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 (276) hide show
  1. package/attributeImporterIdentityProviderMapper.d.ts +45 -63
  2. package/attributeImporterIdentityProviderMapper.js +24 -33
  3. package/attributeImporterIdentityProviderMapper.js.map +1 -1
  4. package/attributeToRoleIdentityMapper.d.ts +14 -6
  5. package/attributeToRoleIdentityMapper.js +14 -6
  6. package/attributeToRoleIdentityMapper.js.map +1 -1
  7. package/authentication/bindings.d.ts +3 -3
  8. package/authentication/bindings.js +3 -3
  9. package/authentication/execution.d.ts +8 -4
  10. package/authentication/execution.js +8 -4
  11. package/authentication/execution.js.map +1 -1
  12. package/authentication/executionConfig.d.ts +10 -2
  13. package/authentication/executionConfig.js +10 -2
  14. package/authentication/executionConfig.js.map +1 -1
  15. package/authentication/flow.d.ts +14 -2
  16. package/authentication/flow.js +14 -2
  17. package/authentication/flow.js.map +1 -1
  18. package/authentication/subflow.d.ts +16 -2
  19. package/authentication/subflow.js +16 -2
  20. package/authentication/subflow.js.map +1 -1
  21. package/customIdentityProviderMapping.d.ts +12 -5
  22. package/customIdentityProviderMapping.js +12 -5
  23. package/customIdentityProviderMapping.js.map +1 -1
  24. package/customUserFederation.d.ts +48 -48
  25. package/customUserFederation.js +24 -12
  26. package/customUserFederation.js.map +1 -1
  27. package/defaultGroups.d.ts +19 -26
  28. package/defaultGroups.js +19 -8
  29. package/defaultGroups.js.map +1 -1
  30. package/defaultRoles.d.ts +12 -3
  31. package/defaultRoles.js +12 -3
  32. package/defaultRoles.js.map +1 -1
  33. package/genericClientProtocolMapper.d.ts +36 -34
  34. package/genericClientProtocolMapper.js +21 -10
  35. package/genericClientProtocolMapper.js.map +1 -1
  36. package/genericClientRoleMapper.d.ts +42 -15
  37. package/genericClientRoleMapper.js +42 -15
  38. package/genericClientRoleMapper.js.map +1 -1
  39. package/genericProtocolMapper.d.ts +9 -4
  40. package/genericProtocolMapper.js +9 -4
  41. package/genericProtocolMapper.js.map +1 -1
  42. package/genericRoleMapper.d.ts +42 -15
  43. package/genericRoleMapper.js +42 -15
  44. package/genericRoleMapper.js.map +1 -1
  45. package/getClientDescriptionConverter.d.ts +50 -50
  46. package/getClientDescriptionConverter.js +50 -50
  47. package/getGroup.d.ts +4 -62
  48. package/getGroup.js +4 -50
  49. package/getGroup.js.map +1 -1
  50. package/getRealm.d.ts +36 -10
  51. package/getRealm.js +36 -4
  52. package/getRealm.js.map +1 -1
  53. package/getRealmKeys.d.ts +8 -28
  54. package/getRealmKeys.js +8 -4
  55. package/getRealmKeys.js.map +1 -1
  56. package/getRole.d.ts +4 -65
  57. package/getRole.js +4 -44
  58. package/getRole.js.map +1 -1
  59. package/getUser.d.ts +2 -0
  60. package/getUser.js +2 -0
  61. package/getUser.js.map +1 -1
  62. package/getUserRealmRoles.d.ts +4 -0
  63. package/getUserRealmRoles.js +4 -0
  64. package/getUserRealmRoles.js.map +1 -1
  65. package/group.d.ts +37 -57
  66. package/group.js +37 -15
  67. package/group.js.map +1 -1
  68. package/groupMemberships.d.ts +28 -43
  69. package/groupMemberships.js +28 -16
  70. package/groupMemberships.js.map +1 -1
  71. package/groupPermissions.d.ts +13 -0
  72. package/groupPermissions.js +13 -0
  73. package/groupPermissions.js.map +1 -1
  74. package/groupRoles.d.ts +35 -90
  75. package/groupRoles.js +35 -54
  76. package/groupRoles.js.map +1 -1
  77. package/hardcodedAttributeIdentityProviderMapper.d.ts +4 -3
  78. package/hardcodedAttributeIdentityProviderMapper.js +4 -3
  79. package/hardcodedAttributeIdentityProviderMapper.js.map +1 -1
  80. package/hardcodedRoleIdentityMapper.d.ts +6 -4
  81. package/hardcodedRoleIdentityMapper.js +6 -4
  82. package/hardcodedRoleIdentityMapper.js.map +1 -1
  83. package/identityProviderTokenExchangeScopePermission.d.ts +13 -6
  84. package/identityProviderTokenExchangeScopePermission.js +13 -6
  85. package/identityProviderTokenExchangeScopePermission.js.map +1 -1
  86. package/ldap/customMapper.d.ts +14 -6
  87. package/ldap/customMapper.js +14 -6
  88. package/ldap/customMapper.js.map +1 -1
  89. package/ldap/fullNameMapper.d.ts +35 -48
  90. package/ldap/fullNameMapper.js +26 -12
  91. package/ldap/fullNameMapper.js.map +1 -1
  92. package/ldap/groupMapper.d.ts +47 -156
  93. package/ldap/groupMapper.js +38 -12
  94. package/ldap/groupMapper.js.map +1 -1
  95. package/ldap/hardcodedAttributeMapper.d.ts +12 -4
  96. package/ldap/hardcodedAttributeMapper.js +12 -4
  97. package/ldap/hardcodedAttributeMapper.js.map +1 -1
  98. package/ldap/hardcodedGroupMapper.d.ts +16 -5
  99. package/ldap/hardcodedGroupMapper.js +16 -5
  100. package/ldap/hardcodedGroupMapper.js.map +1 -1
  101. package/ldap/hardcodedRoleMapper.d.ts +31 -66
  102. package/ldap/hardcodedRoleMapper.js +19 -54
  103. package/ldap/hardcodedRoleMapper.js.map +1 -1
  104. package/ldap/msadLdsUserAccountControlMapper.d.ts +12 -4
  105. package/ldap/msadLdsUserAccountControlMapper.js +12 -4
  106. package/ldap/msadLdsUserAccountControlMapper.js.map +1 -1
  107. package/ldap/msadUserAccountControlMapper.d.ts +29 -27
  108. package/ldap/msadUserAccountControlMapper.js +20 -9
  109. package/ldap/msadUserAccountControlMapper.js.map +1 -1
  110. package/ldap/roleMapper.d.ts +12 -4
  111. package/ldap/roleMapper.js +12 -4
  112. package/ldap/roleMapper.js.map +1 -1
  113. package/ldap/userAttributeMapper.d.ts +54 -39
  114. package/ldap/userAttributeMapper.js +24 -9
  115. package/ldap/userAttributeMapper.js.map +1 -1
  116. package/ldap/userFederation.d.ts +117 -88
  117. package/ldap/userFederation.js +45 -13
  118. package/ldap/userFederation.js.map +1 -1
  119. package/oidc/googleIdentityProvider.d.ts +8 -4
  120. package/oidc/googleIdentityProvider.js +8 -4
  121. package/oidc/googleIdentityProvider.js.map +1 -1
  122. package/oidc/identityProvider.d.ts +7 -3
  123. package/oidc/identityProvider.js +7 -3
  124. package/oidc/identityProvider.js.map +1 -1
  125. package/openid/audienceProtocolMapper.d.ts +62 -43
  126. package/openid/audienceProtocolMapper.js +38 -19
  127. package/openid/audienceProtocolMapper.js.map +1 -1
  128. package/openid/audienceResolveProtocolMapper.d.ts +22 -7
  129. package/openid/audienceResolveProtocolMapper.js +22 -7
  130. package/openid/audienceResolveProtocolMapper.js.map +1 -1
  131. package/openid/audienceResolveProtocolMappter.d.ts +22 -7
  132. package/openid/audienceResolveProtocolMappter.js +22 -7
  133. package/openid/audienceResolveProtocolMappter.js.map +1 -1
  134. package/openid/client.d.ts +45 -429
  135. package/openid/client.js +45 -12
  136. package/openid/client.js.map +1 -1
  137. package/openid/clientAuthorizationPermission.d.ts +6 -2
  138. package/openid/clientAuthorizationPermission.js +6 -2
  139. package/openid/clientAuthorizationPermission.js.map +1 -1
  140. package/openid/clientDefaultScopes.d.ts +16 -31
  141. package/openid/clientDefaultScopes.js +16 -4
  142. package/openid/clientDefaultScopes.js.map +1 -1
  143. package/openid/clientOptionalScopes.d.ts +16 -32
  144. package/openid/clientOptionalScopes.js +16 -5
  145. package/openid/clientOptionalScopes.js.map +1 -1
  146. package/openid/clientPolicy.d.ts +5 -3
  147. package/openid/clientPolicy.js +5 -3
  148. package/openid/clientPolicy.js.map +1 -1
  149. package/openid/clientScope.d.ts +25 -66
  150. package/openid/clientScope.js +25 -12
  151. package/openid/clientScope.js.map +1 -1
  152. package/openid/clientServiceAccountRealmRole.d.ts +12 -4
  153. package/openid/clientServiceAccountRealmRole.js +12 -4
  154. package/openid/clientServiceAccountRealmRole.js.map +1 -1
  155. package/openid/clientServiceAccountRole.d.ts +14 -5
  156. package/openid/clientServiceAccountRole.js +14 -5
  157. package/openid/clientServiceAccountRole.js.map +1 -1
  158. package/openid/fullNameProtocolMapper.d.ts +49 -59
  159. package/openid/fullNameProtocolMapper.js +37 -20
  160. package/openid/fullNameProtocolMapper.js.map +1 -1
  161. package/openid/getClient.d.ts +30 -14
  162. package/openid/getClient.js +30 -2
  163. package/openid/getClient.js.map +1 -1
  164. package/openid/getClientAuthorizationPolicy.d.ts +8 -2
  165. package/openid/getClientAuthorizationPolicy.js +8 -2
  166. package/openid/getClientAuthorizationPolicy.js.map +1 -1
  167. package/openid/getClientScope.d.ts +4 -2
  168. package/openid/getClientScope.js +4 -2
  169. package/openid/getClientScope.js.map +1 -1
  170. package/openid/getClientServiceAccountUser.d.ts +4 -2
  171. package/openid/getClientServiceAccountUser.js +4 -2
  172. package/openid/getClientServiceAccountUser.js.map +1 -1
  173. package/openid/groupMembershipProtocolMapper.d.ts +51 -77
  174. package/openid/groupMembershipProtocolMapper.js +39 -20
  175. package/openid/groupMembershipProtocolMapper.js.map +1 -1
  176. package/openid/hardcodedClaimProtocolMapper.d.ts +64 -62
  177. package/openid/hardcodedClaimProtocolMapper.js +40 -20
  178. package/openid/hardcodedClaimProtocolMapper.js.map +1 -1
  179. package/openid/hardcodedRoleProtocolMapper.d.ts +56 -43
  180. package/openid/hardcodedRoleProtocolMapper.js +44 -22
  181. package/openid/hardcodedRoleProtocolMapper.js.map +1 -1
  182. package/openid/scriptProtocolMapper.d.ts +23 -7
  183. package/openid/scriptProtocolMapper.js +23 -7
  184. package/openid/scriptProtocolMapper.js.map +1 -1
  185. package/openid/userAttributeProtocolMapper.d.ts +71 -68
  186. package/openid/userAttributeProtocolMapper.js +41 -20
  187. package/openid/userAttributeProtocolMapper.js.map +1 -1
  188. package/openid/userClientRoleProtocolMapper.d.ts +23 -7
  189. package/openid/userClientRoleProtocolMapper.js +23 -7
  190. package/openid/userClientRoleProtocolMapper.js.map +1 -1
  191. package/openid/userPropertyProtocolMapper.d.ts +64 -63
  192. package/openid/userPropertyProtocolMapper.js +40 -21
  193. package/openid/userPropertyProtocolMapper.js.map +1 -1
  194. package/openid/userRealmRoleProtocolMapper.d.ts +71 -59
  195. package/openid/userRealmRoleProtocolMapper.js +41 -20
  196. package/openid/userRealmRoleProtocolMapper.js.map +1 -1
  197. package/openid/userSessionNoteProtocolMapper.d.ts +23 -7
  198. package/openid/userSessionNoteProtocolMapper.js +23 -7
  199. package/openid/userSessionNoteProtocolMapper.js.map +1 -1
  200. package/package.json +1 -1
  201. package/realm.d.ts +30 -509
  202. package/realm.js +0 -83
  203. package/realm.js.map +1 -1
  204. package/realmEvents.d.ts +15 -71
  205. package/realmEvents.js +15 -8
  206. package/realmEvents.js.map +1 -1
  207. package/realmKeystoreAesGenerated.d.ts +8 -3
  208. package/realmKeystoreAesGenerated.js +8 -3
  209. package/realmKeystoreAesGenerated.js.map +1 -1
  210. package/realmKeystoreEcdsaGenerated.d.ts +8 -3
  211. package/realmKeystoreEcdsaGenerated.js +8 -3
  212. package/realmKeystoreEcdsaGenerated.js.map +1 -1
  213. package/realmKeystoreHmacGenerated.d.ts +8 -3
  214. package/realmKeystoreHmacGenerated.js +8 -3
  215. package/realmKeystoreHmacGenerated.js.map +1 -1
  216. package/realmKeystoreJavaGenerated.d.ts +8 -3
  217. package/realmKeystoreJavaGenerated.js +8 -3
  218. package/realmKeystoreJavaGenerated.js.map +1 -1
  219. package/realmKeystoreRsa.d.ts +6 -2
  220. package/realmKeystoreRsa.js +6 -2
  221. package/realmKeystoreRsa.js.map +1 -1
  222. package/realmKeystoreRsaGenerated.d.ts +8 -3
  223. package/realmKeystoreRsaGenerated.js +8 -3
  224. package/realmKeystoreRsaGenerated.js.map +1 -1
  225. package/realmUserProfile.d.ts +1 -1
  226. package/realmUserProfile.js +1 -1
  227. package/requiredAction.d.ts +8 -3
  228. package/requiredAction.js +8 -3
  229. package/requiredAction.js.map +1 -1
  230. package/role.d.ts +57 -110
  231. package/role.js +57 -56
  232. package/role.js.map +1 -1
  233. package/saml/client.d.ts +9 -344
  234. package/saml/client.js +9 -29
  235. package/saml/client.js.map +1 -1
  236. package/saml/clientDefaultScope.d.ts +0 -33
  237. package/saml/clientDefaultScope.js +0 -33
  238. package/saml/clientDefaultScope.js.map +1 -1
  239. package/saml/clientScope.d.ts +10 -3
  240. package/saml/clientScope.js +10 -3
  241. package/saml/clientScope.js.map +1 -1
  242. package/saml/getClient.d.ts +2 -0
  243. package/saml/getClient.js +2 -0
  244. package/saml/getClient.js.map +1 -1
  245. package/saml/getClientInstallationProvider.d.ts +0 -62
  246. package/saml/getClientInstallationProvider.js +0 -62
  247. package/saml/getClientInstallationProvider.js.map +1 -1
  248. package/saml/identityProvider.d.ts +155 -111
  249. package/saml/identityProvider.js +44 -15
  250. package/saml/identityProvider.js.map +1 -1
  251. package/saml/scriptProtocolMapper.d.ts +15 -5
  252. package/saml/scriptProtocolMapper.js +15 -5
  253. package/saml/scriptProtocolMapper.js.map +1 -1
  254. package/saml/userAttributeProtocolMapper.d.ts +32 -91
  255. package/saml/userAttributeProtocolMapper.js +32 -19
  256. package/saml/userAttributeProtocolMapper.js.map +1 -1
  257. package/saml/userPropertyProtocolMapper.d.ts +32 -91
  258. package/saml/userPropertyProtocolMapper.js +32 -19
  259. package/saml/userPropertyProtocolMapper.js.map +1 -1
  260. package/types/input.d.ts +74 -231
  261. package/types/output.d.ts +44 -255
  262. package/user.d.ts +26 -104
  263. package/user.js +26 -14
  264. package/user.js.map +1 -1
  265. package/userGroups.d.ts +5 -33
  266. package/userGroups.js +5 -33
  267. package/userGroups.js.map +1 -1
  268. package/userRoles.d.ts +16 -6
  269. package/userRoles.js +16 -6
  270. package/userRoles.js.map +1 -1
  271. package/userTemplateImporterIdentityProviderMapper.d.ts +10 -3
  272. package/userTemplateImporterIdentityProviderMapper.js +10 -3
  273. package/userTemplateImporterIdentityProviderMapper.js.map +1 -1
  274. package/usersPermissions.d.ts +10 -25
  275. package/usersPermissions.js +10 -25
  276. package/usersPermissions.js.map +1 -1
@@ -1,15 +1,16 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * Allows for creating and managing user property protocol mappers within Keycloak.
3
+ * ## # keycloak.openid.UserPropertyProtocolMapper
4
4
  *
5
- * User property protocol mappers allow you to map built in properties defined on the Keycloak user interface to a claim in
6
- * a token.
5
+ * Allows for creating and managing user property protocol mappers within
6
+ * Keycloak.
7
7
  *
8
- * Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between
9
- * multiple different clients.
8
+ * User property protocol mappers allow you to map built in properties defined
9
+ * on the Keycloak user interface to a claim in a token. Protocol mappers can be
10
+ * defined for a single client, or they can be defined for a client scope which
11
+ * can be shared between multiple different clients.
10
12
  *
11
- * ## Example Usage
12
- * ### Client)
13
+ * ### Example Usage (Client)
13
14
  *
14
15
  * ```typescript
15
16
  * import * as pulumi from "@pulumi/pulumi";
@@ -19,21 +20,24 @@ import * as pulumi from "@pulumi/pulumi";
19
20
  * realm: "my-realm",
20
21
  * enabled: true,
21
22
  * });
22
- * const openidClient = new keycloak.openid.Client("openidClient", {
23
+ * const openidClient = new keycloak.openid.Client("openid_client", {
23
24
  * realmId: realm.id,
24
- * clientId: "client",
25
+ * clientId: "test-client",
26
+ * name: "test client",
25
27
  * enabled: true,
26
28
  * accessType: "CONFIDENTIAL",
27
29
  * validRedirectUris: ["http://localhost:8080/openid-callback"],
28
30
  * });
29
- * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("userPropertyMapper", {
31
+ * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("user_property_mapper", {
30
32
  * realmId: realm.id,
31
33
  * clientId: openidClient.id,
34
+ * name: "test-mapper",
32
35
  * userProperty: "email",
33
36
  * claimName: "email",
34
37
  * });
35
38
  * ```
36
- * ### Client Scope)
39
+ *
40
+ * ### Example Usage (Client Scope)
37
41
  *
38
42
  * ```typescript
39
43
  * import * as pulumi from "@pulumi/pulumi";
@@ -43,26 +47,41 @@ import * as pulumi from "@pulumi/pulumi";
43
47
  * realm: "my-realm",
44
48
  * enabled: true,
45
49
  * });
46
- * const clientScope = new keycloak.openid.ClientScope("clientScope", {realmId: realm.id});
47
- * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("userPropertyMapper", {
50
+ * const clientScope = new keycloak.openid.ClientScope("client_scope", {
51
+ * realmId: realm.id,
52
+ * name: "test-client-scope",
53
+ * });
54
+ * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("user_property_mapper", {
48
55
  * realmId: realm.id,
49
56
  * clientScopeId: clientScope.id,
57
+ * name: "test-mapper",
50
58
  * userProperty: "email",
51
59
  * claimName: "email",
52
60
  * });
53
61
  * ```
54
62
  *
55
- * ## Import
63
+ * ### Argument Reference
56
64
  *
57
- * Protocol mappers can be imported using one of the following formats- Client`{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope`{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}` Examplebash
65
+ * The following arguments are supported:
58
66
  *
59
- * ```sh
60
- * $ pulumi import keycloak:openid/userPropertyProtocolMapper:UserPropertyProtocolMapper user_property_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4
61
- * ```
67
+ * - `realmId` - (Required) The realm this protocol mapper exists within.
68
+ * - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to.
69
+ * - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to.
70
+ * - `name` - (Required) The display name of this protocol mapper in the GUI.
71
+ * - `userProperty` - (Required) The built in user property (such as email) to map a claim for.
72
+ * - `claimName` - (Required) The name of the claim to insert into a token.
73
+ * - `claimValueType` - (Optional) The claim type used when serializing JSON tokens. Can be one of `String`, `long`, `int`, or `boolean`. Defaults to `String`.
74
+ * - `addToIdToken` - (Optional) Indicates if the property should be added as a claim to the id token. Defaults to `true`.
75
+ * - `addToAccessToken` - (Optional) Indicates if the property should be added as a claim to the access token. Defaults to `true`.
76
+ * - `addToUserinfo` - (Optional) Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
62
77
  *
63
- * ```sh
64
- * $ pulumi import keycloak:openid/userPropertyProtocolMapper:UserPropertyProtocolMapper user_property_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4
65
- * ```
78
+ * ### Import
79
+ *
80
+ * Protocol mappers can be imported using one of the following formats:
81
+ * - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`
82
+ * - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`
83
+ *
84
+ * Example:
66
85
  */
67
86
  export declare class UserPropertyProtocolMapper extends pulumi.CustomResource {
68
87
  /**
@@ -81,44 +100,38 @@ export declare class UserPropertyProtocolMapper extends pulumi.CustomResource {
81
100
  */
82
101
  static isInstance(obj: any): obj is UserPropertyProtocolMapper;
83
102
  /**
84
- * Indicates if the property should be added as a claim to the access token. Defaults to `true`.
103
+ * Indicates if the property should be a claim in the access token.
85
104
  */
86
105
  readonly addToAccessToken: pulumi.Output<boolean | undefined>;
87
106
  /**
88
- * Indicates if the property should be added as a claim to the id token. Defaults to `true`.
107
+ * Indicates if the property should be a claim in the id token.
89
108
  */
90
109
  readonly addToIdToken: pulumi.Output<boolean | undefined>;
91
110
  /**
92
- * Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
111
+ * Indicates if the property should appear in the userinfo response body.
93
112
  */
94
113
  readonly addToUserinfo: pulumi.Output<boolean | undefined>;
95
- /**
96
- * The name of the claim to insert into a token.
97
- */
98
114
  readonly claimName: pulumi.Output<string>;
99
115
  /**
100
- * The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
116
+ * Claim type used when serializing tokens.
101
117
  */
102
118
  readonly claimValueType: pulumi.Output<string | undefined>;
103
119
  /**
104
- * The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
120
+ * The mapper's associated client. Cannot be used at the same time as client_scope_id.
105
121
  */
106
122
  readonly clientId: pulumi.Output<string | undefined>;
107
123
  /**
108
- * The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to.
124
+ * The mapper's associated client scope. Cannot be used at the same time as client_id.
109
125
  */
110
126
  readonly clientScopeId: pulumi.Output<string | undefined>;
111
127
  /**
112
- * The display name of this protocol mapper in the GUI.
128
+ * A human-friendly name that will appear in the Keycloak console.
113
129
  */
114
130
  readonly name: pulumi.Output<string>;
115
131
  /**
116
- * The realm this protocol mapper exists within.
132
+ * The realm id where the associated client or client scope exists.
117
133
  */
118
134
  readonly realmId: pulumi.Output<string>;
119
- /**
120
- * The built in user property (such as email) to map a claim for.
121
- */
122
135
  readonly userProperty: pulumi.Output<string>;
123
136
  /**
124
137
  * Create a UserPropertyProtocolMapper resource with the given unique name, arguments, and options.
@@ -134,44 +147,38 @@ export declare class UserPropertyProtocolMapper extends pulumi.CustomResource {
134
147
  */
135
148
  export interface UserPropertyProtocolMapperState {
136
149
  /**
137
- * Indicates if the property should be added as a claim to the access token. Defaults to `true`.
150
+ * Indicates if the property should be a claim in the access token.
138
151
  */
139
152
  addToAccessToken?: pulumi.Input<boolean>;
140
153
  /**
141
- * Indicates if the property should be added as a claim to the id token. Defaults to `true`.
154
+ * Indicates if the property should be a claim in the id token.
142
155
  */
143
156
  addToIdToken?: pulumi.Input<boolean>;
144
157
  /**
145
- * Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
158
+ * Indicates if the property should appear in the userinfo response body.
146
159
  */
147
160
  addToUserinfo?: pulumi.Input<boolean>;
148
- /**
149
- * The name of the claim to insert into a token.
150
- */
151
161
  claimName?: pulumi.Input<string>;
152
162
  /**
153
- * The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
163
+ * Claim type used when serializing tokens.
154
164
  */
155
165
  claimValueType?: pulumi.Input<string>;
156
166
  /**
157
- * The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
167
+ * The mapper's associated client. Cannot be used at the same time as client_scope_id.
158
168
  */
159
169
  clientId?: pulumi.Input<string>;
160
170
  /**
161
- * The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to.
171
+ * The mapper's associated client scope. Cannot be used at the same time as client_id.
162
172
  */
163
173
  clientScopeId?: pulumi.Input<string>;
164
174
  /**
165
- * The display name of this protocol mapper in the GUI.
175
+ * A human-friendly name that will appear in the Keycloak console.
166
176
  */
167
177
  name?: pulumi.Input<string>;
168
178
  /**
169
- * The realm this protocol mapper exists within.
179
+ * The realm id where the associated client or client scope exists.
170
180
  */
171
181
  realmId?: pulumi.Input<string>;
172
- /**
173
- * The built in user property (such as email) to map a claim for.
174
- */
175
182
  userProperty?: pulumi.Input<string>;
176
183
  }
177
184
  /**
@@ -179,43 +186,37 @@ export interface UserPropertyProtocolMapperState {
179
186
  */
180
187
  export interface UserPropertyProtocolMapperArgs {
181
188
  /**
182
- * Indicates if the property should be added as a claim to the access token. Defaults to `true`.
189
+ * Indicates if the property should be a claim in the access token.
183
190
  */
184
191
  addToAccessToken?: pulumi.Input<boolean>;
185
192
  /**
186
- * Indicates if the property should be added as a claim to the id token. Defaults to `true`.
193
+ * Indicates if the property should be a claim in the id token.
187
194
  */
188
195
  addToIdToken?: pulumi.Input<boolean>;
189
196
  /**
190
- * Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
197
+ * Indicates if the property should appear in the userinfo response body.
191
198
  */
192
199
  addToUserinfo?: pulumi.Input<boolean>;
193
- /**
194
- * The name of the claim to insert into a token.
195
- */
196
200
  claimName: pulumi.Input<string>;
197
201
  /**
198
- * The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
202
+ * Claim type used when serializing tokens.
199
203
  */
200
204
  claimValueType?: pulumi.Input<string>;
201
205
  /**
202
- * The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
206
+ * The mapper's associated client. Cannot be used at the same time as client_scope_id.
203
207
  */
204
208
  clientId?: pulumi.Input<string>;
205
209
  /**
206
- * The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to.
210
+ * The mapper's associated client scope. Cannot be used at the same time as client_id.
207
211
  */
208
212
  clientScopeId?: pulumi.Input<string>;
209
213
  /**
210
- * The display name of this protocol mapper in the GUI.
214
+ * A human-friendly name that will appear in the Keycloak console.
211
215
  */
212
216
  name?: pulumi.Input<string>;
213
217
  /**
214
- * The realm this protocol mapper exists within.
218
+ * The realm id where the associated client or client scope exists.
215
219
  */
216
220
  realmId: pulumi.Input<string>;
217
- /**
218
- * The built in user property (such as email) to map a claim for.
219
- */
220
221
  userProperty: pulumi.Input<string>;
221
222
  }
@@ -6,16 +6,17 @@ exports.UserPropertyProtocolMapper = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
8
  /**
9
- * Allows for creating and managing user property protocol mappers within Keycloak.
9
+ * ## # keycloak.openid.UserPropertyProtocolMapper
10
10
  *
11
- * User property protocol mappers allow you to map built in properties defined on the Keycloak user interface to a claim in
12
- * a token.
11
+ * Allows for creating and managing user property protocol mappers within
12
+ * Keycloak.
13
13
  *
14
- * Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between
15
- * multiple different clients.
14
+ * User property protocol mappers allow you to map built in properties defined
15
+ * on the Keycloak user interface to a claim in a token. Protocol mappers can be
16
+ * defined for a single client, or they can be defined for a client scope which
17
+ * can be shared between multiple different clients.
16
18
  *
17
- * ## Example Usage
18
- * ### Client)
19
+ * ### Example Usage (Client)
19
20
  *
20
21
  * ```typescript
21
22
  * import * as pulumi from "@pulumi/pulumi";
@@ -25,21 +26,24 @@ const utilities = require("../utilities");
25
26
  * realm: "my-realm",
26
27
  * enabled: true,
27
28
  * });
28
- * const openidClient = new keycloak.openid.Client("openidClient", {
29
+ * const openidClient = new keycloak.openid.Client("openid_client", {
29
30
  * realmId: realm.id,
30
- * clientId: "client",
31
+ * clientId: "test-client",
32
+ * name: "test client",
31
33
  * enabled: true,
32
34
  * accessType: "CONFIDENTIAL",
33
35
  * validRedirectUris: ["http://localhost:8080/openid-callback"],
34
36
  * });
35
- * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("userPropertyMapper", {
37
+ * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("user_property_mapper", {
36
38
  * realmId: realm.id,
37
39
  * clientId: openidClient.id,
40
+ * name: "test-mapper",
38
41
  * userProperty: "email",
39
42
  * claimName: "email",
40
43
  * });
41
44
  * ```
42
- * ### Client Scope)
45
+ *
46
+ * ### Example Usage (Client Scope)
43
47
  *
44
48
  * ```typescript
45
49
  * import * as pulumi from "@pulumi/pulumi";
@@ -49,26 +53,41 @@ const utilities = require("../utilities");
49
53
  * realm: "my-realm",
50
54
  * enabled: true,
51
55
  * });
52
- * const clientScope = new keycloak.openid.ClientScope("clientScope", {realmId: realm.id});
53
- * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("userPropertyMapper", {
56
+ * const clientScope = new keycloak.openid.ClientScope("client_scope", {
57
+ * realmId: realm.id,
58
+ * name: "test-client-scope",
59
+ * });
60
+ * const userPropertyMapper = new keycloak.openid.UserPropertyProtocolMapper("user_property_mapper", {
54
61
  * realmId: realm.id,
55
62
  * clientScopeId: clientScope.id,
63
+ * name: "test-mapper",
56
64
  * userProperty: "email",
57
65
  * claimName: "email",
58
66
  * });
59
67
  * ```
60
68
  *
61
- * ## Import
69
+ * ### Argument Reference
62
70
  *
63
- * Protocol mappers can be imported using one of the following formats- Client`{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope`{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}` Examplebash
71
+ * The following arguments are supported:
64
72
  *
65
- * ```sh
66
- * $ pulumi import keycloak:openid/userPropertyProtocolMapper:UserPropertyProtocolMapper user_property_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4
67
- * ```
73
+ * - `realmId` - (Required) The realm this protocol mapper exists within.
74
+ * - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to.
75
+ * - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to.
76
+ * - `name` - (Required) The display name of this protocol mapper in the GUI.
77
+ * - `userProperty` - (Required) The built in user property (such as email) to map a claim for.
78
+ * - `claimName` - (Required) The name of the claim to insert into a token.
79
+ * - `claimValueType` - (Optional) The claim type used when serializing JSON tokens. Can be one of `String`, `long`, `int`, or `boolean`. Defaults to `String`.
80
+ * - `addToIdToken` - (Optional) Indicates if the property should be added as a claim to the id token. Defaults to `true`.
81
+ * - `addToAccessToken` - (Optional) Indicates if the property should be added as a claim to the access token. Defaults to `true`.
82
+ * - `addToUserinfo` - (Optional) Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
68
83
  *
69
- * ```sh
70
- * $ pulumi import keycloak:openid/userPropertyProtocolMapper:UserPropertyProtocolMapper user_property_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4
71
- * ```
84
+ * ### Import
85
+ *
86
+ * Protocol mappers can be imported using one of the following formats:
87
+ * - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`
88
+ * - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`
89
+ *
90
+ * Example:
72
91
  */
73
92
  class UserPropertyProtocolMapper extends pulumi.CustomResource {
74
93
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"userPropertyProtocolMapper.js","sourceRoot":"","sources":["../../openid/userPropertyProtocolMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userPropertyProtocolMapper.js","sourceRoot":"","sources":["../../openid/userPropertyProtocolMapper.ts"],"names":[],"mappings":"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"}