@pulumi/keycloak 6.12.0-alpha.1780643623 → 6.12.0

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 (95) hide show
  1. package/getGenericProtocolMapper.d.ts +89 -0
  2. package/getGenericProtocolMapper.d.ts.map +1 -0
  3. package/getGenericProtocolMapper.js +63 -0
  4. package/getGenericProtocolMapper.js.map +1 -0
  5. package/getGroup.d.ts +35 -0
  6. package/getGroup.d.ts.map +1 -1
  7. package/getGroup.js +28 -0
  8. package/getGroup.js.map +1 -1
  9. package/getWorkflow.d.ts +86 -0
  10. package/getWorkflow.d.ts.map +1 -0
  11. package/getWorkflow.js +85 -0
  12. package/getWorkflow.js.map +1 -0
  13. package/group.d.ts +41 -0
  14. package/group.d.ts.map +1 -1
  15. package/group.js +31 -0
  16. package/group.js.map +1 -1
  17. package/index.d.ts +12 -0
  18. package/index.d.ts.map +1 -1
  19. package/index.js +18 -2
  20. package/index.js.map +1 -1
  21. package/oidc/googleIdentityProvider.d.ts +12 -0
  22. package/oidc/googleIdentityProvider.d.ts.map +1 -1
  23. package/oidc/googleIdentityProvider.js +2 -0
  24. package/oidc/googleIdentityProvider.js.map +1 -1
  25. package/oidc/index.d.ts +3 -0
  26. package/oidc/index.d.ts.map +1 -1
  27. package/oidc/index.js +6 -1
  28. package/oidc/index.js.map +1 -1
  29. package/oidc/openshiftV4IdentityProvider.d.ts +350 -0
  30. package/oidc/openshiftV4IdentityProvider.d.ts.map +1 -0
  31. package/oidc/openshiftV4IdentityProvider.js +173 -0
  32. package/oidc/openshiftV4IdentityProvider.js.map +1 -0
  33. package/openid/client.d.ts +10 -4
  34. package/openid/client.d.ts.map +1 -1
  35. package/openid/client.js +4 -0
  36. package/openid/client.js.map +1 -1
  37. package/openid/{clientJsPolicy.d.ts → clientRegexPolicy.d.ts} +34 -36
  38. package/openid/clientRegexPolicy.d.ts.map +1 -0
  39. package/openid/{clientJsPolicy.js → clientRegexPolicy.js} +35 -35
  40. package/openid/clientRegexPolicy.js.map +1 -0
  41. package/openid/getClient.d.ts +6 -0
  42. package/openid/getClient.d.ts.map +1 -1
  43. package/openid/getClient.js +4 -0
  44. package/openid/getClient.js.map +1 -1
  45. package/openid/index.d.ts +3 -6
  46. package/openid/index.d.ts.map +1 -1
  47. package/openid/index.js +6 -11
  48. package/openid/index.js.map +1 -1
  49. package/openid/userAttributeProtocolMapper.d.ts +12 -0
  50. package/openid/userAttributeProtocolMapper.d.ts.map +1 -1
  51. package/openid/userAttributeProtocolMapper.js +2 -0
  52. package/openid/userAttributeProtocolMapper.js.map +1 -1
  53. package/openid/userSessionNoteProtocolMapper.d.ts +30 -6
  54. package/openid/userSessionNoteProtocolMapper.d.ts.map +1 -1
  55. package/openid/userSessionNoteProtocolMapper.js +4 -0
  56. package/openid/userSessionNoteProtocolMapper.js.map +1 -1
  57. package/package.json +2 -2
  58. package/realm.d.ts +1 -1
  59. package/realm.js +1 -1
  60. package/realmKeystoreJavaGenerated.d.ts +14 -0
  61. package/realmKeystoreJavaGenerated.d.ts.map +1 -1
  62. package/realmKeystoreJavaGenerated.js +4 -0
  63. package/realmKeystoreJavaGenerated.js.map +1 -1
  64. package/realmUserProfile.d.ts +2 -1
  65. package/realmUserProfile.d.ts.map +1 -1
  66. package/realmUserProfile.js +2 -1
  67. package/realmUserProfile.js.map +1 -1
  68. package/saml/identityProvider.d.ts +1 -1
  69. package/saml/identityProvider.d.ts.map +1 -1
  70. package/saml/index.d.ts +0 -3
  71. package/saml/index.d.ts.map +1 -1
  72. package/saml/index.js +1 -6
  73. package/saml/index.js.map +1 -1
  74. package/spiffeIdentityProvider.d.ts +320 -0
  75. package/spiffeIdentityProvider.d.ts.map +1 -0
  76. package/spiffeIdentityProvider.js +174 -0
  77. package/spiffeIdentityProvider.js.map +1 -0
  78. package/types/input.d.ts +38 -0
  79. package/types/input.d.ts.map +1 -1
  80. package/types/output.d.ts +42 -0
  81. package/types/output.d.ts.map +1 -1
  82. package/workflow.d.ts +228 -0
  83. package/workflow.d.ts.map +1 -0
  84. package/workflow.js +188 -0
  85. package/workflow.js.map +1 -0
  86. package/openid/clientJsPolicy.d.ts.map +0 -1
  87. package/openid/clientJsPolicy.js.map +0 -1
  88. package/openid/scriptProtocolMapper.d.ts +0 -244
  89. package/openid/scriptProtocolMapper.d.ts.map +0 -1
  90. package/openid/scriptProtocolMapper.js +0 -176
  91. package/openid/scriptProtocolMapper.js.map +0 -1
  92. package/saml/scriptProtocolMapper.d.ts +0 -191
  93. package/saml/scriptProtocolMapper.d.ts.map +0 -1
  94. package/saml/scriptProtocolMapper.js +0 -146
  95. package/saml/scriptProtocolMapper.js.map +0 -1
