@descope/pulumi-descope 0.3.4 → 0.3.13

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 (51) hide show
  1. package/accessKey.d.ts +197 -0
  2. package/accessKey.d.ts.map +1 -0
  3. package/accessKey.js +105 -0
  4. package/accessKey.js.map +1 -0
  5. package/config/index.d.ts +1 -0
  6. package/config/index.d.ts.map +1 -0
  7. package/config/vars.d.ts +1 -0
  8. package/config/vars.d.ts.map +1 -0
  9. package/config/vars.js +24 -1
  10. package/config/vars.js.map +1 -1
  11. package/descoper.d.ts +178 -0
  12. package/descoper.d.ts.map +1 -0
  13. package/descoper.js +175 -0
  14. package/descoper.js.map +1 -0
  15. package/engine.d.ts +77 -0
  16. package/engine.d.ts.map +1 -0
  17. package/engine.js +83 -0
  18. package/engine.js.map +1 -0
  19. package/inboundApp.d.ts +243 -0
  20. package/inboundApp.d.ts.map +1 -0
  21. package/inboundApp.js +109 -0
  22. package/inboundApp.js.map +1 -0
  23. package/index.d.ts +16 -0
  24. package/index.d.ts.map +1 -0
  25. package/index.js +42 -5
  26. package/index.js.map +1 -1
  27. package/managementKey.d.ts +189 -0
  28. package/managementKey.d.ts.map +1 -0
  29. package/managementKey.js +159 -0
  30. package/managementKey.js.map +1 -0
  31. package/package.json +4 -4
  32. package/project.d.ts +309 -30
  33. package/project.d.ts.map +1 -0
  34. package/project.js +295 -4
  35. package/project.js.map +1 -1
  36. package/provider.d.ts +4 -3
  37. package/provider.d.ts.map +1 -0
  38. package/provider.js +27 -4
  39. package/provider.js.map +1 -1
  40. package/types/index.d.ts +1 -0
  41. package/types/index.d.ts.map +1 -0
  42. package/types/index.js +25 -2
  43. package/types/index.js.map +1 -1
  44. package/types/input.d.ts +2541 -853
  45. package/types/input.d.ts.map +1 -0
  46. package/types/output.d.ts +1742 -54
  47. package/types/output.d.ts.map +1 -0
  48. package/utilities.d.ts +1 -0
  49. package/utilities.d.ts.map +1 -0
  50. package/utilities.js +24 -1
  51. package/utilities.js.map +1 -1
