@mstuercke/pulumi-modules 1.2.4 → 1.3.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 (42) hide show
  1. package/dist/clerk/Clerk.d.ts +27 -0
  2. package/dist/clerk/Clerk.js +88 -0
  3. package/dist/clerk/index.d.ts +5 -0
  4. package/dist/clerk/index.js +5 -0
  5. package/dist/index.d.ts +4 -0
  6. package/dist/index.js +3 -0
  7. package/package.json +21 -5
  8. package/sdks/clerk/.gitattributes +1 -0
  9. package/sdks/clerk/README.md +3 -0
  10. package/sdks/clerk/allowlistIdentifier.ts +121 -0
  11. package/sdks/clerk/apiKey.ts +254 -0
  12. package/sdks/clerk/application.ts +182 -0
  13. package/sdks/clerk/applicationSettings.ts +171 -0
  14. package/sdks/clerk/blocklistIdentifier.ts +114 -0
  15. package/sdks/clerk/config/index.ts +5 -0
  16. package/sdks/clerk/config/vars.ts +34 -0
  17. package/sdks/clerk/domain.ts +154 -0
  18. package/sdks/clerk/getApplication.ts +42 -0
  19. package/sdks/clerk/index.ts +213 -0
  20. package/sdks/clerk/instanceConfig.ts +128 -0
  21. package/sdks/clerk/instanceDomain.ts +129 -0
  22. package/sdks/clerk/jwtTemplate.ts +190 -0
  23. package/sdks/clerk/machine.ts +127 -0
  24. package/sdks/clerk/oauthApplication.ts +228 -0
  25. package/sdks/clerk/organization.ts +190 -0
  26. package/sdks/clerk/organizationDomain.ts +166 -0
  27. package/sdks/clerk/organizationMembership.ts +148 -0
  28. package/sdks/clerk/organizationPermission.ts +142 -0
  29. package/sdks/clerk/organizationRole.ts +156 -0
  30. package/sdks/clerk/package.json +26 -0
  31. package/sdks/clerk/provider.ts +76 -0
  32. package/sdks/clerk/redirectUrl.ts +104 -0
  33. package/sdks/clerk/roleSet.ts +197 -0
  34. package/sdks/clerk/samlConnection.ts +361 -0
  35. package/sdks/clerk/scripts/postinstall.js +20 -0
  36. package/sdks/clerk/svixWebhook.ts +77 -0
  37. package/sdks/clerk/tsconfig.json +53 -0
  38. package/sdks/clerk/types/index.ts +13 -0
  39. package/sdks/clerk/types/input.ts +59 -0
  40. package/sdks/clerk/types/output.ts +79 -0
  41. package/sdks/clerk/user.ts +458 -0
  42. package/sdks/clerk/utilities.ts +107 -0