@@ -0,0 +1,89 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This data source can be used to fetch properties of a protocol mapper attached to a client or client scope.
4
+ *
5
+ * This is useful for importing auto-created protocol mappers (such as the organization membership mapper)
6
+ * into Terraform state by looking up their ID by name.
7
+ */
8
+ export declare function getGenericProtocolMapper(args: GetGenericProtocolMapperArgs, opts?: pulumi.InvokeOptions): Promise<GetGenericProtocolMapperResult>;
9
+ /**
10
+ * A collection of arguments for invoking getGenericProtocolMapper.
11
+ */
12
+ export interface GetGenericProtocolMapperArgs {
13
+ /**
14
+ * The client this protocol mapper is attached to. Conflicts with `clientScopeId`.
15
+ */
16
+ clientId?: string;
17
+ /**
18
+ * The client scope this protocol mapper is attached to. Conflicts with `clientId`.
19
+ *
20
+ * One of `clientId` or `clientScopeId` must be specified.
21
+ */
22
+ clientScopeId?: string;
23
+ /**
24
+ * The name of the protocol mapper to look up.
25
+ */
26
+ name: string;
27
+ /**
28
+ * The realm this protocol mapper exists within.
29
+ */
30
+ realmId: string;
31
+ }
32
+ /**
33
+ * A collection of values returned by getGenericProtocolMapper.
34
+ */
35
+ export interface GetGenericProtocolMapperResult {
36
+ readonly clientId?: string;
37
+ readonly clientScopeId?: string;
38
+ /**
39
+ * A map of configuration values for the protocol mapper.
40
+ */
41
+ readonly config: {
42
+ [key: string]: string;
43
+ };
44
+ /**
45
+ * The provider-assigned unique ID for this managed resource.
46
+ */
47
+ readonly id: string;
48
+ readonly name: string;
49
+ /**
50
+ * The protocol of the mapper (e.g., `openid-connect` or `saml`).
51
+ */
52
+ readonly protocol: string;
53
+ /**
54
+ * The type of the protocol mapper (e.g., `oidc-organization-membership-mapper`).
55
+ */
56
+ readonly protocolMapper: string;
57
+ readonly realmId: string;
58
+ }
59
+ /**
60
+ * This data source can be used to fetch properties of a protocol mapper attached to a client or client scope.
61
+ *
62
+ * This is useful for importing auto-created protocol mappers (such as the organization membership mapper)
63
+ * into Terraform state by looking up their ID by name.
64
+ */
65
+ export declare function getGenericProtocolMapperOutput(args: GetGenericProtocolMapperOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetGenericProtocolMapperResult>;
66
+ /**
67
+ * A collection of arguments for invoking getGenericProtocolMapper.
68
+ */
69
+ export interface GetGenericProtocolMapperOutputArgs {
70
+ /**
71
+ * The client this protocol mapper is attached to. Conflicts with `clientScopeId`.
72
+ */
73
+ clientId?: pulumi.Input<string | undefined>;
74
+ /**
75
+ * The client scope this protocol mapper is attached to. Conflicts with `clientId`.
76
+ *
77
+ * One of `clientId` or `clientScopeId` must be specified.
78
+ */
79
+ clientScopeId?: pulumi.Input<string | undefined>;
80
+ /**
81
+ * The name of the protocol mapper to look up.
82
+ */
83
+ name: pulumi.Input<string>;
84
+ /**
85
+ * The realm this protocol mapper exists within.
86
+ */
87
+ realmId: pulumi.Input<string>;
88
+ }
89
+ //# sourceMappingURL=getGenericProtocolMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGenericProtocolMapper.d.ts","sourceRoot":"","sources":["../getGenericProtocolMapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,4BAA4B,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAQjJ;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AACD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,kCAAkC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAQzK;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAC/C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.getGenericProtocolMapperOutput = exports.getGenericProtocolMapper = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * This data source can be used to fetch properties of a protocol mapper attached to a client or client scope.
33
+ *
34
+ * This is useful for importing auto-created protocol mappers (such as the organization membership mapper)
35
+ * into Terraform state by looking up their ID by name.
36
+ */
37
+ function getGenericProtocolMapper(args, opts) {
38
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
39
+ return pulumi.runtime.invoke("keycloak:index/getGenericProtocolMapper:getGenericProtocolMapper", {
40
+ "clientId": args.clientId,
41
+ "clientScopeId": args.clientScopeId,
42
+ "name": args.name,
43
+ "realmId": args.realmId,
44
+ }, opts);
45
+ }
46
+ exports.getGenericProtocolMapper = getGenericProtocolMapper;
47
+ /**
48
+ * This data source can be used to fetch properties of a protocol mapper attached to a client or client scope.
49
+ *
50
+ * This is useful for importing auto-created protocol mappers (such as the organization membership mapper)
51
+ * into Terraform state by looking up their ID by name.
52
+ */
53
+ function getGenericProtocolMapperOutput(args, opts) {
54
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
55
+ return pulumi.runtime.invokeOutput("keycloak:index/getGenericProtocolMapper:getGenericProtocolMapper", {
56
+ "clientId": args.clientId,
57
+ "clientScopeId": args.clientScopeId,
58
+ "name": args.name,
59
+ "realmId": args.realmId,
60
+ }, opts);
61
+ }
62
+ exports.getGenericProtocolMapperOutput = getGenericProtocolMapperOutput;
63
+ //# sourceMappingURL=getGenericProtocolMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGenericProtocolMapper.js","sourceRoot":"","sources":["../getGenericProtocolMapper.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,IAAkC,EAAE,IAA2B;IACpG,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kEAAkE,EAAE;QAC7F,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,eAAe,EAAE,IAAI,CAAC,aAAa;QACnC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,SAAS,EAAE,IAAI,CAAC,OAAO;KAC1B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,4DAQC;AAmDD;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAC,IAAwC,EAAE,IAAiC;IACtH,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,kEAAkE,EAAE;QACnG,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,eAAe,EAAE,IAAI,CAAC,aAAa;QACnC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,SAAS,EAAE,IAAI,CAAC,OAAO;KAC1B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,wEAQC"}
package/getGroup.d.ts CHANGED
@@ -27,6 +27,19 @@ import * as pulumi from "@pulumi/pulumi";
27
27
  * roleIds: [offlineAccess.apply(offlineAccess => offlineAccess.id)],
28
28
  * });