package/accessKey.d.ts ADDED
@@ -0,0 +1,197 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ export declare class AccessKey extends pulumi.CustomResource {
5
+ /**
6
+ * Get an existing AccessKey resource's state with the given name, ID, and optional extra
7
+ * properties used to qualify the lookup.
8
+ *
9
+ * @param name The _unique_ name of the resulting resource.
10
+ * @param id The _unique_ provider ID of the resource to lookup.
11
+ * @param state Any extra arguments used during the lookup.
12
+ * @param opts Optional settings to control the behavior of the CustomResource.
13
+ */
14
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AccessKeyState, opts?: pulumi.CustomResourceOptions): AccessKey;
15
+ /**
16
+ * Returns true if the given object is an instance of AccessKey. This is designed to work even
17
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
+ */
19
+ static isInstance(obj: any): obj is AccessKey;
20
+ /**
21
+ * The ID of a user to bind this access key to. When the key is exchanged for a session JWT, the session acts on behalf of the bound user. Changing this value after creation will require the access key to be replaced.
22
+ */
23
+ readonly boundUserId: pulumi.Output<string>;
24
+ /**
25
+ * The plaintext value of the access key. This is only available after the key is created and cannot be retrieved later. Store this value securely as it is required to exchange the key for a JWT.
26
+ */
27
+ readonly cleartext: pulumi.Output<string>;
28
+ readonly clientId: pulumi.Output<string>;
29
+ /**
30
+ * The ID of the user or management key that created the access key. This value is set by the server and is read-only.
31
+ */
32
+ readonly createdBy: pulumi.Output<string>;
33
+ /**
34
+ * The time the access key was created, as a Unix timestamp. This value is set by the server and is read-only.
35
+ */
36
+ readonly createdTime: pulumi.Output<number>;
37
+ /**
38
+ * A JSON-encoded object of custom attribute values for the access key. The attributes must be defined in the project's access key custom attribute schema.
39
+ */
40
+ readonly customAttributes: pulumi.Output<string>;
41
+ /**
42
+ * A JSON-encoded object of custom claims to add to the JWT created when the access key is exchanged.
43
+ */
44
+ readonly customClaims: pulumi.Output<string>;
45
+ /**
46
+ * A description for the access key.
47
+ */
48
+ readonly description: pulumi.Output<string>;
49
+ /**
50
+ * The expiration time of the access key as a Unix timestamp. If not set, the key will not expire. Changing this value after creation will require the access key to be replaced.
51
+ */
52
+ readonly expireTime: pulumi.Output<number>;
53
+ /**
54
+ * A name for the access key.
55
+ */
56
+ readonly name: pulumi.Output<string>;
57
+ /**
58
+ * A list of IP addresses or CIDR ranges that are allowed to use this access key. If not set, the key can be used from any IP address.
59
+ */
60
+ readonly permittedIps: pulumi.Output<string[]>;
61
+ /**
62
+ * The ID of the Descope project this access key belongs to. Changing this value will require the resource to be deleted and recreated.
63
+ */
64
+ readonly projectId: pulumi.Output<string>;
65
+ /**
66
+ * A list of project-level roles to grant to the access key. Cannot be used together with `tenants`.
67
+ */
68
+ readonly roles: pulumi.Output<string[]>;
69
+ /**
70
+ * The status of the access key. Must be either `active` or `inactive`. A new access key cannot be created with an `inactive` status.
71
+ */
72
+ readonly status: pulumi.Output<string>;
73
+ /**
74
+ * A list of tenants to associate with the access key, each with its own set of roles. Cannot be used together with `roles`.
75
+ */
76
+ readonly tenants: pulumi.Output<outputs.AccessKeyTenant[]>;
77
+ /**
78
+ * Create a AccessKey resource with the given unique name, arguments, and options.
79
+ *
80
+ * @param name The _unique_ name of the resource.
81
+ * @param args The arguments to use to populate this resource's properties.
82
+ * @param opts A bag of options that control this resource's behavior.
83
+ */
84
+ constructor(name: string, args: AccessKeyArgs, opts?: pulumi.CustomResourceOptions);
85
+ }
86
+ /**
87
+ * Input properties used for looking up and filtering AccessKey resources.
88
+ */
89
+ export interface AccessKeyState {
90
+ /**
91
+ * The ID of a user to bind this access key to. When the key is exchanged for a session JWT, the session acts on behalf of the bound user. Changing this value after creation will require the access key to be replaced.
92
+ */
93
+ boundUserId?: pulumi.Input<string | undefined>;
94
+ /**
95
+ * The plaintext value of the access key. This is only available after the key is created and cannot be retrieved later. Store this value securely as it is required to exchange the key for a JWT.
96
+ */
97
+ cleartext?: pulumi.Input<string | undefined>;
98
+ clientId?: pulumi.Input<string | undefined>;
99
+ /**
100
+ * The ID of the user or management key that created the access key. This value is set by the server and is read-only.
101
+ */
102
+ createdBy?: pulumi.Input<string | undefined>;
103
+ /**
104
+ * The time the access key was created, as a Unix timestamp. This value is set by the server and is read-only.
105
+ */
106
+ createdTime?: pulumi.Input<number | undefined>;
107
+ /**
108
+ * A JSON-encoded object of custom attribute values for the access key. The attributes must be defined in the project's access key custom attribute schema.
109
+ */
110
+ customAttributes?: pulumi.Input<string | undefined>;
111
+ /**
112
+ * A JSON-encoded object of custom claims to add to the JWT created when the access key is exchanged.
113
+ */
114
+ customClaims?: pulumi.Input<string | undefined>;
115
+ /**
116
+ * A description for the access key.
117
+ */
118
+ description?: pulumi.Input<string | undefined>;
119
+ /**
120
+ * The expiration time of the access key as a Unix timestamp. If not set, the key will not expire. Changing this value after creation will require the access key to be replaced.
121
+ */
122
+ expireTime?: pulumi.Input<number | undefined>;
123
+ /**
124
+ * A name for the access key.
125
+ */
126
+ name?: pulumi.Input<string | undefined>;
127
+ /**
128
+ * A list of IP addresses or CIDR ranges that are allowed to use this access key. If not set, the key can be used from any IP address.
129
+ */
130
+ permittedIps?: pulumi.Input<pulumi.Input<string>[] | undefined>;
131
+ /**
132
+ * The ID of the Descope project this access key belongs to. Changing this value will require the resource to be deleted and recreated.
133
+ */
134
+ projectId?: pulumi.Input<string | undefined>;
135
+ /**
136
+ * A list of project-level roles to grant to the access key. Cannot be used together with `tenants`.
137
+ */
138
+ roles?: pulumi.Input<pulumi.Input<string>[] | undefined>;
139
+ /**
140
+ * The status of the access key. Must be either `active` or `inactive`. A new access key cannot be created with an `inactive` status.
141
+ */
142
+ status?: pulumi.Input<string | undefined>;
143
+ /**
144
+ * A list of tenants to associate with the access key, each with its own set of roles. Cannot be used together with `roles`.
145
+ */
146
+ tenants?: pulumi.Input<pulumi.Input<inputs.AccessKeyTenant>[] | undefined>;
147
+ }
148
+ /**
149
+ * The set of arguments for constructing a AccessKey resource.
150
+ */
151
+ export interface AccessKeyArgs {
152
+ /**
153
+ * The ID of a user to bind this access key to. When the key is exchanged for a session JWT, the session acts on behalf of the bound user. Changing this value after creation will require the access key to be replaced.
154
+ */
155
+ boundUserId?: pulumi.Input<string | undefined>;
156
+ /**
157
+ * A JSON-encoded object of custom attribute values for the access key. The attributes must be defined in the project's access key custom attribute schema.
158
+ */
159
+ customAttributes?: pulumi.Input<string | undefined>;
160
+ /**
161
+ * A JSON-encoded object of custom claims to add to the JWT created when the access key is exchanged.
162
+ */
163
+ customClaims?: pulumi.Input<string | undefined>;
164
+ /**
165
+ * A description for the access key.
166
+ */
167
+ description?: pulumi.Input<string | undefined>;
168
+ /**
169
+ * The expiration time of the access key as a Unix timestamp. If not set, the key will not expire. Changing this value after creation will require the access key to be replaced.
170
+ */
171
+ expireTime?: pulumi.Input<number | undefined>;
172
+ /**
173
+ * A name for the access key.
174
+ */
175
+ name?: pulumi.Input<string | undefined>;
176
+ /**
177
+ * A list of IP addresses or CIDR ranges that are allowed to use this access key. If not set, the key can be used from any IP address.
178
+ */
179
+ permittedIps?: pulumi.Input<pulumi.Input<string>[] | undefined>;
180
+ /**
181
+ * The ID of the Descope project this access key belongs to. Changing this value will require the resource to be deleted and recreated.
182
+ */
183
+ projectId: pulumi.Input<string>;
184
+ /**
185
+ * A list of project-level roles to grant to the access key. Cannot be used together with `tenants`.
186
+ */
187
+ roles?: pulumi.Input<pulumi.Input<string>[] | undefined>;
188
+ /**
189
+ * The status of the access key. Must be either `active` or `inactive`. A new access key cannot be created with an `inactive` status.
190
+ */
191
+ status?: pulumi.Input<string | undefined>;
192
+ /**
193
+ * A list of tenants to associate with the access key, each with its own set of roles. Cannot be used together with `roles`.
194
+ */
195
+ tenants?: pulumi.Input<pulumi.Input<inputs.AccessKeyTenant>[] | undefined>;
196
+ }
197
+ //# sourceMappingURL=accessKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessKey.d.ts","sourceRoot":"","sources":["../accessKey.ts"],"names":[],"mappings":"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"}
package/accessKey.js ADDED
@@ -0,0 +1,105 @@
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.AccessKey = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ class AccessKey extends pulumi.CustomResource {
32
+ /**
33
+ * Get an existing AccessKey resource's state with the given name, ID, and optional extra
34
+ * properties used to qualify the lookup.
35
+ *
36
+ * @param name The _unique_ name of the resulting resource.
37
+ * @param id The _unique_ provider ID of the resource to lookup.
38
+ * @param state Any extra arguments used during the lookup.
39
+ * @param opts Optional settings to control the behavior of the CustomResource.
40
+ */
41
+ static get(name, id, state, opts) {
42
+ return new AccessKey(name, state, { ...opts, id: id });
43
+ }
44
+ /** @internal */
45
+ static __pulumiType = 'descope:index/accessKey:AccessKey';
46
+ /**
47
+ * Returns true if the given object is an instance of AccessKey. This is designed to work even
48
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
49
+ */
50
+ static isInstance(obj) {
51
+ if (obj === undefined || obj === null) {
52
+ return false;
53
+ }
54
+ return obj['__pulumiType'] === AccessKey.__pulumiType;
55
+ }
56
+ constructor(name, argsOrState, opts) {
57
+ let resourceInputs = {};
58
+ opts = opts || {};
59
+ if (opts.id) {
60
+ const state = argsOrState;
61
+ resourceInputs["boundUserId"] = state?.boundUserId;
62
+ resourceInputs["cleartext"] = state?.cleartext;
63
+ resourceInputs["clientId"] = state?.clientId;
64
+ resourceInputs["createdBy"] = state?.createdBy;
65
+ resourceInputs["createdTime"] = state?.createdTime;
66
+ resourceInputs["customAttributes"] = state?.customAttributes;
67
+ resourceInputs["customClaims"] = state?.customClaims;
68
+ resourceInputs["description"] = state?.description;
69
+ resourceInputs["expireTime"] = state?.expireTime;
70
+ resourceInputs["name"] = state?.name;
71
+ resourceInputs["permittedIps"] = state?.permittedIps;
72
+ resourceInputs["projectId"] = state?.projectId;
73
+ resourceInputs["roles"] = state?.roles;
74
+ resourceInputs["status"] = state?.status;
75
+ resourceInputs["tenants"] = state?.tenants;
76
+ }
77
+ else {
78
+ const args = argsOrState;
79
+ if (args?.projectId === undefined && !opts.urn) {
80
+ throw new Error("Missing required property 'projectId'");
81
+ }
82
+ resourceInputs["boundUserId"] = args?.boundUserId;
83
+ resourceInputs["customAttributes"] = args?.customAttributes;
84
+ resourceInputs["customClaims"] = args?.customClaims;
85
+ resourceInputs["description"] = args?.description;
86
+ resourceInputs["expireTime"] = args?.expireTime;
87
+ resourceInputs["name"] = args?.name;
88
+ resourceInputs["permittedIps"] = args?.permittedIps;
89
+ resourceInputs["projectId"] = args?.projectId;
90
+ resourceInputs["roles"] = args?.roles;
91
+ resourceInputs["status"] = args?.status;
92
+ resourceInputs["tenants"] = args?.tenants;
93
+ resourceInputs["cleartext"] = undefined /*out*/;
94
+ resourceInputs["clientId"] = undefined /*out*/;
95
+ resourceInputs["createdBy"] = undefined /*out*/;
96
+ resourceInputs["createdTime"] = undefined /*out*/;
97
+ }
98
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
99
+ const secretOpts = { additionalSecretOutputs: ["cleartext"] };
100
+ opts = pulumi.mergeOptions(opts, secretOpts);
101
+ super(AccessKey.__pulumiType, name, resourceInputs, opts);
102
+ }
103
+ }
104
+ exports.AccessKey = AccessKey;
105
+ //# sourceMappingURL=accessKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessKey.js","sourceRoot":"","sources":["../accessKey.ts"],"names":[],"mappings":"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"}
package/config/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from "./vars";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../config/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC"}
package/config/vars.d.ts CHANGED
@@ -7,3 +7,4 @@ export declare const baseUrl: string | undefined;
7
7
  */
