@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/group.d.ts CHANGED
@@ -1,47 +1,66 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
+ * ## # keycloak.Group
4
+ *
3
5
  * Allows for creating and managing Groups within Keycloak.
4
6
  *
5
- * Groups provide a logical wrapping for users within Keycloak. Users within a group can share attributes and roles, and
6
- * group membership can be mapped to a claim.
7
+ * Groups provide a logical wrapping for users within Keycloak. Users within a
8
+ * group can share attributes and roles, and group membership can be mapped
9
+ * to a claim.
7
10
  *
8
11
  * Attributes can also be defined on Groups.
9
12
  *
10
- * Groups can also be federated from external data sources, such as LDAP or Active Directory. This resource **should not**
11
- * be used to manage groups that were created this way.
13
+ * Groups can also be federated from external data sources, such as LDAP or Active Directory.
14
+ * This resource **should not** be used to manage groups that were created this way.
12
15
  *
13
- * ## Example Usage
16
+ * ### Example Usage
14
17
  *
18
+ * <!--Start PulumiCodeChooser -->
15
19
  * ```typescript
16
20
  * import * as pulumi from "@pulumi/pulumi";
17
21
  * import * as keycloak from "@pulumi/keycloak";
18
22
  *
19
23
  * const realm = new keycloak.Realm("realm", {
20
- * realm: "my-realm",
21
24
  * enabled: true,
25
+ * realm: "my-realm",
22
26
  * });
23
27
  * const parentGroup = new keycloak.Group("parentGroup", {realmId: realm.id});
24
28
  * const childGroup = new keycloak.Group("childGroup", {
25
- * realmId: realm.id,
26
29
  * parentId: parentGroup.id,
30
+ * realmId: realm.id,
27
31
  * });
28
32
  * const childGroupWithOptionalAttributes = new keycloak.Group("childGroupWithOptionalAttributes", {
29
- * realmId: realm.id,
30
- * parentId: parentGroup.id,
31
33
  * attributes: {
32
- * foo: "bar",
33
- * multivalue: "value1##value2",
34
+ * key1: "value1",
35
+ * key2: "value2",
34
36
  * },
37
+ * parentId: parentGroup.id,
38
+ * realmId: realm.id,
35
39
  * });
36
40
  * ```
41
+ * <!--End PulumiCodeChooser -->
37
42
  *
38
- * ## Import
43
+ * ### Argument Reference
39
44
  *
40
- * Groups can be imported using the format `{{realm_id}}/{{group_id}}`, where `group_id` is the unique ID that Keycloak assigns to the group upon creation. This value can be found in the URI when editing this group in the GUI, and is typically a GUID. Examplebash
45
+ * The following arguments are supported:
41
46
  *
42
- * ```sh
43
- * $ pulumi import keycloak:index/group:Group child_group my-realm/934a4a4e-28bd-4703-a0fa-332df153aabd
44
- * ```
47
+ * - `realmId` - (Required) The realm this group exists in.
48
+ * - `parentId` - (Optional) The ID of this group's parent. If omitted, this group will be defined at the root level.
49
+ * - `name` - (Required) The name of the group.
50
+ * - `attributes` - (Optional) A dict of key/value pairs to set as custom attributes for the group.
51
+ *
52
+ * ### Attributes Reference
53
+ *
54
+ * In addition to the arguments listed above, the following computed attributes are exported:
55
+ *
56
+ * - `path` - The complete path of the group. For example, the child group's path in the example configuration would be `/parent-group/child-group`.
57
+ *
58
+ * ### Import
59
+ *
60
+ * Groups can be imported using the format `{{realm_id}}/{{group_id}}`, where `groupId` is the unique ID that Keycloak
61
+ * assigns to the group upon creation. This value can be found in the URI when editing this group in the GUI, and is typically a GUID.
62
+ *
63
+ * Example:
45
64
  */