29
29
  * ```
30
+ *
31
+ * Organization groups can be looked up by setting `organizationId`. Organization groups require Keycloak 26.6.0 or later.
32
+ *
33
+ * ```typescript
34
+ * import * as pulumi from "@pulumi/pulumi";
35
+ * import * as keycloak from "@pulumi/keycloak";
36
+ *
37
+ * const organizationGroup = keycloak.getGroup({
38
+ * realmId: realm.id,
39
+ * organizationId: organization.id,
40
+ * name: "organization-group",
41
+ * });
42
+ * ```
30
43
  */
31
44
  export declare function getGroup(args: GetGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetGroupResult>;
32
45
  /**
@@ -38,6 +51,10 @@ export interface GetGroupArgs {
38
51
  * The name of the group. If there are multiple groups match `name`, the first result will be returned.
39
52
  */
40
53
  name: string;
54
+ /**
55
+ * The organization this group exists within. If omitted, the data source looks up realm groups.
56
+ */
57
+ organizationId?: string;
41
58
  /**
42
59
  * The realm this group exists within.
43
60
  */
@@ -56,6 +73,7 @@ export interface GetGroupResult {
56
73
  */
57
74
  readonly id: string;
58
75
  readonly name: string;
76
+ readonly organizationId?: string;
59
77
  readonly parentId: string;
60
78
  readonly path: string;
61
79
  readonly realmId: string;
@@ -88,6 +106,19 @@ export interface GetGroupResult {
88
106
  * roleIds: [offlineAccess.apply(offlineAccess => offlineAccess.id)],
89
107
  * });
90
108
  * ```