8
8
  export declare const managementKey: string | undefined;
9
9
  export declare const projectId: string | undefined;
10
+ //# sourceMappingURL=vars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vars.d.ts","sourceRoot":"","sources":["../../config/vars.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;AAQjD;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,MAAM,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;AAQvD,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC"}
package/config/vars.js CHANGED
@@ -1,8 +1,31 @@
1
1
  "use strict";
2
2
  // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
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
+ };
4
27
  Object.defineProperty(exports, "__esModule", { value: true });
5
- const pulumi = require("@pulumi/pulumi");
28
+ const pulumi = __importStar(require("@pulumi/pulumi"));
6
29
  const __config = new pulumi.Config("descope");
7
30
  Object.defineProperty(exports, "baseUrl", {
8
31
  get() {
@@ -1 +1 @@
1
- {"version":3,"file":"vars.js","sourceRoot":"","sources":["../../config/vars.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;AAEjF,yCAAyC;AAIzC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAM9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE;IACtC,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE;IAC5C,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAGH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE;IACxC,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"vars.js","sourceRoot":"","sources":["../../config/vars.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAIzC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAM9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE;IACtC,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE;IAC5C,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC;AAGH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE;IACxC,GAAG;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,UAAU,EAAE,IAAI;CACnB,CAAC,CAAC"}
package/descoper.d.ts ADDED
@@ -0,0 +1,178 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Manages a Descope console user and their access control settings. Console users (referred to as "Descopers") are team members who access the [Descope console](https://app.descope.com) to manage projects.
6
+ *
7
+ * Access is controlled via RBAC, where each Descoper can be granted one of four roles:
8
+ * - `admin` – Full access to project settings
9
+ * - `developer` – Can edit flows and configurations
10
+ * - `support` – Can view user data and audit logs
11
+ * - `auditor` – Read-only access to audit logs
12
+ *
13
+ * Roles can be scoped to the entire company, to specific projects by ID, or to all projects with a given tag.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ### Company Admin
18
+ *
19
+ * ```typescript
20
+ * import * as pulumi from "@pulumi/pulumi";
21
+ * import * as descope from "@descope/pulumi-descope";
22
+ *
23
+ * const admin = new descope.Descoper("admin", {
24
+ * email: "admin@example.com",
25
+ * name: "Alice Admin",
26
+ * rbac: {
27
+ * isCompanyAdmin: true,
28
+ * },
29
+ * });
30
+ * ```
31
+ *
32
+ * ### Developer for Specific Projects
33
+ *
34
+ * ```typescript
35
+ * import * as pulumi from "@pulumi/pulumi";
36
+ * import * as descope from "@descope/pulumi-descope";
37
+ *
38
+ * const developer = new descope.Descoper("developer", {
39
+ * email: "dev@example.com",
40
+ * name: "Bob Dev",
41
+ * rbac: {
42
+ * projectRoles: [{
43
+ * role: "developer",
44
+ * projectIds: [
45
+ * "P123abc",
46
+ * "P456def",
47
+ * ],
48
+ * }],
49
+ * },
50
+ * });
51
+ * ```
52
+ *
53
+ * ### Support Access via Project Tags
54
+ *
55
+ * Grant a support engineer access to all projects tagged `production`:
56
+ *
57
+ * ```typescript
58
+ * import * as pulumi from "@pulumi/pulumi";
59
+ * import * as descope from "@descope/pulumi-descope";
60
+ *
61
+ * const support = new descope.Descoper("support", {
62
+ * email: "support@example.com",
63
+ * rbac: {
64
+ * tagRoles: [{
65
+ * role: "support",
66
+ * tags: ["production"],
67
+ * }],
68
+ * },
69
+ * });
70
+ * ```
71
+ *
72
+ * ### Multi-Role Access
73
+ *
74
+ * ```typescript
75
+ * import * as pulumi from "@pulumi/pulumi";
76
+ * import * as descope from "@descope/pulumi-descope";
77
+ *
78
+ * const multiRole = new descope.Descoper("multi_role", {
79
+ * email: "lead@example.com",
80
+ * rbac: {
81
+ * projectRoles: [
82
+ * {
83
+ * role: "admin",
84
+ * projectIds: ["P123abc"],
85
+ * },
86
+ * {
87
+ * role: "developer",
88
+ * projectIds: ["P789ghi"],
89
+ * },
90
+ * ],
91
+ * },
92
+ * });
93
+ * ```
94
+ */
95
+ export declare class Descoper extends pulumi.CustomResource {
96
+ /**
97
+ * Get an existing Descoper resource's state with the given name, ID, and optional extra
98
+ * properties used to qualify the lookup.
99
+ *
100
+ * @param name The _unique_ name of the resulting resource.
101
+ * @param id The _unique_ provider ID of the resource to lookup.
102
+ * @param state Any extra arguments used during the lookup.
103
+ * @param opts Optional settings to control the behavior of the CustomResource.
104
+ */
105
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DescoperState, opts?: pulumi.CustomResourceOptions): Descoper;
106
+ /**
107
+ * Returns true if the given object is an instance of Descoper. This is designed to work even
108
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
109
+ */
110
+ static isInstance(obj: any): obj is Descoper;
111
+ /**
112
+ * The email address of the Descope console user.
113
+ */
114
+ readonly email: pulumi.Output<string>;
115
+ /**
116
+ * The display name of the Descope console user.
117
+ */
118
+ readonly name: pulumi.Output<string>;
119
+ /**
120
+ * The phone number of the Descope console user.
121
+ */
122
+ readonly phone: pulumi.Output<string>;
123
+ /**
124
+ * Access control settings for the Descope console user. This defines the permissions granted to the user, either as a company admin or for specific projects or project tags.
125
+ */
126
+ readonly rbac: pulumi.Output<outputs.DescoperRbac>;
127
+ /**
128
+ * Create a Descoper resource with the given unique name, arguments, and options.
129
+ *
130
+ * @param name The _unique_ name of the resource.
131
+ * @param args The arguments to use to populate this resource's properties.
132
+ * @param opts A bag of options that control this resource's behavior.
133
+ */
134
+ constructor(name: string, args: DescoperArgs, opts?: pulumi.CustomResourceOptions);
135
+ }
136
+ /**
137
+ * Input properties used for looking up and filtering Descoper resources.
138
+ */
139
+ export interface DescoperState {
140
+ /**
141
+ * The email address of the Descope console user.
142
+ */
143
+ email?: pulumi.Input<string | undefined>;
144
+ /**
145
+ * The display name of the Descope console user.
146
+ */
147
+ name?: pulumi.Input<string | undefined>;
148
+ /**
149
+ * The phone number of the Descope console user.
150
+ */
151
+ phone?: pulumi.Input<string | undefined>;
152
+ /**
153
+ * Access control settings for the Descope console user. This defines the permissions granted to the user, either as a company admin or for specific projects or project tags.
154
+ */
155
+ rbac?: pulumi.Input<inputs.DescoperRbac | undefined>;
156
+ }
157
+ /**
158
+ * The set of arguments for constructing a Descoper resource.
159
+ */
160
+ export interface DescoperArgs {
161
+ /**
162
+ * The email address of the Descope console user.
163
+ */
164
+ email: pulumi.Input<string>;
165
+ /**
166
+ * The display name of the Descope console user.
167
+ */
168
+ name?: pulumi.Input<string | undefined>;
169
+ /**
170
+ * The phone number of the Descope console user.
171
+ */
172
+ phone?: pulumi.Input<string | undefined>;
173
+ /**
174
+ * Access control settings for the Descope console user. This defines the permissions granted to the user, either as a company admin or for specific projects or project tags.
175
+ */
176
+ rbac: pulumi.Input<inputs.DescoperRbac>;
177
+ }
178
+ //# sourceMappingURL=descoper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descoper.d.ts","sourceRoot":"","sources":["../descoper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,qBAAa,QAAS,SAAQ,MAAM,CAAC,cAAc;IAC/C;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,QAAQ;IAOlI;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ;IAOnD;;OAEG;IACH,SAAwB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAwB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CA0BpF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;CAC3C"}