@@ -0,0 +1,182 @@
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 Application extends pulumi.CustomResource {
10
+ /**
11
+ * Get an existing Application 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?: ApplicationState, opts?: pulumi.CustomResourceOptions): Application {
20
+ return new Application(name, <any>state, { ...opts, id: id });
21
+ }
22
+
23
+ /** @internal */
24
+ public static readonly __pulumiType = 'clerk:index/application:Application';
25
+
26
+ /**
27
+ * Returns true if the given object is an instance of Application. 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 Application {
31
+ if (obj === undefined || obj === null) {
32
+ return false;
33
+ }
34
+ return obj['__pulumiType'] === Application.__pulumiType;
35
+ }
36
+
37
+ /**
38
+ * Custom domain for the application. Create-only; changing forces replacement.
39
+ */
40
+ declare public readonly domain: pulumi.Output<string | undefined>;
41
+ /**
42
+ * Environment types to create (e.g. ["development", "production"]). Create-only; changing forces replacement.
43
+ */
44
+ declare public readonly environmentTypes: pulumi.Output<string[] | undefined>;
45
+ /**
46
+ * Base64-encoded favicon image content. Use filebase64() to read from a file. Write-only: not returned by the API on
47
+ * reads.
48
+ */
49
+ declare public readonly favicon: pulumi.Output<string | undefined>;
50
+ /**
51
+ * List of instances (environments) created for this application.
52
+ */
53
+ declare public /*out*/ readonly instances: pulumi.Output<outputs.ApplicationInstance[]>;
54
+ /**
55
+ * Base64-encoded logo image content. Use filebase64() to read from a file. Write-only: not returned by the API on reads.
56
+ */
57
+ declare public readonly logo: pulumi.Output<string | undefined>;
58
+ /**
59
+ * Name of the application.
60
+ */
61
+ declare public readonly name: pulumi.Output<string>;
62
+ /**
63
+ * Proxy path for the application. Create-only; changing forces replacement.
64
+ */
65
+ declare public readonly proxyPath: pulumi.Output<string | undefined>;
66
+ /**
67
+ * Application template slug. Create-only; changing forces replacement.
68
+ */
69
+ declare public readonly template: pulumi.Output<string | undefined>;
70
+
71
+ /**
72
+ * Create a Application resource with the given unique name, arguments, and options.
73
+ *
74
+ * @param name The _unique_ name of the resource.
75
+ * @param args The arguments to use to populate this resource's properties.
76
+ * @param opts A bag of options that control this resource's behavior.
77
+ */
78
+ constructor(name: string, args?: ApplicationArgs, opts?: pulumi.CustomResourceOptions)
79
+ constructor(name: string, argsOrState?: ApplicationArgs | ApplicationState, opts?: pulumi.CustomResourceOptions) {
80
+ let resourceInputs: pulumi.Inputs = {};
81
+ opts = opts || {};
82
+ if (opts.id) {
83
+ const state = argsOrState as ApplicationState | undefined;
84
+ resourceInputs["domain"] = state?.domain;
85
+ resourceInputs["environmentTypes"] = state?.environmentTypes;
86
+ resourceInputs["favicon"] = state?.favicon;
87
+ resourceInputs["instances"] = state?.instances;
88
+ resourceInputs["logo"] = state?.logo;
89
+ resourceInputs["name"] = state?.name;
90
+ resourceInputs["proxyPath"] = state?.proxyPath;
91
+ resourceInputs["template"] = state?.template;
92
+ } else {
93
+ const args = argsOrState as ApplicationArgs | undefined;
94
+ resourceInputs["domain"] = args?.domain;
95
+ resourceInputs["environmentTypes"] = args?.environmentTypes;
96
+ resourceInputs["favicon"] = args?.favicon ? pulumi.secret(args.favicon) : undefined;
97
+ resourceInputs["logo"] = args?.logo ? pulumi.secret(args.logo) : undefined;
98
+ resourceInputs["name"] = args?.name;
99
+ resourceInputs["proxyPath"] = args?.proxyPath;
100
+ resourceInputs["template"] = args?.template;
101
+ resourceInputs["instances"] = undefined /*out*/;
102
+ }
103
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
104
+ const secretOpts = { additionalSecretOutputs: ["favicon", "logo"] };
105
+ opts = pulumi.mergeOptions(opts, secretOpts);
106
+ super(Application.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage());
107
+ }
108
+ }
109
+
110
+ /**
111
+ * Input properties used for looking up and filtering Application resources.
112
+ */
113
+ export interface ApplicationState {
114
+ /**
115
+ * Custom domain for the application. Create-only; changing forces replacement.
116
+ */
117
+ domain?: pulumi.Input<string | undefined>;
118
+ /**
119
+ * Environment types to create (e.g. ["development", "production"]). Create-only; changing forces replacement.
120
+ */
121
+ environmentTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
122
+ /**
123
+ * Base64-encoded favicon image content. Use filebase64() to read from a file. Write-only: not returned by the API on
124
+ * reads.
125
+ */
126
+ favicon?: pulumi.Input<string | undefined>;
127
+ /**
128
+ * List of instances (environments) created for this application.
129
+ */
130
+ instances?: pulumi.Input<pulumi.Input<inputs.ApplicationInstance>[] | undefined>;
131
+ /**
132
+ * Base64-encoded logo image content. Use filebase64() to read from a file. Write-only: not returned by the API on reads.
133
+ */
134
+ logo?: pulumi.Input<string | undefined>;
135
+ /**
136
+ * Name of the application.
137
+ */
138
+ name?: pulumi.Input<string | undefined>;
139
+ /**
140
+ * Proxy path for the application. Create-only; changing forces replacement.
141
+ */
142
+ proxyPath?: pulumi.Input<string | undefined>;
143
+ /**
144
+ * Application template slug. Create-only; changing forces replacement.
145
+ */
146
+ template?: pulumi.Input<string | undefined>;
147
+ }
148
+
149
+ /**
150
+ * The set of arguments for constructing a Application resource.
151
+ */
152
+ export interface ApplicationArgs {
153
+ /**
154
+ * Custom domain for the application. Create-only; changing forces replacement.
155
+ */
156
+ domain?: pulumi.Input<string | undefined>;
157
+ /**
158
+ * Environment types to create (e.g. ["development", "production"]). Create-only; changing forces replacement.
159
+ */
160
+ environmentTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
161
+ /**
162
+ * Base64-encoded favicon image content. Use filebase64() to read from a file. Write-only: not returned by the API on
163
+ * reads.
164
+ */
165
+ favicon?: pulumi.Input<string | undefined>;
166
+ /**
167
+ * Base64-encoded logo image content. Use filebase64() to read from a file. Write-only: not returned by the API on reads.
168
+ */
169
+ logo?: pulumi.Input<string | undefined>;
170
+ /**
171
+ * Name of the application.
172
+ */
173
+ name?: pulumi.Input<string | undefined>;
174
+ /**
175
+ * Proxy path for the application. Create-only; changing forces replacement.
176
+ */
177
+ proxyPath?: pulumi.Input<string | undefined>;
178
+ /**
179
+ * Application template slug. Create-only; changing forces replacement.
180
+ */
181
+ template?: pulumi.Input<string | undefined>;
182
+ }
@@ -0,0 +1,171 @@
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 ApplicationSettings extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing ApplicationSettings 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?: ApplicationSettingsState, opts?: pulumi.CustomResourceOptions): ApplicationSettings {
18
+ return new ApplicationSettings(name, <any>state, { ...opts, id: id });
19
+ }
20
+
21
+ /** @internal */
22
+ public static readonly __pulumiType = 'clerk:index/applicationSettings:ApplicationSettings';
23
+
24
+ /**
25
+ * Returns true if the given object is an instance of ApplicationSettings. 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 ApplicationSettings {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === ApplicationSettings.__pulumiType;
33
+ }
34
+
35
+ /**
36
+ * Whether administrators can delete organizations.
37
+ */
38
+ declare public readonly adminDeleteEnabled: pulumi.Output<boolean>;
39
+ /**
40
+ * The role assigned to the creator of a new organization.
41
+ */
42
+ declare public /*out*/ readonly creatorRole: pulumi.Output<string>;
43
+ /**
44
+ * Default role for users added via domain enrollment.
45
+ */
46
+ declare public /*out*/ readonly domainsDefaultRole: pulumi.Output<string>;
47
+ /**
48
+ * Whether domain-based organization enrollment is enabled.
49
+ */
50
+ declare public readonly domainsEnabled: pulumi.Output<boolean>;
51
+ /**
52
+ * Whether organizations are enabled for this instance.
53
+ */
54
+ declare public readonly enableOrganizations: pulumi.Output<boolean>;
55
+ declare public readonly forceOrganizationSelection: pulumi.Output<boolean | undefined>;
56
+ /**
57
+ * Default maximum number of memberships allowed per organization.
58
+ */
59
+ declare public readonly maxAllowedMemberships: pulumi.Output<number>;
60
+ /**
61
+ * Maximum number of permissions allowed per organization.
62
+ */
63
+ declare public /*out*/ readonly maxAllowedPermissions: pulumi.Output<number>;
64
+ /**
65
+ * Maximum number of roles allowed per organization.
66
+ */
67
+ declare public /*out*/ readonly maxAllowedRoles: pulumi.Output<number>;
68
+
69
+ /**
70
+ * Create a ApplicationSettings resource with the given unique name, arguments, and options.
71
+ *
72
+ * @param name The _unique_ name of the resource.
73
+ * @param args The arguments to use to populate this resource's properties.
74
+ * @param opts A bag of options that control this resource's behavior.
75
+ */
76
+ constructor(name: string, args: ApplicationSettingsArgs, opts?: pulumi.CustomResourceOptions)
77
+ constructor(name: string, argsOrState?: ApplicationSettingsArgs | ApplicationSettingsState, opts?: pulumi.CustomResourceOptions) {
78
+ let resourceInputs: pulumi.Inputs = {};
79
+ opts = opts || {};
80
+ if (opts.id) {
81
+ const state = argsOrState as ApplicationSettingsState | undefined;
82
+ resourceInputs["adminDeleteEnabled"] = state?.adminDeleteEnabled;
83
+ resourceInputs["creatorRole"] = state?.creatorRole;
84
+ resourceInputs["domainsDefaultRole"] = state?.domainsDefaultRole;
85
+ resourceInputs["domainsEnabled"] = state?.domainsEnabled;
86
+ resourceInputs["enableOrganizations"] = state?.enableOrganizations;
87
+ resourceInputs["forceOrganizationSelection"] = state?.forceOrganizationSelection;
88
+ resourceInputs["maxAllowedMemberships"] = state?.maxAllowedMemberships;
89
+ resourceInputs["maxAllowedPermissions"] = state?.maxAllowedPermissions;
90
+ resourceInputs["maxAllowedRoles"] = state?.maxAllowedRoles;
91
+ } else {
92
+ const args = argsOrState as ApplicationSettingsArgs | undefined;
93
+ if (args?.enableOrganizations === undefined && !opts.urn) {
94
+ throw new Error("Missing required property 'enableOrganizations'");
95
+ }
96
+ resourceInputs["adminDeleteEnabled"] = args?.adminDeleteEnabled;
97
+ resourceInputs["domainsEnabled"] = args?.domainsEnabled;
98
+ resourceInputs["enableOrganizations"] = args?.enableOrganizations;
99
+ resourceInputs["forceOrganizationSelection"] = args?.forceOrganizationSelection;
100
+ resourceInputs["maxAllowedMemberships"] = args?.maxAllowedMemberships;
101
+ resourceInputs["creatorRole"] = undefined /*out*/;
102
+ resourceInputs["domainsDefaultRole"] = undefined /*out*/;
103
+ resourceInputs["maxAllowedPermissions"] = undefined /*out*/;
104
+ resourceInputs["maxAllowedRoles"] = undefined /*out*/;
105
+ }
106
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
107
+ super(ApplicationSettings.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage());
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Input properties used for looking up and filtering ApplicationSettings resources.
113
+ */
114
+ export interface ApplicationSettingsState {
115
+ /**
116
+ * Whether administrators can delete organizations.
117
+ */
118
+ adminDeleteEnabled?: pulumi.Input<boolean | undefined>;
119
+ /**
120
+ * The role assigned to the creator of a new organization.
121
+ */
122
+ creatorRole?: pulumi.Input<string | undefined>;
123
+ /**
124
+ * Default role for users added via domain enrollment.
125
+ */
126
+ domainsDefaultRole?: pulumi.Input<string | undefined>;
127
+ /**
128
+ * Whether domain-based organization enrollment is enabled.
129
+ */
130
+ domainsEnabled?: pulumi.Input<boolean | undefined>;
131
+ /**
132
+ * Whether organizations are enabled for this instance.
133
+ */
134
+ enableOrganizations?: pulumi.Input<boolean | undefined>;
135
+ forceOrganizationSelection?: pulumi.Input<boolean | undefined>;
136
+ /**
137
+ * Default maximum number of memberships allowed per organization.
138
+ */
139
+ maxAllowedMemberships?: pulumi.Input<number | undefined>;
140
+ /**
141
+ * Maximum number of permissions allowed per organization.
142
+ */
143
+ maxAllowedPermissions?: pulumi.Input<number | undefined>;
144
+ /**
145
+ * Maximum number of roles allowed per organization.
146
+ */
147
+ maxAllowedRoles?: pulumi.Input<number | undefined>;
148
+ }
149
+
150
+ /**
151
+ * The set of arguments for constructing a ApplicationSettings resource.
152
+ */
153
+ export interface ApplicationSettingsArgs {
154
+ /**
155
+ * Whether administrators can delete organizations.
156
+ */
157
+ adminDeleteEnabled?: pulumi.Input<boolean | undefined>;
158
+ /**
159
+ * Whether domain-based organization enrollment is enabled.
160
+ */
161
+ domainsEnabled?: pulumi.Input<boolean | undefined>;
162
+ /**
163
+ * Whether organizations are enabled for this instance.
164
+ */
165
+ enableOrganizations: pulumi.Input<boolean>;
166
+ forceOrganizationSelection?: pulumi.Input<boolean | undefined>;
167
+ /**
168
+ * Default maximum number of memberships allowed per organization.
169
+ */
170
+ maxAllowedMemberships?: pulumi.Input<number | undefined>;
171
+ }
@@ -0,0 +1,114 @@
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 BlocklistIdentifier extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing BlocklistIdentifier 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?: BlocklistIdentifierState, opts?: pulumi.CustomResourceOptions): BlocklistIdentifier {
18
+ return new BlocklistIdentifier(name, <any>state, { ...opts, id: id });
19
+ }
20
+
21
+ /** @internal */
22
+ public static readonly __pulumiType = 'clerk:index/blocklistIdentifier:BlocklistIdentifier';
23
+
24
+ /**
25
+ * Returns true if the given object is an instance of BlocklistIdentifier. 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 BlocklistIdentifier {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === BlocklistIdentifier.__pulumiType;
33
+ }
34
+
35
+ /**
36
+ * Timestamp when the blocklist identifier was created.
37
+ */
38
+ declare public /*out*/ readonly createdAt: pulumi.Output<string>;
39
+ /**
40
+ * The identifier to block (email address, phone number, or web3 wallet).
41
+ */
42
+ declare public readonly identifier: pulumi.Output<string>;
43
+ /**
44
+ * The type of identifier (email_address, phone_number, or web3_wallet).
45
+ */
46
+ declare public /*out*/ readonly identifierType: pulumi.Output<string>;
47
+ /**
48
+ * Timestamp when the blocklist identifier was last updated.
49
+ */
50
+ declare public /*out*/ readonly updatedAt: pulumi.Output<string>;
51
+
52
+ /**
53
+ * Create a BlocklistIdentifier resource with the given unique name, arguments, and options.
54
+ *
55
+ * @param name The _unique_ name of the resource.
56
+ * @param args The arguments to use to populate this resource's properties.
57
+ * @param opts A bag of options that control this resource's behavior.
58
+ */
59
+ constructor(name: string, args: BlocklistIdentifierArgs, opts?: pulumi.CustomResourceOptions)
60
+ constructor(name: string, argsOrState?: BlocklistIdentifierArgs | BlocklistIdentifierState, opts?: pulumi.CustomResourceOptions) {
61
+ let resourceInputs: pulumi.Inputs = {};
62
+ opts = opts || {};
63
+ if (opts.id) {
64
+ const state = argsOrState as BlocklistIdentifierState | undefined;
65
+ resourceInputs["createdAt"] = state?.createdAt;
66
+ resourceInputs["identifier"] = state?.identifier;
67
+ resourceInputs["identifierType"] = state?.identifierType;
68
+ resourceInputs["updatedAt"] = state?.updatedAt;
69
+ } else {
70
+ const args = argsOrState as BlocklistIdentifierArgs | undefined;
71
+ if (args?.identifier === undefined && !opts.urn) {
72
+ throw new Error("Missing required property 'identifier'");
73
+ }
74
+ resourceInputs["identifier"] = args?.identifier;
75
+ resourceInputs["createdAt"] = undefined /*out*/;
76
+ resourceInputs["identifierType"] = undefined /*out*/;
77
+ resourceInputs["updatedAt"] = undefined /*out*/;
78
+ }
79
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
80
+ super(BlocklistIdentifier.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage());
81
+ }
82
+ }
83
+
84
+ /**
85
+ * Input properties used for looking up and filtering BlocklistIdentifier resources.
86
+ */
87
+ export interface BlocklistIdentifierState {
88
+ /**
89
+ * Timestamp when the blocklist identifier was created.
90
+ */
91
+ createdAt?: pulumi.Input<string | undefined>;
92
+ /**
93
+ * The identifier to block (email address, phone number, or web3 wallet).
94
+ */
95
+ identifier?: pulumi.Input<string | undefined>;
96
+ /**
97
+ * The type of identifier (email_address, phone_number, or web3_wallet).
98
+ */
99
+ identifierType?: pulumi.Input<string | undefined>;
100
+ /**
101
+ * Timestamp when the blocklist identifier was last updated.
102
+ */
103
+ updatedAt?: pulumi.Input<string | undefined>;
104
+ }
105
+
106
+ /**
107
+ * The set of arguments for constructing a BlocklistIdentifier resource.
108
+ */
109
+ export interface BlocklistIdentifierArgs {
110
+ /**
111
+ * The identifier to block (email address, phone number, or web3 wallet).
112
+ */
113
+ identifier: pulumi.Input<string>;
114
+ }
@@ -0,0 +1,5 @@
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
+ // Export members:
5
+ export * from "./vars";
@@ -0,0 +1,34 @@
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
+ declare var exports: any;
8
+ const __config = new pulumi.Config("clerk");
9
+
10
+ /**
11
+ * Clerk instance secret key (starts with sk_test_ or sk_live_). Required for clerk_jwt_template, clerk_organization, and
12
+ * clerk.ApplicationSettings resources. Can also be set via the CLERK_API_KEY environment variable.
13
+ */
14
+ export declare const apiKey: string | undefined;
15
+ Object.defineProperty(exports, "apiKey", {
16
+ get() {
17
+ return __config.get("apiKey");
18
+ },
19
+ enumerable: true,
20
+ });
21
+
22
+ /**
23
+ * Clerk Platform API key (starts with ak_). Required for clerk_application, clerk_domain, and clerk.InstanceConfig
24
+ * resources. The Platform API is a beta feature — contact Clerk support or visit your dashboard to request access. Can
25
+ * also be set via the CLERK_PLATFORM_API_KEY environment variable.
26
+ */
27
+ export declare const platformApiKey: string | undefined;
28
+ Object.defineProperty(exports, "platformApiKey", {
29
+ get() {
30
+ return __config.get("platformApiKey");
31
+ },
32
+ enumerable: true,
33
+ });
34
+
@@ -0,0 +1,154 @@
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 Domain extends pulumi.CustomResource {
10
+ /**
11
+ * Get an existing Domain 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?: DomainState, opts?: pulumi.CustomResourceOptions): Domain {
20
+ return new Domain(name, <any>state, { ...opts, id: id });
21
+ }
22
+
23
+ /** @internal */
24
+ public static readonly __pulumiType = 'clerk:index/domain:Domain';
25
+
26
+ /**
27
+ * Returns true if the given object is an instance of Domain. 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 Domain {
31
+ if (obj === undefined || obj === null) {
32
+ return false;
33
+ }
34
+ return obj['__pulumiType'] === Domain.__pulumiType;
35
+ }
36
+
37
+ /**
38
+ * The ID of the application this domain belongs to. Changing forces replacement.
39
+ */
40
+ declare public readonly applicationId: pulumi.Output<string>;
41
+ /**
42
+ * CNAME targets for DNS configuration.
43
+ */
44
+ declare public /*out*/ readonly cnameTargets: pulumi.Output<outputs.DomainCnameTarget[]>;
45
+ /**
46
+ * The frontend API URL for this domain.
47
+ */
48
+ declare public /*out*/ readonly frontendApiUrl: pulumi.Output<string>;
49
+ /**
50
+ * Whether this is a provider domain.
51
+ */
52
+ declare public /*out*/ readonly isProviderDomain: pulumi.Output<boolean>;
53
+ /**
54
+ * Whether this is a satellite domain.
55
+ */
56
+ declare public /*out*/ readonly isSatellite: pulumi.Output<boolean>;
57
+ /**
58
+ * The domain name (e.g. app.example.com). Changing forces replacement.
59
+ */
60
+ declare public readonly name: pulumi.Output<string>;
61
+ /**
62
+ * Proxy path for the domain. Create-only; changing forces replacement.
63
+ */
64
+ declare public readonly proxyPath: pulumi.Output<string | undefined>;
65
+
66
+ /**
67
+ * Create a Domain resource with the given unique name, arguments, and options.
68
+ *
69
+ * @param name The _unique_ name of the resource.
70
+ * @param args The arguments to use to populate this resource's properties.
71
+ * @param opts A bag of options that control this resource's behavior.
72
+ */
73
+ constructor(name: string, args: DomainArgs, opts?: pulumi.CustomResourceOptions)
74
+ constructor(name: string, argsOrState?: DomainArgs | DomainState, opts?: pulumi.CustomResourceOptions) {
75
+ let resourceInputs: pulumi.Inputs = {};
76
+ opts = opts || {};
77
+ if (opts.id) {
78
+ const state = argsOrState as DomainState | undefined;
79
+ resourceInputs["applicationId"] = state?.applicationId;
80
+ resourceInputs["cnameTargets"] = state?.cnameTargets;
81
+ resourceInputs["frontendApiUrl"] = state?.frontendApiUrl;
82
+ resourceInputs["isProviderDomain"] = state?.isProviderDomain;
83
+ resourceInputs["isSatellite"] = state?.isSatellite;
84
+ resourceInputs["name"] = state?.name;
85
+ resourceInputs["proxyPath"] = state?.proxyPath;
86
+ } else {
87
+ const args = argsOrState as DomainArgs | undefined;
88
+ if (args?.applicationId === undefined && !opts.urn) {
89
+ throw new Error("Missing required property 'applicationId'");
90
+ }
91
+ resourceInputs["applicationId"] = args?.applicationId;
92
+ resourceInputs["name"] = args?.name;
93
+ resourceInputs["proxyPath"] = args?.proxyPath;
94
+ resourceInputs["cnameTargets"] = undefined /*out*/;
95
+ resourceInputs["frontendApiUrl"] = undefined /*out*/;
96
+ resourceInputs["isProviderDomain"] = undefined /*out*/;
97
+ resourceInputs["isSatellite"] = undefined /*out*/;
98
+ }
99
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
100
+ super(Domain.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage());
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Input properties used for looking up and filtering Domain resources.
106
+ */
107
+ export interface DomainState {
108
+ /**
109
+ * The ID of the application this domain belongs to. Changing forces replacement.
110
+ */
111
+ applicationId?: pulumi.Input<string | undefined>;
112
+ /**
113
+ * CNAME targets for DNS configuration.
114
+ */
115
+ cnameTargets?: pulumi.Input<pulumi.Input<inputs.DomainCnameTarget>[] | undefined>;
116
+ /**
117
+ * The frontend API URL for this domain.
118
+ */
119
+ frontendApiUrl?: pulumi.Input<string | undefined>;
120
+ /**
121
+ * Whether this is a provider domain.
122
+ */
123
+ isProviderDomain?: pulumi.Input<boolean | undefined>;
124
+ /**
125
+ * Whether this is a satellite domain.
126
+ */
127
+ isSatellite?: pulumi.Input<boolean | undefined>;
128
+ /**
129
+ * The domain name (e.g. app.example.com). Changing forces replacement.
130
+ */
131
+ name?: pulumi.Input<string | undefined>;
132
+ /**
133
+ * Proxy path for the domain. Create-only; changing forces replacement.
134
+ */
135
+ proxyPath?: pulumi.Input<string | undefined>;
136
+ }
137
+
138
+ /**
139
+ * The set of arguments for constructing a Domain resource.
140
+ */
141
+ export interface DomainArgs {
142
+ /**
143
+ * The ID of the application this domain belongs to. Changing forces replacement.
144
+ */
145
+ applicationId: pulumi.Input<string>;
146
+ /**
147
+ * The domain name (e.g. app.example.com). Changing forces replacement.
148
+ */
149
+ name?: pulumi.Input<string | undefined>;
150
+ /**
151
+ * Proxy path for the domain. Create-only; changing forces replacement.
152
+ */
153
+ proxyPath?: pulumi.Input<string | undefined>;
154
+ }