109
+ *
110
+ * Organization groups can be looked up by setting `organizationId`. Organization groups require Keycloak 26.6.0 or later.
111
+ *
112
+ * ```typescript
113
+ * import * as pulumi from "@pulumi/pulumi";
114
+ * import * as keycloak from "@pulumi/keycloak";
115
+ *
116
+ * const organizationGroup = keycloak.getGroup({
117
+ * realmId: realm.id,
118
+ * organizationId: organization.id,
119
+ * name: "organization-group",
120
+ * });
121
+ * ```
91
122
  */
92
123
  export declare function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetGroupResult>;
93
124
  /**
@@ -99,6 +130,10 @@ export interface GetGroupOutputArgs {
99
130
  * The name of the group. If there are multiple groups match `name`, the first result will be returned.
100
131
  */
101
132
  name: pulumi.Input<string>;
133
+ /**
134
+ * The organization this group exists within. If omitted, the data source looks up realm groups.
135
+ */
136
+ organizationId?: pulumi.Input<string | undefined>;
102
137
  /**
103
138
  * The realm this group exists within.
104
139
  */
package/getGroup.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"getGroup.d.ts","sourceRoot":"","sources":["../getGroup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAOjG;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAOzH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"getGroup.d.ts","sourceRoot":"","sources":["../getGroup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAQjG;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAQzH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC"}
package/getGroup.js CHANGED
@@ -56,12 +56,26 @@ const utilities = __importStar(require("./utilities"));
56
56
  * roleIds: [offlineAccess.apply(offlineAccess => offlineAccess.id)],
57
57
  * });
58
58
  * ```
59
+ *
60
+ * Organization groups can be looked up by setting `organizationId`. Organization groups require Keycloak 26.6.0 or later.
61
+ *
62
+ * ```typescript
63
+ * import * as pulumi from "@pulumi/pulumi";
64
+ * import * as keycloak from "@pulumi/keycloak";
65
+ *
66
+ * const organizationGroup = keycloak.getGroup({
67
+ * realmId: realm.id,
68
+ * organizationId: organization.id,
69
+ * name: "organization-group",
70
+ * });
71
+ * ```
59
72
  */
60
73
  function getGroup(args, opts) {
61
74
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
62
75
  return pulumi.runtime.invoke("keycloak:index/getGroup:getGroup", {
63
76
  "description": args.description,
64
77
  "name": args.name,
78
+ "organizationId": args.organizationId,
65
79
  "realmId": args.realmId,
66
80
  }, opts);
67
81
  }
@@ -94,12 +108,26 @@ exports.getGroup = getGroup;
94
108
  * roleIds: [offlineAccess.apply(offlineAccess => offlineAccess.id)],
95
109
  * });
96
110
  * ```
