@mstuercke/pulumi-modules 1.2.4 → 1.4.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.
- package/dist/clerk/Clerk.d.ts +27 -0
- package/dist/clerk/Clerk.js +95 -0
- package/dist/clerk/index.d.ts +5 -0
- package/dist/clerk/index.js +5 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +3 -0
- package/package.json +21 -5
- package/sdks/clerk/.gitattributes +1 -0
- package/sdks/clerk/README.md +3 -0
- package/sdks/clerk/allowlistIdentifier.ts +121 -0
- package/sdks/clerk/apiKey.ts +254 -0
- package/sdks/clerk/application.ts +182 -0
- package/sdks/clerk/applicationSettings.ts +171 -0
- package/sdks/clerk/blocklistIdentifier.ts +114 -0
- package/sdks/clerk/config/index.ts +5 -0
- package/sdks/clerk/config/vars.ts +34 -0
- package/sdks/clerk/domain.ts +154 -0
- package/sdks/clerk/getApplication.ts +42 -0
- package/sdks/clerk/index.ts +213 -0
- package/sdks/clerk/instanceConfig.ts +128 -0
- package/sdks/clerk/instanceDomain.ts +129 -0
- package/sdks/clerk/jwtTemplate.ts +190 -0
- package/sdks/clerk/machine.ts +127 -0
- package/sdks/clerk/oauthApplication.ts +228 -0
- package/sdks/clerk/organization.ts +190 -0
- package/sdks/clerk/organizationDomain.ts +166 -0
- package/sdks/clerk/organizationMembership.ts +148 -0
- package/sdks/clerk/organizationPermission.ts +142 -0
- package/sdks/clerk/organizationRole.ts +156 -0
- package/sdks/clerk/package.json +26 -0
- package/sdks/clerk/provider.ts +76 -0
- package/sdks/clerk/redirectUrl.ts +104 -0
- package/sdks/clerk/roleSet.ts +197 -0
- package/sdks/clerk/samlConnection.ts +361 -0
- package/sdks/clerk/scripts/postinstall.js +20 -0
- package/sdks/clerk/svixWebhook.ts +77 -0
- package/sdks/clerk/tsconfig.json +53 -0
- package/sdks/clerk/types/index.ts +13 -0
- package/sdks/clerk/types/input.ts +59 -0
- package/sdks/clerk/types/output.ts +79 -0
- package/sdks/clerk/user.ts +458 -0
- package/sdks/clerk/utilities.ts +107 -0
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
2
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
3
|
+
|
|
4
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
5
|
+
import * as inputs from "./types/input";
|
|
6
|
+
import * as outputs from "./types/output";
|
|
7
|
+
import * as utilities from "./utilities";
|
|
8
|
+
|
|
9
|
+
export class SamlConnection extends pulumi.CustomResource {
|
|
10
|
+
/**
|
|
11
|
+
* Get an existing SamlConnection resource's state with the given name, ID, and optional extra
|
|
12
|
+
* properties used to qualify the lookup.
|
|
13
|
+
*
|
|
14
|
+
* @param name The _unique_ name of the resulting resource.
|
|
15
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
16
|
+
* @param state Any extra arguments used during the lookup.
|
|
17
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
18
|
+
*/
|
|
19
|
+
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SamlConnectionState, opts?: pulumi.CustomResourceOptions): SamlConnection {
|
|
20
|
+
return new SamlConnection(name, <any>state, { ...opts, id: id });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
public static readonly __pulumiType = 'clerk:index/samlConnection:SamlConnection';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Returns true if the given object is an instance of SamlConnection. This is designed to work even
|
|
28
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
29
|
+
*/
|
|
30
|
+
public static isInstance(obj: any): obj is SamlConnection {
|
|
31
|
+
if (obj === undefined || obj === null) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return obj['__pulumiType'] === SamlConnection.__pulumiType;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Assertion Consumer Service URL.
|
|
39
|
+
*/
|
|
40
|
+
declare public /*out*/ readonly acsUrl: pulumi.Output<string>;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the SAML connection is active.
|
|
43
|
+
*/
|
|
44
|
+
declare public readonly active: pulumi.Output<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Whether to allow IdP-initiated SSO.
|
|
47
|
+
*/
|
|
48
|
+
declare public readonly allowIdpInitiated: pulumi.Output<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* Whether to allow subdomains.
|
|
51
|
+
*/
|
|
52
|
+
declare public readonly allowSubdomains: pulumi.Output<boolean>;
|
|
53
|
+
/**
|
|
54
|
+
* Mapping of SAML attributes to Clerk user fields.
|
|
55
|
+
*/
|
|
56
|
+
declare public readonly attributeMapping: pulumi.Output<outputs.SamlConnectionAttributeMapping | undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* Timestamp when the SAML connection was created.
|
|
59
|
+
*/
|
|
60
|
+
declare public /*out*/ readonly createdAt: pulumi.Output<string>;
|
|
61
|
+
/**
|
|
62
|
+
* Whether to disable additional identifications.
|
|
63
|
+
*/
|
|
64
|
+
declare public readonly disableAdditionalIdentifications: pulumi.Output<boolean>;
|
|
65
|
+
/**
|
|
66
|
+
* Domain for the SAML connection.
|
|
67
|
+
*/
|
|
68
|
+
declare public readonly domain: pulumi.Output<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Whether to force authentication on every sign-in.
|
|
71
|
+
*/
|
|
72
|
+
declare public readonly forceAuthn: pulumi.Output<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* X.509 certificate of the identity provider.
|
|
75
|
+
*/
|
|
76
|
+
declare public readonly idpCertificate: pulumi.Output<string | undefined>;
|
|
77
|
+
/**
|
|
78
|
+
* Entity ID of the identity provider.
|
|
79
|
+
*/
|
|
80
|
+
declare public readonly idpEntityId: pulumi.Output<string | undefined>;
|
|
81
|
+
/**
|
|
82
|
+
* Raw metadata XML of the identity provider.
|
|
83
|
+
*/
|
|
84
|
+
declare public readonly idpMetadata: pulumi.Output<string | undefined>;
|
|
85
|
+
/**
|
|
86
|
+
* Metadata URL of the identity provider.
|
|
87
|
+
*/
|
|
88
|
+
declare public readonly idpMetadataUrl: pulumi.Output<string | undefined>;
|
|
89
|
+
/**
|
|
90
|
+
* Single sign-on URL of the identity provider.
|
|
91
|
+
*/
|
|
92
|
+
declare public readonly idpSsoUrl: pulumi.Output<string | undefined>;
|
|
93
|
+
/**
|
|
94
|
+
* Name of the SAML connection.
|
|
95
|
+
*/
|
|
96
|
+
declare public readonly name: pulumi.Output<string>;
|
|
97
|
+
/**
|
|
98
|
+
* Organization ID to associate with this SAML connection.
|
|
99
|
+
*/
|
|
100
|
+
declare public readonly organizationId: pulumi.Output<string | undefined>;
|
|
101
|
+
/**
|
|
102
|
+
* SAML provider type (e.g. saml_custom, saml_okta, saml_google). Cannot be changed after creation.
|
|
103
|
+
*/
|
|
104
|
+
declare public readonly providerType: pulumi.Output<string>;
|
|
105
|
+
/**
|
|
106
|
+
* Service Provider entity ID.
|
|
107
|
+
*/
|
|
108
|
+
declare public /*out*/ readonly spEntityId: pulumi.Output<string>;
|
|
109
|
+
/**
|
|
110
|
+
* Service Provider metadata URL.
|
|
111
|
+
*/
|
|
112
|
+
declare public /*out*/ readonly spMetadataUrl: pulumi.Output<string>;
|
|
113
|
+
/**
|
|
114
|
+
* Whether to sync user attributes from the identity provider.
|
|
115
|
+
*/
|
|
116
|
+
declare public readonly syncUserAttributes: pulumi.Output<boolean>;
|
|
117
|
+
/**
|
|
118
|
+
* Timestamp when the SAML connection was last updated.
|
|
119
|
+
*/
|
|
120
|
+
declare public /*out*/ readonly updatedAt: pulumi.Output<string>;
|
|
121
|
+
/**
|
|
122
|
+
* Number of users associated with this SAML connection.
|
|
123
|
+
*/
|
|
124
|
+
declare public /*out*/ readonly userCount: pulumi.Output<number>;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Create a SamlConnection resource with the given unique name, arguments, and options.
|
|
128
|
+
*
|
|
129
|
+
* @param name The _unique_ name of the resource.
|
|
130
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
131
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
132
|
+
*/
|
|
133
|
+
constructor(name: string, args: SamlConnectionArgs, opts?: pulumi.CustomResourceOptions)
|
|
134
|
+
constructor(name: string, argsOrState?: SamlConnectionArgs | SamlConnectionState, opts?: pulumi.CustomResourceOptions) {
|
|
135
|
+
let resourceInputs: pulumi.Inputs = {};
|
|
136
|
+
opts = opts || {};
|
|
137
|
+
if (opts.id) {
|
|
138
|
+
const state = argsOrState as SamlConnectionState | undefined;
|
|
139
|
+
resourceInputs["acsUrl"] = state?.acsUrl;
|
|
140
|
+
resourceInputs["active"] = state?.active;
|
|
141
|
+
resourceInputs["allowIdpInitiated"] = state?.allowIdpInitiated;
|
|
142
|
+
resourceInputs["allowSubdomains"] = state?.allowSubdomains;
|
|
143
|
+
resourceInputs["attributeMapping"] = state?.attributeMapping;
|
|
144
|
+
resourceInputs["createdAt"] = state?.createdAt;
|
|
145
|
+
resourceInputs["disableAdditionalIdentifications"] = state?.disableAdditionalIdentifications;
|
|
146
|
+
resourceInputs["domain"] = state?.domain;
|
|
147
|
+
resourceInputs["forceAuthn"] = state?.forceAuthn;
|
|
148
|
+
resourceInputs["idpCertificate"] = state?.idpCertificate;
|
|
149
|
+
resourceInputs["idpEntityId"] = state?.idpEntityId;
|
|
150
|
+
resourceInputs["idpMetadata"] = state?.idpMetadata;
|
|
151
|
+
resourceInputs["idpMetadataUrl"] = state?.idpMetadataUrl;
|
|
152
|
+
resourceInputs["idpSsoUrl"] = state?.idpSsoUrl;
|
|
153
|
+
resourceInputs["name"] = state?.name;
|
|
154
|
+
resourceInputs["organizationId"] = state?.organizationId;
|
|
155
|
+
resourceInputs["providerType"] = state?.providerType;
|
|
156
|
+
resourceInputs["spEntityId"] = state?.spEntityId;
|
|
157
|
+
resourceInputs["spMetadataUrl"] = state?.spMetadataUrl;
|
|
158
|
+
resourceInputs["syncUserAttributes"] = state?.syncUserAttributes;
|
|
159
|
+
resourceInputs["updatedAt"] = state?.updatedAt;
|
|
160
|
+
resourceInputs["userCount"] = state?.userCount;
|
|
161
|
+
} else {
|
|
162
|
+
const args = argsOrState as SamlConnectionArgs | undefined;
|
|
163
|
+
if (args?.domain === undefined && !opts.urn) {
|
|
164
|
+
throw new Error("Missing required property 'domain'");
|
|
165
|
+
}
|
|
166
|
+
if (args?.providerType === undefined && !opts.urn) {
|
|
167
|
+
throw new Error("Missing required property 'providerType'");
|
|
168
|
+
}
|
|
169
|
+
resourceInputs["active"] = args?.active;
|
|
170
|
+
resourceInputs["allowIdpInitiated"] = args?.allowIdpInitiated;
|
|
171
|
+
resourceInputs["allowSubdomains"] = args?.allowSubdomains;
|
|
172
|
+
resourceInputs["attributeMapping"] = args?.attributeMapping;
|
|
173
|
+
resourceInputs["disableAdditionalIdentifications"] = args?.disableAdditionalIdentifications;
|
|
174
|
+
resourceInputs["domain"] = args?.domain;
|
|
175
|
+
resourceInputs["forceAuthn"] = args?.forceAuthn;
|
|
176
|
+
resourceInputs["idpCertificate"] = args?.idpCertificate ? pulumi.secret(args.idpCertificate) : undefined;
|
|
177
|
+
resourceInputs["idpEntityId"] = args?.idpEntityId;
|
|
178
|
+
resourceInputs["idpMetadata"] = args?.idpMetadata;
|
|
179
|
+
resourceInputs["idpMetadataUrl"] = args?.idpMetadataUrl;
|
|
180
|
+
resourceInputs["idpSsoUrl"] = args?.idpSsoUrl;
|
|
181
|
+
resourceInputs["name"] = args?.name;
|
|
182
|
+
resourceInputs["organizationId"] = args?.organizationId;
|
|
183
|
+
resourceInputs["providerType"] = args?.providerType;
|
|
184
|
+
resourceInputs["syncUserAttributes"] = args?.syncUserAttributes;
|
|
185
|
+
resourceInputs["acsUrl"] = undefined /*out*/;
|
|
186
|
+
resourceInputs["createdAt"] = undefined /*out*/;
|
|
187
|
+
resourceInputs["spEntityId"] = undefined /*out*/;
|
|
188
|
+
resourceInputs["spMetadataUrl"] = undefined /*out*/;
|
|
189
|
+
resourceInputs["updatedAt"] = undefined /*out*/;
|
|
190
|
+
resourceInputs["userCount"] = undefined /*out*/;
|
|
191
|
+
}
|
|
192
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
193
|
+
const secretOpts = { additionalSecretOutputs: ["idpCertificate"] };
|
|
194
|
+
opts = pulumi.mergeOptions(opts, secretOpts);
|
|
195
|
+
super(SamlConnection.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage());
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Input properties used for looking up and filtering SamlConnection resources.
|
|
201
|
+
*/
|
|
202
|
+
export interface SamlConnectionState {
|
|
203
|
+
/**
|
|
204
|
+
* Assertion Consumer Service URL.
|
|
205
|
+
*/
|
|
206
|
+
acsUrl?: pulumi.Input<string | undefined>;
|
|
207
|
+
/**
|
|
208
|
+
* Whether the SAML connection is active.
|
|
209
|
+
*/
|
|
210
|
+
active?: pulumi.Input<boolean | undefined>;
|
|
211
|
+
/**
|
|
212
|
+
* Whether to allow IdP-initiated SSO.
|
|
213
|
+
*/
|
|
214
|
+
allowIdpInitiated?: pulumi.Input<boolean | undefined>;
|
|
215
|
+
/**
|
|
216
|
+
* Whether to allow subdomains.
|
|
217
|
+
*/
|
|
218
|
+
allowSubdomains?: pulumi.Input<boolean | undefined>;
|
|
219
|
+
/**
|
|
220
|
+
* Mapping of SAML attributes to Clerk user fields.
|
|
221
|
+
*/
|
|
222
|
+
attributeMapping?: pulumi.Input<inputs.SamlConnectionAttributeMapping | undefined>;
|
|
223
|
+
/**
|
|
224
|
+
* Timestamp when the SAML connection was created.
|
|
225
|
+
*/
|
|
226
|
+
createdAt?: pulumi.Input<string | undefined>;
|
|
227
|
+
/**
|
|
228
|
+
* Whether to disable additional identifications.
|
|
229
|
+
*/
|
|
230
|
+
disableAdditionalIdentifications?: pulumi.Input<boolean | undefined>;
|
|
231
|
+
/**
|
|
232
|
+
* Domain for the SAML connection.
|
|
233
|
+
*/
|
|
234
|
+
domain?: pulumi.Input<string | undefined>;
|
|
235
|
+
/**
|
|
236
|
+
* Whether to force authentication on every sign-in.
|
|
237
|
+
*/
|
|
238
|
+
forceAuthn?: pulumi.Input<boolean | undefined>;
|
|
239
|
+
/**
|
|
240
|
+
* X.509 certificate of the identity provider.
|
|
241
|
+
*/
|
|
242
|
+
idpCertificate?: pulumi.Input<string | undefined>;
|
|
243
|
+
/**
|
|
244
|
+
* Entity ID of the identity provider.
|
|
245
|
+
*/
|
|
246
|
+
idpEntityId?: pulumi.Input<string | undefined>;
|
|
247
|
+
/**
|
|
248
|
+
* Raw metadata XML of the identity provider.
|
|
249
|
+
*/
|
|
250
|
+
idpMetadata?: pulumi.Input<string | undefined>;
|
|
251
|
+
/**
|
|
252
|
+
* Metadata URL of the identity provider.
|
|
253
|
+
*/
|
|
254
|
+
idpMetadataUrl?: pulumi.Input<string | undefined>;
|
|
255
|
+
/**
|
|
256
|
+
* Single sign-on URL of the identity provider.
|
|
257
|
+
*/
|
|
258
|
+
idpSsoUrl?: pulumi.Input<string | undefined>;
|
|
259
|
+
/**
|
|
260
|
+
* Name of the SAML connection.
|
|
261
|
+
*/
|
|
262
|
+
name?: pulumi.Input<string | undefined>;
|
|
263
|
+
/**
|
|
264
|
+
* Organization ID to associate with this SAML connection.
|
|
265
|
+
*/
|
|
266
|
+
organizationId?: pulumi.Input<string | undefined>;
|
|
267
|
+
/**
|
|
268
|
+
* SAML provider type (e.g. saml_custom, saml_okta, saml_google). Cannot be changed after creation.
|
|
269
|
+
*/
|
|
270
|
+
providerType?: pulumi.Input<string | undefined>;
|
|
271
|
+
/**
|
|
272
|
+
* Service Provider entity ID.
|
|
273
|
+
*/
|
|
274
|
+
spEntityId?: pulumi.Input<string | undefined>;
|
|
275
|
+
/**
|
|
276
|
+
* Service Provider metadata URL.
|
|
277
|
+
*/
|
|
278
|
+
spMetadataUrl?: pulumi.Input<string | undefined>;
|
|
279
|
+
/**
|
|
280
|
+
* Whether to sync user attributes from the identity provider.
|
|
281
|
+
*/
|
|
282
|
+
syncUserAttributes?: pulumi.Input<boolean | undefined>;
|
|
283
|
+
/**
|
|
284
|
+
* Timestamp when the SAML connection was last updated.
|
|
285
|
+
*/
|
|
286
|
+
updatedAt?: pulumi.Input<string | undefined>;
|
|
287
|
+
/**
|
|
288
|
+
* Number of users associated with this SAML connection.
|
|
289
|
+
*/
|
|
290
|
+
userCount?: pulumi.Input<number | undefined>;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* The set of arguments for constructing a SamlConnection resource.
|
|
295
|
+
*/
|
|
296
|
+
export interface SamlConnectionArgs {
|
|
297
|
+
/**
|
|
298
|
+
* Whether the SAML connection is active.
|
|
299
|
+
*/
|
|
300
|
+
active?: pulumi.Input<boolean | undefined>;
|
|
301
|
+
/**
|
|
302
|
+
* Whether to allow IdP-initiated SSO.
|
|
303
|
+
*/
|
|
304
|
+
allowIdpInitiated?: pulumi.Input<boolean | undefined>;
|
|
305
|
+
/**
|
|
306
|
+
* Whether to allow subdomains.
|
|
307
|
+
*/
|
|
308
|
+
allowSubdomains?: pulumi.Input<boolean | undefined>;
|
|
309
|
+
/**
|
|
310
|
+
* Mapping of SAML attributes to Clerk user fields.
|
|
311
|
+
*/
|
|
312
|
+
attributeMapping?: pulumi.Input<inputs.SamlConnectionAttributeMapping | undefined>;
|
|
313
|
+
/**
|
|
314
|
+
* Whether to disable additional identifications.
|
|
315
|
+
*/
|
|
316
|
+
disableAdditionalIdentifications?: pulumi.Input<boolean | undefined>;
|
|
317
|
+
/**
|
|
318
|
+
* Domain for the SAML connection.
|
|
319
|
+
*/
|
|
320
|
+
domain: pulumi.Input<string>;
|
|
321
|
+
/**
|
|
322
|
+
* Whether to force authentication on every sign-in.
|
|
323
|
+
*/
|
|
324
|
+
forceAuthn?: pulumi.Input<boolean | undefined>;
|
|
325
|
+
/**
|
|
326
|
+
* X.509 certificate of the identity provider.
|
|
327
|
+
*/
|
|
328
|
+
idpCertificate?: pulumi.Input<string | undefined>;
|
|
329
|
+
/**
|
|
330
|
+
* Entity ID of the identity provider.
|
|
331
|
+
*/
|
|
332
|
+
idpEntityId?: pulumi.Input<string | undefined>;
|
|
333
|
+
/**
|
|
334
|
+
* Raw metadata XML of the identity provider.
|
|
335
|
+
*/
|
|
336
|
+
idpMetadata?: pulumi.Input<string | undefined>;
|
|
337
|
+
/**
|
|
338
|
+
* Metadata URL of the identity provider.
|
|
339
|
+
*/
|
|
340
|
+
idpMetadataUrl?: pulumi.Input<string | undefined>;
|
|
341
|
+
/**
|
|
342
|
+
* Single sign-on URL of the identity provider.
|
|
343
|
+
*/
|
|
344
|
+
idpSsoUrl?: pulumi.Input<string | undefined>;
|
|
345
|
+
/**
|
|
346
|
+
* Name of the SAML connection.
|
|
347
|
+
*/
|
|
348
|
+
name?: pulumi.Input<string | undefined>;
|
|
349
|
+
/**
|
|
350
|
+
* Organization ID to associate with this SAML connection.
|
|
351
|
+
*/
|
|
352
|
+
organizationId?: pulumi.Input<string | undefined>;
|
|
353
|
+
/**
|
|
354
|
+
* SAML provider type (e.g. saml_custom, saml_okta, saml_google). Cannot be changed after creation.
|
|
355
|
+
*/
|
|
356
|
+
providerType: pulumi.Input<string>;
|
|
357
|
+
/**
|
|
358
|
+
* Whether to sync user attributes from the identity provider.
|
|
359
|
+
*/
|
|
360
|
+
syncUserAttributes?: pulumi.Input<boolean | undefined>;
|
|
361
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const fs = require("node:fs");
|
|
2
|
+
const path = require("node:path");
|
|
3
|
+
const process = require("node:process");
|
|
4
|
+
const { execSync } = require('node:child_process');
|
|
5
|
+
// We want to run "tsc --types node --types something-else ..." for each @types package.
|
|
6
|
+
const packageJSON = JSON.parse(fs.readFileSync("package.json") ?? "{}");
|
|
7
|
+
const deps = Object.keys(packageJSON.dependencies ?? []).concat(Object.keys(packageJSON.devDependencies ?? []));
|
|
8
|
+
const types = deps.filter(d => d.startsWith("@types/")).map(d => d.slice("@types/".length)).join(",");
|
|
9
|
+
const typesFlag = types.length > 0 ? " --types " + types : "";
|
|
10
|
+
try {
|
|
11
|
+
execSync("tsc"+typesFlag, { cwd: path.join(__dirname, "..") });
|
|
12
|
+
} catch (error) {
|
|
13
|
+
console.error("Failed to run 'tsc'", {
|
|
14
|
+
stdout: error.stdout.toString(),
|
|
15
|
+
stderr: error.stderr.toString(),
|
|
16
|
+
});
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
// TypeScript is compiled to "./bin", copy package.json to that directory so it can be read in "getVersion".
|
|
20
|
+
fs.copyFileSync(path.join(__dirname, "..", "package.json"), path.join(__dirname, "..", "bin", "package.json"));
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
2
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
3
|
+
|
|
4
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
5
|
+
import * as utilities from "./utilities";
|
|
6
|
+
|
|
7
|
+
export class SvixWebhook extends pulumi.CustomResource {
|
|
8
|
+
/**
|
|
9
|
+
* Get an existing SvixWebhook resource's state with the given name, ID, and optional extra
|
|
10
|
+
* properties used to qualify the lookup.
|
|
11
|
+
*
|
|
12
|
+
* @param name The _unique_ name of the resulting resource.
|
|
13
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
14
|
+
* @param state Any extra arguments used during the lookup.
|
|
15
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
16
|
+
*/
|
|
17
|
+
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SvixWebhookState, opts?: pulumi.CustomResourceOptions): SvixWebhook {
|
|
18
|
+
return new SvixWebhook(name, <any>state, { ...opts, id: id });
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** @internal */
|
|
22
|
+
public static readonly __pulumiType = 'clerk:index/svixWebhook:SvixWebhook';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Returns true if the given object is an instance of SvixWebhook. This is designed to work even
|
|
26
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
27
|
+
*/
|
|
28
|
+
public static isInstance(obj: any): obj is SvixWebhook {
|
|
29
|
+
if (obj === undefined || obj === null) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return obj['__pulumiType'] === SvixWebhook.__pulumiType;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The Svix dashboard URL for managing webhooks.
|
|
37
|
+
*/
|
|
38
|
+
declare public /*out*/ readonly svixUrl: pulumi.Output<string>;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Create a SvixWebhook resource with the given unique name, arguments, and options.
|
|
42
|
+
*
|
|
43
|
+
* @param name The _unique_ name of the resource.
|
|
44
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
45
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
46
|
+
*/
|
|
47
|
+
constructor(name: string, args?: SvixWebhookArgs, opts?: pulumi.CustomResourceOptions)
|
|
48
|
+
constructor(name: string, argsOrState?: SvixWebhookArgs | SvixWebhookState, opts?: pulumi.CustomResourceOptions) {
|
|
49
|
+
let resourceInputs: pulumi.Inputs = {};
|
|
50
|
+
opts = opts || {};
|
|
51
|
+
if (opts.id) {
|
|
52
|
+
const state = argsOrState as SvixWebhookState | undefined;
|
|
53
|
+
resourceInputs["svixUrl"] = state?.svixUrl;
|
|
54
|
+
} else {
|
|
55
|
+
const args = argsOrState as SvixWebhookArgs | undefined;
|
|
56
|
+
resourceInputs["svixUrl"] = undefined /*out*/;
|
|
57
|
+
}
|
|
58
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
59
|
+
super(SvixWebhook.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage());
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Input properties used for looking up and filtering SvixWebhook resources.
|
|
65
|
+
*/
|
|
66
|
+
export interface SvixWebhookState {
|
|
67
|
+
/**
|
|
68
|
+
* The Svix dashboard URL for managing webhooks.
|
|
69
|
+
*/
|
|
70
|
+
svixUrl?: pulumi.Input<string | undefined>;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The set of arguments for constructing a SvixWebhook resource.
|
|
75
|
+
*/
|
|
76
|
+
export interface SvixWebhookArgs {
|
|
77
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
// Output
|
|
4
|
+
"outDir": "bin",
|
|
5
|
+
"declaration": true,
|
|
6
|
+
"declarationMap": true,
|
|
7
|
+
"sourceMap": true,
|
|
8
|
+
"stripInternal": true,
|
|
9
|
+
// Environment
|
|
10
|
+
"target": "ES2022",
|
|
11
|
+
"module": "nodenext",
|
|
12
|
+
"moduleResolution": "nodenext",
|
|
13
|
+
"moduleDetection": "force",
|
|
14
|
+
"types": ["node"],
|
|
15
|
+
// Type Checking
|
|
16
|
+
"strict": true,
|
|
17
|
+
"noFallthroughCasesInSwitch": true,
|
|
18
|
+
"noImplicitReturns": true,
|
|
19
|
+
"skipLibCheck": true
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"allowlistIdentifier.ts",
|
|
23
|
+
"apiKey.ts",
|
|
24
|
+
"application.ts",
|
|
25
|
+
"applicationSettings.ts",
|
|
26
|
+
"blocklistIdentifier.ts",
|
|
27
|
+
"config/index.ts",
|
|
28
|
+
"config/vars.ts",
|
|
29
|
+
"domain.ts",
|
|
30
|
+
"getApplication.ts",
|
|
31
|
+
"index.ts",
|
|
32
|
+
"instanceConfig.ts",
|
|
33
|
+
"instanceDomain.ts",
|
|
34
|
+
"jwtTemplate.ts",
|
|
35
|
+
"machine.ts",
|
|
36
|
+
"oauthApplication.ts",
|
|
37
|
+
"organization.ts",
|
|
38
|
+
"organizationDomain.ts",
|
|
39
|
+
"organizationMembership.ts",
|
|
40
|
+
"organizationPermission.ts",
|
|
41
|
+
"organizationRole.ts",
|
|
42
|
+
"provider.ts",
|
|
43
|
+
"redirectUrl.ts",
|
|
44
|
+
"roleSet.ts",
|
|
45
|
+
"samlConnection.ts",
|
|
46
|
+
"svixWebhook.ts",
|
|
47
|
+
"types/index.ts",
|
|
48
|
+
"types/input.ts",
|
|
49
|
+
"types/output.ts",
|
|
50
|
+
"user.ts",
|
|
51
|
+
"utilities.ts"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
2
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
3
|
+
|
|
4
|
+
import * as utilities from "../utilities";
|
|
5
|
+
|
|
6
|
+
// Export sub-modules:
|
|
7
|
+
import * as input from "./input";
|
|
8
|
+
import * as output from "./output";
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
input,
|
|
12
|
+
output,
|
|
13
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
2
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
3
|
+
|
|
4
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
5
|
+
import * as inputs from "../types/input";
|
|
6
|
+
import * as outputs from "../types/output";
|
|
7
|
+
|
|
8
|
+
export interface ApplicationInstance {
|
|
9
|
+
/**
|
|
10
|
+
* Environment type (e.g. development, production).
|
|
11
|
+
*/
|
|
12
|
+
environmentType?: pulumi.Input<string | undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* Unique identifier of the instance.
|
|
15
|
+
*/
|
|
16
|
+
instanceId?: pulumi.Input<string | undefined>;
|
|
17
|
+
/**
|
|
18
|
+
* Publishable key for this instance.
|
|
19
|
+
*/
|
|
20
|
+
publishableKey?: pulumi.Input<string | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Secret key for this instance.
|
|
23
|
+
*/
|
|
24
|
+
secretKey?: pulumi.Input<string | undefined>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface DomainCnameTarget {
|
|
28
|
+
/**
|
|
29
|
+
* The CNAME host.
|
|
30
|
+
*/
|
|
31
|
+
host?: pulumi.Input<string | undefined>;
|
|
32
|
+
/**
|
|
33
|
+
* Whether this CNAME record is required.
|
|
34
|
+
*/
|
|
35
|
+
required?: pulumi.Input<boolean | undefined>;
|
|
36
|
+
/**
|
|
37
|
+
* The CNAME value.
|
|
38
|
+
*/
|
|
39
|
+
value?: pulumi.Input<string | undefined>;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface SamlConnectionAttributeMapping {
|
|
43
|
+
/**
|
|
44
|
+
* SAML attribute name for email address.
|
|
45
|
+
*/
|
|
46
|
+
emailAddress: pulumi.Input<string>;
|
|
47
|
+
/**
|
|
48
|
+
* SAML attribute name for first name.
|
|
49
|
+
*/
|
|
50
|
+
firstName: pulumi.Input<string>;
|
|
51
|
+
/**
|
|
52
|
+
* SAML attribute name for last name.
|
|
53
|
+
*/
|
|
54
|
+
lastName: pulumi.Input<string>;
|
|
55
|
+
/**
|
|
56
|
+
* SAML attribute name for user ID.
|
|
57
|
+
*/
|
|
58
|
+
userId: pulumi.Input<string>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
2
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
3
|
+
|
|
4
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
5
|
+
import * as inputs from "../types/input";
|
|
6
|
+
import * as outputs from "../types/output";
|
|
7
|
+
|
|
8
|
+
export interface ApplicationInstance {
|
|
9
|
+
/**
|
|
10
|
+
* Environment type (e.g. development, production).
|
|
11
|
+
*/
|
|
12
|
+
environmentType: string;
|
|
13
|
+
/**
|
|
14
|
+
* Unique identifier of the instance.
|
|
15
|
+
*/
|
|
16
|
+
instanceId: string;
|
|
17
|
+
/**
|
|
18
|
+
* Publishable key for this instance.
|
|
19
|
+
*/
|
|
20
|
+
publishableKey: string;
|
|
21
|
+
/**
|
|
22
|
+
* Secret key for this instance.
|
|
23
|
+
*/
|
|
24
|
+
secretKey: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface DomainCnameTarget {
|
|
28
|
+
/**
|
|
29
|
+
* The CNAME host.
|
|
30
|
+
*/
|
|
31
|
+
host: string;
|
|
32
|
+
/**
|
|
33
|
+
* Whether this CNAME record is required.
|
|
34
|
+
*/
|
|
35
|
+
required: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The CNAME value.
|
|
38
|
+
*/
|
|
39
|
+
value: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface GetApplicationInstance {
|
|
43
|
+
/**
|
|
44
|
+
* Environment type (e.g. development, production).
|
|
45
|
+
*/
|
|
46
|
+
environmentType: string;
|
|
47
|
+
/**
|
|
48
|
+
* Unique identifier of the instance.
|
|
49
|
+
*/
|
|
50
|
+
instanceId: string;
|
|
51
|
+
/**
|
|
52
|
+
* Publishable key for this instance.
|
|
53
|
+
*/
|
|
54
|
+
publishableKey: string;
|
|
55
|
+
/**
|
|
56
|
+
* Secret key for this instance.
|
|
57
|
+
*/
|
|
58
|
+
secretKey: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface SamlConnectionAttributeMapping {
|
|
62
|
+
/**
|
|
63
|
+
* SAML attribute name for email address.
|
|
64
|
+
*/
|
|
65
|
+
emailAddress: string;
|
|
66
|
+
/**
|
|
67
|
+
* SAML attribute name for first name.
|
|
68
|
+
*/
|
|
69
|
+
firstName: string;
|
|
70
|
+
/**
|
|
71
|
+
* SAML attribute name for last name.
|
|
72
|
+
*/
|
|
73
|
+
lastName: string;
|
|
74
|
+
/**
|
|
75
|
+
* SAML attribute name for user ID.
|
|
76
|
+
*/
|
|
77
|
+
userId: string;
|
|
78
|
+
}
|
|
79
|
+
|