46
65
  export declare class Group extends pulumi.CustomResource {
47
66
  /**
@@ -59,27 +78,12 @@ export declare class Group extends pulumi.CustomResource {
59
78
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
79
  */
61
80
  static isInstance(obj: any): obj is Group;
62
- /**
63
- * A map representing attributes for the group. In order to add multivalue attributes, use `##` to seperate the values. Max length for each value is 255 chars
64
- */
65
81
  readonly attributes: pulumi.Output<{
66
82
  [key: string]: any;
67
83
  } | undefined>;
68
- /**
69
- * The name of the group.
70
- */
71
84
  readonly name: pulumi.Output<string>;
72
- /**
73
- * The ID of this group's parent. If omitted, this group will be defined at the root level.
74
- */
75
85
  readonly parentId: pulumi.Output<string | undefined>;
76
- /**
77
- * (Computed) The complete path of the group. For example, the child group's path in the example configuration would be `/parent-group/child-group`.
78
- */
79
86
  readonly path: pulumi.Output<string>;
80
- /**
81
- * The realm this group exists in.
82
- */
83
87
  readonly realmId: pulumi.Output<string>;
84
88
  /**
85
89
  * Create a Group resource with the given unique name, arguments, and options.
@@ -94,49 +98,22 @@ export declare class Group extends pulumi.CustomResource {
94
98
  * Input properties used for looking up and filtering Group resources.
95
99
  */
96
100
  export interface GroupState {
97
- /**
98
- * A map representing attributes for the group. In order to add multivalue attributes, use `##` to seperate the values. Max length for each value is 255 chars
99
- */
100
101
  attributes?: pulumi.Input<{
101
102
  [key: string]: any;
102
103
  }>;
103
- /**
104
- * The name of the group.
105
- */
106
104
  name?: pulumi.Input<string>;
107
- /**
108
- * The ID of this group's parent. If omitted, this group will be defined at the root level.
109
- */
110
105
  parentId?: pulumi.Input<string>;
111
- /**
112
- * (Computed) The complete path of the group. For example, the child group's path in the example configuration would be `/parent-group/child-group`.
113
- */
114
106
  path?: pulumi.Input<string>;
115
- /**
116
- * The realm this group exists in.
117
- */
118
107
  realmId?: pulumi.Input<string>;
119
108
  }
120
109
  /**
121
110
  * The set of arguments for constructing a Group resource.
122
111
  */
123
112
  export interface GroupArgs {
124
- /**
125
- * A map representing attributes for the group. In order to add multivalue attributes, use `##` to seperate the values. Max length for each value is 255 chars
126
- */
127
113
  attributes?: pulumi.Input<{
128
114
  [key: string]: any;
129
115
  }>;
130
- /**
131
- * The name of the group.
132
- */
133
116
  name?: pulumi.Input<string>;
134
- /**
135
- * The ID of this group's parent. If omitted, this group will be defined at the root level.
136
- */
137
117
  parentId?: pulumi.Input<string>;
138
- /**
139
- * The realm this group exists in.
140
- */
141
118
  realmId: pulumi.Input<string>;
142
119
  }
package/group.js CHANGED
@@ -6,48 +6,67 @@ exports.Group = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
+ * ## # keycloak.Group
10
+ *
9
11
  * Allows for creating and managing Groups within Keycloak.
10
12
  *
11
- * Groups provide a logical wrapping for users within Keycloak. Users within a group can share attributes and roles, and
12
- * group membership can be mapped to a claim.
13
+ * Groups provide a logical wrapping for users within Keycloak. Users within a
14
+ * group can share attributes and roles, and group membership can be mapped
15
+ * to a claim.
13
16
  *
14
17
  * Attributes can also be defined on Groups.
15
18
  *
16
- * Groups can also be federated from external data sources, such as LDAP or Active Directory. This resource **should not**
17
- * be used to manage groups that were created this way.
19
+ * Groups can also be federated from external data sources, such as LDAP or Active Directory.
20
+ * This resource **should not** be used to manage groups that were created this way.
18
21
  *
19
- * ## Example Usage
22
+ * ### Example Usage
20
23
  *
24
+ * <!--Start PulumiCodeChooser -->
21
25
  * ```typescript
22
26
  * import * as pulumi from "@pulumi/pulumi";
23
27
  * import * as keycloak from "@pulumi/keycloak";
24
28
  *
25
29
  * const realm = new keycloak.Realm("realm", {
26
- * realm: "my-realm",
27
30
  * enabled: true,
31
+ * realm: "my-realm",
28
32
  * });
29
33
  * const parentGroup = new keycloak.Group("parentGroup", {realmId: realm.id});
30
34
  * const childGroup = new keycloak.Group("childGroup", {
31
- * realmId: realm.id,
32
35
  * parentId: parentGroup.id,
36
+ * realmId: realm.id,
33
37
  * });
34
38
  * const childGroupWithOptionalAttributes = new keycloak.Group("childGroupWithOptionalAttributes", {
35
- * realmId: realm.id,
36
- * parentId: parentGroup.id,
37
39
  * attributes: {
38
- * foo: "bar",
39
- * multivalue: "value1##value2",
40
+ * key1: "value1",
41
+ * key2: "value2",
40
42
  * },
43
+ * parentId: parentGroup.id,
44
+ * realmId: realm.id,
41
45
  * });
42
46
  * ```
47
+ * <!--End PulumiCodeChooser -->
43
48
  *
44
- * ## Import
49
+ * ### Argument Reference
45
50
  *
46
- * Groups can be imported using the format `{{realm_id}}/{{group_id}}`, where `group_id` is the unique ID that Keycloak assigns to the group upon creation. This value can be found in the URI when editing this group in the GUI, and is typically a GUID. Examplebash
51
+ * The following arguments are supported:
47
52
  *
48
- * ```sh
49
- * $ pulumi import keycloak:index/group:Group child_group my-realm/934a4a4e-28bd-4703-a0fa-332df153aabd
50
- * ```
53
+ * - `realmId` - (Required) The realm this group exists in.
54
+ * - `parentId` - (Optional) The ID of this group's parent. If omitted, this group will be defined at the root level.
55
+ * - `name` - (Required) The name of the group.
56
+ * - `attributes` - (Optional) A dict of key/value pairs to set as custom attributes for the group.
57
+ *
58
+ * ### Attributes Reference
59
+ *
60
+ * In addition to the arguments listed above, the following computed attributes are exported:
61
+ *
62
+ * - `path` - The complete path of the group. For example, the child group's path in the example configuration would be `/parent-group/child-group`.
63
+ *
64
+ * ### Import
65
+ *
66
+ * Groups can be imported using the format `{{realm_id}}/{{group_id}}`, where `groupId` is the unique ID that Keycloak
67
+ * assigns to the group upon creation. This value can be found in the URI when editing this group in the GUI, and is typically a GUID.
68
+ *
69
+ * Example:
51
70
  */
52
71
  class Group extends pulumi.CustomResource {
53
72
  /**
package/group.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAa,KAAM,SAAQ,MAAM,CAAC,cAAc;IAC5C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkB,EAAE,IAAmC;QAChH,OAAO,IAAI,KAAK,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC5D,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,KAAK,CAAC,YAAY,CAAC;IACtD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAoC,EAAE,IAAmC;QAC/F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAqC,CAAC;YACpD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,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,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAAoC,CAAC;YAClD,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,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,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,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;;AAhFL,sBAiFC;AAnEG,gBAAgB;AACO,kBAAY,GAAG,4BAA4B,CAAC"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAa,KAAM,SAAQ,MAAM,CAAC,cAAc;IAC5C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkB,EAAE,IAAmC;QAChH,OAAO,IAAI,KAAK,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC5D,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,KAAK,CAAC,YAAY,CAAC;IACtD,CAAC;IAgBD,YAAY,IAAY,EAAE,WAAoC,EAAE,IAAmC;QAC/F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAqC,CAAC;YACpD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,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,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAAoC,CAAC;YAClD,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,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,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,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;;AAjEL,sBAkEC;AApDG,gBAAgB;AACO,kBAAY,GAAG,4BAA4B,CAAC"}
@@ -1,30 +1,31 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * Allows for managing a Keycloak group's members.
4
- *
5
- * Note that this resource attempts to be an **authoritative** source over group members. When this resource takes control
6
- * over a group's members, users that are manually added to the group will be removed, and users that are manually removed
7
- * from the group will be added upon the next run of `pulumi up`.
3
+ * ## # keycloak.GroupMemberships
8
4
  *
9
- * Also note that you should not use `keycloak.GroupMemberships` with a group has been assigned as a default group via
10
- * `keycloak.DefaultGroups`.
5
+ * Allows for managing a Keycloak group's members.
11
6
  *
12
- * This resource **should not** be used to control membership of a group that has its members federated from an external
13
- * source via group mapping.
7
+ * Note that this resource attempts to be an **authoritative** source over group members.
8
+ * When this resource takes control over a group's members, users that are manually added
9
+ * to the group will be removed, and users that are manually removed from the group will
10
+ * be added upon the next run of `pulumi up`. Eventually, a non-authoritative resource
11
+ * for group membership will be added to this provider.
14
12
  *
15
- * To non-exclusively manage the group's of a user, see the [`keycloak.UserGroups` resource][1]
13
+ * Also note that you should not use `keycloak.GroupMemberships` with a group has been assigned
14
+ * as a default group via `keycloak.DefaultGroups`.
16
15
  *
17
- * This resource paginates its data loading on refresh by 50 items.
16
+ * This resource **should not** be used to control membership of a group that has its members
17
+ * federated from an external source via group mapping.
18
18
  *
19
- * ## Example Usage
19
+ * ### Example Usage
20
20
  *
21
+ * <!--Start PulumiCodeChooser -->
21
22
  * ```typescript
22
23
  * import * as pulumi from "@pulumi/pulumi";
23
24
  * import * as keycloak from "@pulumi/keycloak";
24
25
  *
25
26
  * const realm = new keycloak.Realm("realm", {
26
- * realm: "my-realm",
27
27
  * enabled: true,
28
+ * realm: "my-realm",
28
29
  * });
29
30
  * const group = new keycloak.Group("group", {realmId: realm.id});
30
31
  * const user = new keycloak.User("user", {
@@ -32,15 +33,25 @@ import * as pulumi from "@pulumi/pulumi";
32
33
  * username: "my-user",
33
34
  * });
34
35
  * const groupMembers = new keycloak.GroupMemberships("groupMembers", {
35
- * realmId: realm.id,
36
36
  * groupId: group.id,
37
37
  * members: [user.username],
38
+ * realmId: realm.id,
38
39
  * });
39
40
  * ```
41
+ * <!--End PulumiCodeChooser -->
40
42
  *
41
- * ## Import
43
+ * ### Argument Reference
42
44
  *
43
- * This resource does not support import. Instead of importing, feel free to create this resource as if it did not already exist on the server. [1]providers/mrparkers/keycloak/latest/docs/resources/group_memberships
45
+ * The following arguments are supported:
46
+ *
47
+ * - `realmId` - (Required) The realm this group exists in.
48
+ * - `groupId` - (Required) The ID of the group this resource should manage memberships for.
49
+ * - `members` - (Required) An array of usernames that belong to this group.
50
+ *
51
+ * ### Import
52
+ *
53
+ * This resource does not support import. Instead of importing, feel free to create this resource
54
+ * as if it did not already exist on the server.
44
55
  */
45
56
  export declare class GroupMemberships extends pulumi.CustomResource {
46
57
  /**
@@ -58,17 +69,8 @@ export declare class GroupMemberships extends pulumi.CustomResource {
58
69
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
59
70
  */
60
71
  static isInstance(obj: any): obj is GroupMemberships;
61
- /**
62
- * The ID of the group this resource should manage memberships for.
63
- */
64
72
  readonly groupId: pulumi.Output<string | undefined>;
65
- /**
66
- * A list of usernames that belong to this group.
67
- */
68
73
  readonly members: pulumi.Output<string[]>;
69
- /**
70
- * The realm this group exists in.
71
- */
72
74
  readonly realmId: pulumi.Output<string>;
73
75
  /**
74
76
  * Create a GroupMemberships resource with the given unique name, arguments, and options.
@@ -83,33 +85,15 @@ export declare class GroupMemberships extends pulumi.CustomResource {
83
85
  * Input properties used for looking up and filtering GroupMemberships resources.
84
86
  */
85
87
  export interface GroupMembershipsState {
86
- /**
87
- * The ID of the group this resource should manage memberships for.
88
- */
89
88
  groupId?: pulumi.Input<string>;
90
- /**
91
- * A list of usernames that belong to this group.
92
- */
93
89
  members?: pulumi.Input<pulumi.Input<string>[]>;
94
- /**
95
- * The realm this group exists in.
96
- */
97
90
  realmId?: pulumi.Input<string>;
98
91
  }
99
92
  /**
100
93
  * The set of arguments for constructing a GroupMemberships resource.
101
94
  */
102
95
  export interface GroupMembershipsArgs {
103
- /**
104
- * The ID of the group this resource should manage memberships for.
105
- */
106
96
  groupId?: pulumi.Input<string>;
107
- /**
108
- * A list of usernames that belong to this group.
109
- */
110
97
  members: pulumi.Input<pulumi.Input<string>[]>;
111
- /**
112
- * The realm this group exists in.
113
- */
114
98
  realmId: pulumi.Input<string>;
115
99
  }
@@ -6,31 +6,32 @@ exports.GroupMemberships = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
- * Allows for managing a Keycloak group's members.
10
- *
11
- * Note that this resource attempts to be an **authoritative** source over group members. When this resource takes control
12
- * over a group's members, users that are manually added to the group will be removed, and users that are manually removed
13
- * from the group will be added upon the next run of `pulumi up`.
9
+ * ## # keycloak.GroupMemberships
14
10
  *
15
- * Also note that you should not use `keycloak.GroupMemberships` with a group has been assigned as a default group via
16
- * `keycloak.DefaultGroups`.
11
+ * Allows for managing a Keycloak group's members.
17
12
  *
18
- * This resource **should not** be used to control membership of a group that has its members federated from an external
19
- * source via group mapping.
13
+ * Note that this resource attempts to be an **authoritative** source over group members.
14
+ * When this resource takes control over a group's members, users that are manually added
15
+ * to the group will be removed, and users that are manually removed from the group will
16
+ * be added upon the next run of `pulumi up`. Eventually, a non-authoritative resource
17
+ * for group membership will be added to this provider.
20
18
  *
21
- * To non-exclusively manage the group's of a user, see the [`keycloak.UserGroups` resource][1]
19
+ * Also note that you should not use `keycloak.GroupMemberships` with a group has been assigned
20
+ * as a default group via `keycloak.DefaultGroups`.
22
21
  *
23
- * This resource paginates its data loading on refresh by 50 items.
22
+ * This resource **should not** be used to control membership of a group that has its members
23
+ * federated from an external source via group mapping.
24
24
  *
25
- * ## Example Usage
25
+ * ### Example Usage
26
26
  *
27
+ * <!--Start PulumiCodeChooser -->
27
28
  * ```typescript
28
29
  * import * as pulumi from "@pulumi/pulumi";
29
30
  * import * as keycloak from "@pulumi/keycloak";
30
31
  *
31
32
  * const realm = new keycloak.Realm("realm", {
32
- * realm: "my-realm",
33
33
  * enabled: true,
34
+ * realm: "my-realm",
34
35
  * });
35
36
  * const group = new keycloak.Group("group", {realmId: realm.id});
36
37
  * const user = new keycloak.User("user", {
@@ -38,15 +39,25 @@ const utilities = require("./utilities");
38
39
  * username: "my-user",
39
40
  * });
40
41
  * const groupMembers = new keycloak.GroupMemberships("groupMembers", {
41
- * realmId: realm.id,
42
42
  * groupId: group.id,
43
43
  * members: [user.username],
44
+ * realmId: realm.id,
44
45
  * });
45
46
  * ```
47
+ * <!--End PulumiCodeChooser -->
48
+ *
49
+ * ### Argument Reference
50
+ *
51
+ * The following arguments are supported:
52
+ *
53
+ * - `realmId` - (Required) The realm this group exists in.
54
+ * - `groupId` - (Required) The ID of the group this resource should manage memberships for.
55
+ * - `members` - (Required) An array of usernames that belong to this group.
46
56
  *
47
- * ## Import
57
+ * ### Import
48
58
  *
49
- * This resource does not support import. Instead of importing, feel free to create this resource as if it did not already exist on the server. [1]providers/mrparkers/keycloak/latest/docs/resources/group_memberships
59
+ * This resource does not support import. Instead of importing, feel free to create this resource
60
+ * as if it did not already exist on the server.
50
61
  */
51
62
  class GroupMemberships extends pulumi.CustomResource {
52
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"groupMemberships.js","sourceRoot":"","sources":["../groupMemberships.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IACvD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,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,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,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,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;;AAvEL,4CAwEC;AA1DG,gBAAgB;AACO,6BAAY,GAAG,kDAAkD,CAAC"}
1
+ {"version":3,"file":"groupMemberships.js","sourceRoot":"","sources":["../groupMemberships.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IACvD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,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,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;IAcD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,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,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;;AA9DL,4CA+DC;AAjDG,gBAAgB;AACO,6BAAY,GAAG,kDAAkD,CAAC"}
@@ -1,6 +1,19 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
+ /**
5
+ * Allows you to manage all group Scope Based Permissions https://www.keycloak.org/docs/latest/server_admin/#group.
6
+ *
7
+ * This is part of a preview Keycloak feature: `adminFineGrainedAuthz` (see https://www.keycloak.org/docs/latest/server_admin/#_fine_grain_permissions).
8
+ * This feature can be enabled with the Keycloak option `-Dkeycloak.profile.feature.admin_fine_grained_authz=enabled`. See the
9
+ * example `docker-compose.yml` file for an example.
10
+ *
11
+ * When enabling Roles Permissions, Keycloak does several things automatically:
12
+ * 1. Enable Authorization on built-in `realm-management` client (if not already enabled).
13
+ * 2. Create a resource representing the role permissions.
14
+ * 3. Create scopes `view`, `manage`, `view-members`, `manage-members`, `manage-membership`.
15
+ * 4. Create all scope based permission for the scopes and role resource
16
+ */
4
17
  export declare class GroupPermissions extends pulumi.CustomResource {
5
18
  /**
6
19
  * Get an existing GroupPermissions resource's state with the given name, ID, and optional extra
@@ -5,6 +5,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.GroupPermissions = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
+ /**
9
+ * Allows you to manage all group Scope Based Permissions https://www.keycloak.org/docs/latest/server_admin/#group.
10
+ *
11
+ * This is part of a preview Keycloak feature: `adminFineGrainedAuthz` (see https://www.keycloak.org/docs/latest/server_admin/#_fine_grain_permissions).
12
+ * This feature can be enabled with the Keycloak option `-Dkeycloak.profile.feature.admin_fine_grained_authz=enabled`. See the
13
+ * example `docker-compose.yml` file for an example.
14
+ *
15
+ * When enabling Roles Permissions, Keycloak does several things automatically:
16
+ * 1. Enable Authorization on built-in `realm-management` client (if not already enabled).
17
+ * 2. Create a resource representing the role permissions.
18
+ * 3. Create scopes `view`, `manage`, `view-members`, `manage-members`, `manage-membership`.
19
+ * 4. Create all scope based permission for the scopes and role resource
20
+ */
8
21
  class GroupPermissions extends pulumi.CustomResource {
9
22
  /**
10
23
  * Get an existing GroupPermissions resource's state with the given name, ID, and optional extra
@@ -1 +1 @@
1
- {"version":3,"file":"groupPermissions.js","sourceRoot":"","sources":["../groupPermissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groupPermissions.js","sourceRoot":"","sources":["../groupPermissions.ts"],"names":[],"mappings":"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"}