111
+ *
112
+ * Organization groups can be looked up by setting `organizationId`. Organization groups require Keycloak 26.6.0 or later.
113
+ *
114
+ * ```typescript
115
+ * import * as pulumi from "@pulumi/pulumi";
116
+ * import * as keycloak from "@pulumi/keycloak";
117
+ *
118
+ * const organizationGroup = keycloak.getGroup({
119
+ * realmId: realm.id,
120
+ * organizationId: organization.id,
121
+ * name: "organization-group",
122
+ * });
123
+ * ```
97
124
  */
98
125
  function getGroupOutput(args, opts) {
99
126
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
100
127
  return pulumi.runtime.invokeOutput("keycloak:index/getGroup:getGroup", {
101
128
  "description": args.description,
102
129
  "name": args.name,
130
+ "organizationId": args.organizationId,
103
131
  "realmId": args.realmId,
104
132
  }, opts);
105
133
  }
package/getGroup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"getGroup.js","sourceRoot":"","sources":["../getGroup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,QAAQ,CAAC,IAAkB,EAAE,IAA2B;IACpE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,EAAE;QAC7D,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,SAAS,EAAE,IAAI,CAAC,OAAO;KAC1B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,4BAOC;AAgCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,cAAc,CAAC,IAAwB,EAAE,IAAiC;IACtF,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,EAAE;QACnE,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,SAAS,EAAE,IAAI,CAAC,OAAO;KAC1B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,wCAOC"}
1
+ {"version":3,"file":"getGroup.js","sourceRoot":"","sources":["../getGroup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,QAAQ,CAAC,IAAkB,EAAE,IAA2B;IACpE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,EAAE;QAC7D,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,SAAS,EAAE,IAAI,CAAC,OAAO;KAC1B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,4BAQC;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,cAAc,CAAC,IAAwB,EAAE,IAAiC;IACtF,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,EAAE;QACnE,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,gBAAgB,EAAE,IAAI,CAAC,cAAc;QACrC,SAAS,EAAE,IAAI,CAAC,OAAO;KAC1B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,wCAQC"}
@@ -0,0 +1,86 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as outputs from "./types/output";
3
+ /**
4
+ * This data source can be used to fetch properties of a Keycloak workflow for
5
+ * usage with other resources.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as keycloak from "@pulumi/keycloak";
12
+ *
13
+ * const realm = keycloak.getRealm({
14
+ * realm: "my-realm",
15
+ * });
16
+ * const onboarding = realm.then(realm => keycloak.getWorkflow({
17
+ * realm: realm.id,
18
+ * name: "onboarding-new-users",
19
+ * }));
20
+ * ```
21
+ */
22
+ export declare function getWorkflow(args: GetWorkflowArgs, opts?: pulumi.InvokeOptions): Promise<GetWorkflowResult>;
23
+ /**
24
+ * A collection of arguments for invoking getWorkflow.
25
+ */
26
+ export interface GetWorkflowArgs {
27
+ /**
28
+ * The workflow name.
29
+ */
30
+ name: string;
31
+ /**
32
+ * The name of the realm this workflow exists within.
33
+ */
34
+ realm: string;
35
+ }
36
+ /**
37
+ * A collection of values returned by getWorkflow.
38
+ */
39
+ export interface GetWorkflowResult {
40
+ readonly cancelInProgress: string;
41
+ readonly conditions: string;
42
+ readonly enabled: boolean;
43
+ /**
44
+ * The provider-assigned unique ID for this managed resource.
45
+ */
46
+ readonly id: string;
47
+ readonly name: string;
48
+ readonly on: string;
49
+ readonly realm: string;
50
+ readonly restartInProgress: string;
51
+ readonly steps: outputs.GetWorkflowStep[];
52
+ }
53
+ /**
54
+ * This data source can be used to fetch properties of a Keycloak workflow for
55
+ * usage with other resources.
56
+ *
57
+ * ## Example Usage
58
+ *
59
+ * ```typescript
60
+ * import * as pulumi from "@pulumi/pulumi";
61
+ * import * as keycloak from "@pulumi/keycloak";
62
+ *
63
+ * const realm = keycloak.getRealm({
64
+ * realm: "my-realm",
65
+ * });
66
+ * const onboarding = realm.then(realm => keycloak.getWorkflow({
67
+ * realm: realm.id,
68
+ * name: "onboarding-new-users",
69
+ * }));
70
+ * ```
71
+ */
72
+ export declare function getWorkflowOutput(args: GetWorkflowOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetWorkflowResult>;
73
+ /**
74
+ * A collection of arguments for invoking getWorkflow.
75
+ */
76
+ export interface GetWorkflowOutputArgs {
77
+ /**
78
+ * The workflow name.
79
+ */
80
+ name: pulumi.Input<string>;
81
+ /**
82
+ * The name of the realm this workflow exists within.
83
+ */
84
+ realm: pulumi.Input<string>;
85
+ }
86
+ //# sourceMappingURL=getWorkflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkflow.d.ts","sourceRoot":"","sources":["../getWorkflow.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAM1G;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;CAC7C;AACD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAMlI;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CAC/B"}
package/getWorkflow.js ADDED
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.getWorkflowOutput = exports.getWorkflow = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * This data source can be used to fetch properties of a Keycloak workflow for
33
+ * usage with other resources.
34
+ *
35
+ * ## Example Usage
36
+ *
37
+ * ```typescript
38
+ * import * as pulumi from "@pulumi/pulumi";
39
+ * import * as keycloak from "@pulumi/keycloak";
40
+ *
41
+ * const realm = keycloak.getRealm({
42
+ * realm: "my-realm",
43
+ * });
44
+ * const onboarding = realm.then(realm => keycloak.getWorkflow({
45
+ * realm: realm.id,
46
+ * name: "onboarding-new-users",
47
+ * }));
48
+ * ```
49
+ */
50
+ function getWorkflow(args, opts) {
51
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
52
+ return pulumi.runtime.invoke("keycloak:index/getWorkflow:getWorkflow", {
53
+ "name": args.name,
54
+ "realm": args.realm,
55
+ }, opts);
56
+ }
57
+ exports.getWorkflow = getWorkflow;
58
+ /**
59
+ * This data source can be used to fetch properties of a Keycloak workflow for
60
+ * usage with other resources.
61
+ *
62
+ * ## Example Usage
63
+ *
64
+ * ```typescript
65
+ * import * as pulumi from "@pulumi/pulumi";
66
+ * import * as keycloak from "@pulumi/keycloak";
67
+ *
68
+ * const realm = keycloak.getRealm({
69
+ * realm: "my-realm",
70
+ * });
71
+ * const onboarding = realm.then(realm => keycloak.getWorkflow({
72
+ * realm: realm.id,
73
+ * name: "onboarding-new-users",
74
+ * }));
75
+ * ```
76
+ */
77
+ function getWorkflowOutput(args, opts) {
78
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
79
+ return pulumi.runtime.invokeOutput("keycloak:index/getWorkflow:getWorkflow", {
80
+ "name": args.name,
81
+ "realm": args.realm,
82
+ }, opts);
83
+ }
84
+ exports.getWorkflowOutput = getWorkflowOutput;
85
+ //# sourceMappingURL=getWorkflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkflow.js","sourceRoot":"","sources":["../getWorkflow.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,WAAW,CAAC,IAAqB,EAAE,IAA2B;IAC1E,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,wCAAwC,EAAE;QACnE,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI,CAAC,KAAK;KACtB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,kCAMC;AAiCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,iBAAiB,CAAC,IAA2B,EAAE,IAAiC;IAC5F,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,wCAAwC,EAAE;QACzE,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI,CAAC,KAAK;KACtB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,8CAMC"}
package/group.d.ts CHANGED
@@ -40,15 +40,44 @@ import * as pulumi from "@pulumi/pulumi";
40
40
  * });
41
41
  * ```
42
42
  *
43
+ * Organization groups can be managed by setting `organizationId`. Organization groups require Keycloak 26.6.0 or later.
44
+ *
45
+ * ```typescript
46
+ * import * as pulumi from "@pulumi/pulumi";
47
+ * import * as keycloak from "@pulumi/keycloak";
48
+ *
49
+ * const organization = new keycloak.Organization("organization", {
50
+ * realm: realm.id,
51
+ * name: "my-organization",
52
+ * domains: [{
53
+ * name: "example.com",
54
+ * }],
55
+ * });
56
+ * const organizationGroup = new keycloak.Group("organization_group", {
57
+ * realmId: realm.id,
58
+ * organizationId: organization.id,
59
+ * name: "organization-group",
60
+ * });
61
+ * const organizationChildGroup = new keycloak.Group("organization_child_group", {
62
+ * realmId: realm.id,
63
+ * organizationId: organization.id,
64
+ * parentId: organizationGroup.id,
65
+ * name: "organization-child-group",
66
+ * });
67
+ * ```
68
+ *
43
69
  * ## Import
44
70
  *
45
71
  * Groups can be imported using the format `{{realm_id}}/{{group_id}}`, where `groupId` is the unique ID that Keycloak
46
72
  * 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.
47
73
  *
74
+ * Organization groups can be imported using the format `{{realm_id}}/{{organization_id}}/{{group_id}}`.
75
+ *
48
76
  * Example:
49
77
  *
50
78
  * ```sh
51
79
  * $ pulumi import keycloak:index/group:Group child_group my-realm/934a4a4e-28bd-4703-a0fa-332df153aabd
80
+ * $ pulumi import keycloak:index/group:Group organization_group my-realm/9c9ef4b9-c4f2-4d17-ae03-0c6576df6c11/934a4a4e-28bd-4703-a0fa-332df153aabd
52
81
  * ```
53
82
  */
54
83
  export declare class Group extends pulumi.CustomResource {
@@ -78,6 +107,10 @@ export declare class Group extends pulumi.CustomResource {
78
107
  * The name of the group.
79
108
  */
80
109
  readonly name: pulumi.Output<string>;
110
+ /**
111
+ * The organization this group exists in. If omitted, this group will be managed as a realm group. Organization groups require Keycloak 26.6.0 or later.
112
+ */
113
+ readonly organizationId: pulumi.Output<string | undefined>;
81
114
  /**
82
115
  * The ID of this group's parent. If omitted, this group will be defined at the root level.
83
116
  */
@@ -114,6 +147,10 @@ export interface GroupState {
114
147
  * The name of the group.
115
148
  */
116
149
  name?: pulumi.Input<string | undefined>;
150
+ /**
151
+ * The organization this group exists in. If omitted, this group will be managed as a realm group. Organization groups require Keycloak 26.6.0 or later.
152
+ */
153
+ organizationId?: pulumi.Input<string | undefined>;
117
154
  /**
118
155
  * The ID of this group's parent. If omitted, this group will be defined at the root level.
119
156
  */
@@ -142,6 +179,10 @@ export interface GroupArgs {
142
179
  * The name of the group.
143
180
  */
144
181
  name?: pulumi.Input<string | undefined>;
182
+ /**
183
+ * The organization this group exists in. If omitted, this group will be managed as a realm group. Organization groups require Keycloak 26.6.0 or later.
184
+ */
185
+ organizationId?: pulumi.Input<string | undefined>;
145
186
  /**
146
187
  * The ID of this group's parent. If omitted, this group will be defined at the root level.
147
188
  */
package/group.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBAAa,KAAM,SAAQ,MAAM,CAAC,cAAc;IAC5C;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,KAAK;IAO5H;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,KAAK;IAOhD;;OAEG;IACH,SAAwB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC,CAAC;IACvF,SAAwB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvE;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAwB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE;;OAEG;IACH,SAAgC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D;;OAEG;IACH,SAAwB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvD;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CA2BjF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;KAAC,GAAG,SAAS,CAAC,CAAC;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;KAAC,GAAG,SAAS,CAAC,CAAC;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":"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"}
package/group.js CHANGED
@@ -69,15 +69,44 @@ const utilities = __importStar(require("./utilities"));
69
69
  * });
70
70
  * ```
71
71
  *
72
+ * Organization groups can be managed by setting `organizationId`. Organization groups require Keycloak 26.6.0 or later.
73
+ *
74
+ * ```typescript
75
+ * import * as pulumi from "@pulumi/pulumi";
76
+ * import * as keycloak from "@pulumi/keycloak";
77
+ *
78
+ * const organization = new keycloak.Organization("organization", {
79
+ * realm: realm.id,
80
+ * name: "my-organization",
81
+ * domains: [{
82
+ * name: "example.com",
83
+ * }],
84
+ * });
85
+ * const organizationGroup = new keycloak.Group("organization_group", {
86
+ * realmId: realm.id,
87
+ * organizationId: organization.id,
88
+ * name: "organization-group",
89
+ * });
90
+ * const organizationChildGroup = new keycloak.Group("organization_child_group", {
91
+ * realmId: realm.id,
92
+ * organizationId: organization.id,
93
+ * parentId: organizationGroup.id,
94
+ * name: "organization-child-group",
95
+ * });
96
+ * ```
97
+ *
72
98
  * ## Import
73
99
  *
74
100
  * Groups can be imported using the format `{{realm_id}}/{{group_id}}`, where `groupId` is the unique ID that Keycloak
75
101
  * 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.
76
102
  *
103
+ * Organization groups can be imported using the format `{{realm_id}}/{{organization_id}}/{{group_id}}`.
104
+ *
77
105
  * Example:
78
106
  *
79
107
  * ```sh
80
108
  * $ pulumi import keycloak:index/group:Group child_group my-realm/934a4a4e-28bd-4703-a0fa-332df153aabd
109
+ * $ pulumi import keycloak:index/group:Group organization_group my-realm/9c9ef4b9-c4f2-4d17-ae03-0c6576df6c11/934a4a4e-28bd-4703-a0fa-332df153aabd
81
110
  * ```
82
111
  */
83
112
  class Group extends pulumi.CustomResource {
@@ -113,6 +142,7 @@ class Group extends pulumi.CustomResource {
113
142
  resourceInputs["attributes"] = state?.attributes;
114
143
  resourceInputs["description"] = state?.description;
115
144
  resourceInputs["name"] = state?.name;
145
+ resourceInputs["organizationId"] = state?.organizationId;
116
146
  resourceInputs["parentId"] = state?.parentId;
117
147
  resourceInputs["path"] = state?.path;
118
148
  resourceInputs["realmId"] = state?.realmId;
@@ -125,6 +155,7 @@ class Group extends pulumi.CustomResource {
125
155
  resourceInputs["attributes"] = args?.attributes;
126
156
  resourceInputs["description"] = args?.description;
127
157
  resourceInputs["name"] = args?.name;
158
+ resourceInputs["organizationId"] = args?.organizationId;
128
159
  resourceInputs["parentId"] = args?.parentId;
129
160
  resourceInputs["realmId"] = args?.realmId;
130
161
  resourceInputs["path"] = undefined /*out*/;
package/group.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;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,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,4BAA4B,CAAC;IAEnE;;;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;IAgCD,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,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAoC,CAAC;YAClD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,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;;AAnFL,sBAoFC"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;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,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,4BAA4B,CAAC;IAEnE;;;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;IAoCD,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,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAoC,CAAC;YAClD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,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;;AAzFL,sBA0FC"}