@pulumiverse/vercel 1.3.0 → 1.10.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 (77) hide show
  1. package/attackChallengeMode.d.ts +102 -0
  2. package/attackChallengeMode.js +89 -0
  3. package/attackChallengeMode.js.map +1 -0
  4. package/config/vars.d.ts +2 -2
  5. package/dnsRecord.d.ts +6 -4
  6. package/dnsRecord.js +6 -4
  7. package/dnsRecord.js.map +1 -1
  8. package/edgeConfig.d.ts +111 -0
  9. package/edgeConfig.js +102 -0
  10. package/edgeConfig.js.map +1 -0
  11. package/edgeConfigSchema.d.ts +85 -0
  12. package/edgeConfigSchema.js +79 -0
  13. package/edgeConfigSchema.js.map +1 -0
  14. package/edgeConfigToken.d.ts +145 -0
  15. package/edgeConfigToken.js +120 -0
  16. package/edgeConfigToken.js.map +1 -0
  17. package/getAttackChallengeMode.d.ts +82 -0
  18. package/getAttackChallengeMode.js +52 -0
  19. package/getAttackChallengeMode.js.map +1 -0
  20. package/getDeployment.d.ts +94 -0
  21. package/getDeployment.js +52 -0
  22. package/getDeployment.js.map +1 -0
  23. package/getEdgeConfig.d.ts +78 -0
  24. package/getEdgeConfig.js +52 -0
  25. package/getEdgeConfig.js.map +1 -0
  26. package/getEdgeConfigSchema.d.ts +74 -0
  27. package/getEdgeConfigSchema.js +48 -0
  28. package/getEdgeConfigSchema.js.map +1 -0
  29. package/getEdgeConfigToken.d.ts +104 -0
  30. package/getEdgeConfigToken.js +59 -0
  31. package/getEdgeConfigToken.js.map +1 -0
  32. package/getEndpointVerification.d.ts +62 -0
  33. package/getEndpointVerification.js +44 -0
  34. package/getEndpointVerification.js.map +1 -0
  35. package/getFile.d.ts +0 -4
  36. package/getFile.js +0 -4
  37. package/getFile.js.map +1 -1
  38. package/getLogDrain.d.ts +116 -0
  39. package/getLogDrain.js +57 -0
  40. package/getLogDrain.js.map +1 -0
  41. package/getProject.d.ts +48 -4
  42. package/getProject.js +0 -4
  43. package/getProject.js.map +1 -1
  44. package/getProjectFunctionCpu.d.ts +88 -0
  45. package/getProjectFunctionCpu.js +58 -0
  46. package/getProjectFunctionCpu.js.map +1 -0
  47. package/getSharedEnvironmentVariable.d.ts +0 -4
  48. package/getSharedEnvironmentVariable.js +0 -4
  49. package/getSharedEnvironmentVariable.js.map +1 -1
  50. package/index.d.ts +45 -0
  51. package/index.js +60 -1
  52. package/index.js.map +1 -1
  53. package/logDrain.d.ts +206 -0
  54. package/logDrain.js +135 -0
  55. package/logDrain.js.map +1 -0
  56. package/package.json +1 -1
  57. package/project.d.ts +132 -2
  58. package/project.js +22 -2
  59. package/project.js.map +1 -1
  60. package/projectDomain.d.ts +0 -2
  61. package/projectDomain.js +0 -2
  62. package/projectDomain.js.map +1 -1
  63. package/projectEnvironmentVariable.d.ts +6 -4
  64. package/projectEnvironmentVariable.js +6 -4
  65. package/projectEnvironmentVariable.js.map +1 -1
  66. package/projectFunctionCpu.d.ts +104 -0
  67. package/projectFunctionCpu.js +91 -0
  68. package/projectFunctionCpu.js.map +1 -0
  69. package/provider.d.ts +4 -4
  70. package/sharedEnvironmentVariable.d.ts +1 -3
  71. package/sharedEnvironmentVariable.js +1 -3
  72. package/sharedEnvironmentVariable.js.map +1 -1
  73. package/types/input.d.ts +33 -1
  74. package/types/output.d.ts +65 -4
  75. package/webhook.d.ts +127 -0
  76. package/webhook.js +100 -0
  77. package/webhook.js.map +1 -0
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ProjectFunctionCpu = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Provides a Function CPU resource for a Project.
10
+ *
11
+ * This controls the maximum amount of CPU utilization your Serverless Functions can use while executing. Standard is optimal for most frontend workloads. You can override this per function using the vercel.json file.
12
+ *
13
+ * A new Deployment is required for your changes to take effect.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as vercel from "@pulumiverse/vercel";
20
+ *
21
+ * const exampleProject = new vercel.Project("exampleProject", {});
22
+ * const exampleProjectFunctionCpu = new vercel.ProjectFunctionCpu("exampleProjectFunctionCpu", {
23
+ * projectId: exampleProject.id,
24
+ * cpu: "performance",
25
+ * });
26
+ * ```
27
+ *
28
+ * ## Import
29
+ *
30
+ * You can import via the team_id and project_id.
31
+ *
32
+ * - team_id can be found in the team `settings` tab in the Vercel UI.
33
+ *
34
+ * - project_id can be found in the project `settings` tab in the Vercel UI.
35
+ *
36
+ * ```sh
37
+ * $ pulumi import vercel:index/projectFunctionCpu:ProjectFunctionCpu example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
38
+ * ```
39
+ */
40
+ class ProjectFunctionCpu extends pulumi.CustomResource {
41
+ /**
42
+ * Get an existing ProjectFunctionCpu resource's state with the given name, ID, and optional extra
43
+ * properties used to qualify the lookup.
44
+ *
45
+ * @param name The _unique_ name of the resulting resource.
46
+ * @param id The _unique_ provider ID of the resource to lookup.
47
+ * @param state Any extra arguments used during the lookup.
48
+ * @param opts Optional settings to control the behavior of the CustomResource.
49
+ */
50
+ static get(name, id, state, opts) {
51
+ return new ProjectFunctionCpu(name, state, Object.assign(Object.assign({}, opts), { id: id }));
52
+ }
53
+ /**
54
+ * Returns true if the given object is an instance of ProjectFunctionCpu. This is designed to work even
55
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
56
+ */
57
+ static isInstance(obj) {
58
+ if (obj === undefined || obj === null) {
59
+ return false;
60
+ }
61
+ return obj['__pulumiType'] === ProjectFunctionCpu.__pulumiType;
62
+ }
63
+ constructor(name, argsOrState, opts) {
64
+ let resourceInputs = {};
65
+ opts = opts || {};
66
+ if (opts.id) {
67
+ const state = argsOrState;
68
+ resourceInputs["cpu"] = state ? state.cpu : undefined;
69
+ resourceInputs["projectId"] = state ? state.projectId : undefined;
70
+ resourceInputs["teamId"] = state ? state.teamId : undefined;
71
+ }
72
+ else {
73
+ const args = argsOrState;
74
+ if ((!args || args.cpu === undefined) && !opts.urn) {
75
+ throw new Error("Missing required property 'cpu'");
76
+ }
77
+ if ((!args || args.projectId === undefined) && !opts.urn) {
78
+ throw new Error("Missing required property 'projectId'");
79
+ }
80
+ resourceInputs["cpu"] = args ? args.cpu : undefined;
81
+ resourceInputs["projectId"] = args ? args.projectId : undefined;
82
+ resourceInputs["teamId"] = args ? args.teamId : undefined;
83
+ }
84
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
85
+ super(ProjectFunctionCpu.__pulumiType, name, resourceInputs, opts);
86
+ }
87
+ }
88
+ exports.ProjectFunctionCpu = ProjectFunctionCpu;
89
+ /** @internal */
90
+ ProjectFunctionCpu.__pulumiType = 'vercel:index/projectFunctionCpu:ProjectFunctionCpu';
91
+ //# sourceMappingURL=projectFunctionCpu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectFunctionCpu.js","sourceRoot":"","sources":["../projectFunctionCpu.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,kBAAmB,SAAQ,MAAM,CAAC,cAAc;IACzD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA+B,EAAE,IAAmC;QAC7H,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACzE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,YAAY,CAAC;IACnE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAA8D,EAAE,IAAmC;QACzH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAkD,CAAC;YACjE,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;aAAM;YACH,MAAM,IAAI,GAAG,WAAiD,CAAC;YAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACtD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;;AAvEL,gDAwEC;AA1DG,gBAAgB;AACO,+BAAY,GAAG,oDAAoD,CAAC"}
package/provider.d.ts CHANGED
@@ -17,8 +17,8 @@ export declare class Provider extends pulumi.ProviderResource {
17
17
  */
18
18
  readonly apiToken: pulumi.Output<string | undefined>;
19
19
  /**
20
- * The default Vercel Team to use when creating resources. This can be provided as either a team slug, or team ID. The slug
21
- * and ID are both available from the Team Settings page in the Vercel dashboard.
20
+ * The default Vercel Team to use when creating resources or reading data sources. This can be provided as either a team
21
+ * slug, or team ID. The slug and ID are both available from the Team Settings page in the Vercel dashboard.
22
22
  */
23
23
  readonly team: pulumi.Output<string | undefined>;
24
24
  /**
@@ -40,8 +40,8 @@ export interface ProviderArgs {
40
40
  */
41
41
  apiToken?: pulumi.Input<string>;
42
42
  /**
43
- * The default Vercel Team to use when creating resources. This can be provided as either a team slug, or team ID. The slug
44
- * and ID are both available from the Team Settings page in the Vercel dashboard.
43
+ * The default Vercel Team to use when creating resources or reading data sources. This can be provided as either a team
44
+ * slug, or team ID. The slug and ID are both available from the Team Settings page in the Vercel dashboard.
45
45
  */
46
46
  team?: pulumi.Input<string>;
47
47
  }
@@ -8,7 +8,6 @@ import * as pulumi from "@pulumi/pulumi";
8
8
  *
9
9
  * ## Example Usage
10
10
  *
11
- * <!--Start PulumiCodeChooser -->
12
11
  * ```typescript
13
12
  * import * as pulumi from "@pulumi/pulumi";
14
13
  * import * as vercel from "@pulumiverse/vercel";
@@ -26,7 +25,6 @@ import * as pulumi from "@pulumi/pulumi";
26
25
  * projectIds: [exampleProject.id],
27
26
  * });
28
27
  * ```
29
- * <!--End PulumiCodeChooser -->
30
28
  *
31
29
  * ## Import
32
30
  *
@@ -34,7 +32,7 @@ import * as pulumi from "@pulumi/pulumi";
34
32
  *
35
33
  * - team_id can be found in the team `settings` tab in the Vercel UI.
36
34
  *
37
- * - environment variable id is hard to find, but can be taken from the network tab, inside developer tools, on the shared environment variable page.
35
+ * - environment variable id can be taken from the network tab inside developer tools, while you are on the project page.
38
36
  *
39
37
  * #
40
38
  *
@@ -14,7 +14,6 @@ const utilities = require("./utilities");
14
14
  *
15
15
  * ## Example Usage
16
16
  *
17
- * <!--Start PulumiCodeChooser -->
18
17
  * ```typescript
19
18
  * import * as pulumi from "@pulumi/pulumi";
20
19
  * import * as vercel from "@pulumiverse/vercel";
@@ -32,7 +31,6 @@ const utilities = require("./utilities");
32
31
  * projectIds: [exampleProject.id],
33
32
  * });
34
33
  * ```
35
- * <!--End PulumiCodeChooser -->
36
34
  *
37
35
  * ## Import
38
36
  *
@@ -40,7 +38,7 @@ const utilities = require("./utilities");
40
38
  *
41
39
  * - team_id can be found in the team `settings` tab in the Vercel UI.
42
40
  *
43
- * - environment variable id is hard to find, but can be taken from the network tab, inside developer tools, on the shared environment variable page.
41
+ * - environment variable id can be taken from the network tab inside developer tools, while you are on the project page.
44
42
  *
45
43
  * #
46
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sharedEnvironmentVariable.js","sourceRoot":"","sources":["../sharedEnvironmentVariable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharedEnvironmentVariable.js","sourceRoot":"","sources":["../sharedEnvironmentVariable.ts"],"names":[],"mappings":"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"}
package/types/input.d.ts CHANGED
@@ -66,7 +66,21 @@ export interface ProjectEnvironment {
66
66
  */
67
67
  value: pulumi.Input<string>;
68
68
  }
69
+ export interface ProjectGitComments {
70
+ /**
71
+ * Whether Commit comments are enabled
72
+ */
73
+ onCommit: pulumi.Input<boolean>;
74
+ /**
75
+ * Whether Pull Request comments are enabled
76
+ */
77
+ onPullRequest: pulumi.Input<boolean>;
78
+ }
69
79
  export interface ProjectGitRepository {
80
+ /**
81
+ * Deploy hooks are unique URLs that allow you to trigger a deployment of a given branch. See https://vercel.com/docs/deployments/deploy-hooks for full information.
82
+ */
83
+ deployHooks?: pulumi.Input<pulumi.Input<inputs.ProjectGitRepositoryDeployHook>[]>;
70
84
  /**
71
85
  * By default, every commit pushed to the main branch will trigger a Production Deployment instead of the usual Preview Deployment. You can switch to a different branch here.
72
86
  */
@@ -80,6 +94,24 @@ export interface ProjectGitRepository {
80
94
  */
81
95
  type: pulumi.Input<string>;
82
96
  }
97
+ export interface ProjectGitRepositoryDeployHook {
98
+ /**
99
+ * The ID of the deploy hook.
100
+ */
101
+ id?: pulumi.Input<string>;
102
+ /**
103
+ * The name of the deploy hook.
104
+ */
105
+ name: pulumi.Input<string>;
106
+ /**
107
+ * The branch or commit hash that should be deployed.
108
+ */
109
+ ref: pulumi.Input<string>;
110
+ /**
111
+ * A URL that, when a POST request is made to, will trigger a new deployment.
112
+ */
113
+ url?: pulumi.Input<string>;
114
+ }
83
115
  export interface ProjectPasswordProtection {
84
116
  /**
85
117
  * The deployment environment to protect. Must be one of `standardProtection`, `allDeployments`, or `onlyPreviewDeployments`.
@@ -110,7 +142,7 @@ export interface ProjectTrustedIpsAddress {
110
142
  */
111
143
  note?: pulumi.Input<string>;
112
144
  /**
113
- * The value of the Environment Variable.
145
+ * The address or CIDR range that can access deployments.
114
146
  */
115
147
  value: pulumi.Input<string>;
116
148
  }
package/types/output.d.ts CHANGED
@@ -65,7 +65,21 @@ export interface GetProjectEnvironment {
65
65
  */
66
66
  value: string;
67
67
  }
68
+ export interface GetProjectGitComments {
69
+ /**
70
+ * Whether Commit comments are enabled
71
+ */
72
+ onCommit: boolean;
73
+ /**
74
+ * Whether Pull Request comments are enabled
75
+ */
76
+ onPullRequest: boolean;
77
+ }
68
78
  export interface GetProjectGitRepository {
79
+ /**
80
+ * Deploy hooks are unique URLs that allow you to trigger a deployment of a given branch. See https://vercel.com/docs/deployments/deploy-hooks for full information.
81
+ */
82
+ deployHooks: outputs.GetProjectGitRepositoryDeployHook[];
69
83
  /**
70
84
  * By default, every commit pushed to the main branch will trigger a Production Deployment instead of the usual Preview Deployment. You can switch to a different branch here.
71
85
  */
@@ -79,6 +93,24 @@ export interface GetProjectGitRepository {
79
93
  */
80
94
  type: string;
81
95
  }
96
+ export interface GetProjectGitRepositoryDeployHook {
97
+ /**
98
+ * The ID of the deploy hook.
99
+ */
100
+ id: string;
101
+ /**
102
+ * The name of the deploy hook.
103
+ */
104
+ name: string;
105
+ /**
106
+ * The branch or commit hash that should be deployed.
107
+ */
108
+ ref: string;
109
+ /**
110
+ * A URL that, when a POST request is made to, will trigger a new deployment.
111
+ */
112
+ url: string;
113
+ }
82
114
  export interface GetProjectPasswordProtection {
83
115
  /**
84
116
  * The deployment environment that will be protected.
@@ -101,9 +133,6 @@ export interface GetProjectTrustedIps {
101
133
  }
102
134
  export interface GetProjectTrustedIpsAddress {
103
135
  note: string;
104
- /**
105
- * The value of the environment variable.
106
- */
107
136
  value: string;
108
137
  }
109
138
  export interface GetProjectVercelAuthentication {
@@ -138,7 +167,21 @@ export interface ProjectEnvironment {
138
167
  */
139
168
  value: string;
140
169
  }
170
+ export interface ProjectGitComments {
171
+ /**
172
+ * Whether Commit comments are enabled
173
+ */
174
+ onCommit: boolean;
175
+ /**
176
+ * Whether Pull Request comments are enabled
177
+ */
178
+ onPullRequest: boolean;
179
+ }
141
180
  export interface ProjectGitRepository {
181
+ /**
182
+ * Deploy hooks are unique URLs that allow you to trigger a deployment of a given branch. See https://vercel.com/docs/deployments/deploy-hooks for full information.
183
+ */
184
+ deployHooks?: outputs.ProjectGitRepositoryDeployHook[];
142
185
  /**
143
186
  * By default, every commit pushed to the main branch will trigger a Production Deployment instead of the usual Preview Deployment. You can switch to a different branch here.
144
187
  */
@@ -152,6 +195,24 @@ export interface ProjectGitRepository {
152
195
  */
153
196
  type: string;
154
197
  }
198
+ export interface ProjectGitRepositoryDeployHook {
199
+ /**
200
+ * The ID of the deploy hook.
201
+ */
202
+ id: string;
203
+ /**
204
+ * The name of the deploy hook.
205
+ */
206
+ name: string;
207
+ /**
208
+ * The branch or commit hash that should be deployed.
209
+ */
210
+ ref: string;
211
+ /**
212
+ * A URL that, when a POST request is made to, will trigger a new deployment.
213
+ */
214
+ url: string;
215
+ }
155
216
  export interface ProjectPasswordProtection {
156
217
  /**
157
218
  * The deployment environment to protect. Must be one of `standardProtection`, `allDeployments`, or `onlyPreviewDeployments`.
@@ -182,7 +243,7 @@ export interface ProjectTrustedIpsAddress {
182
243
  */
183
244
  note?: string;
184
245
  /**
185
- * The value of the Environment Variable.
246
+ * The address or CIDR range that can access deployments.
186
247
  */
187
248
  value: string;
188
249
  }
package/webhook.d.ts ADDED
@@ -0,0 +1,127 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * A webhook is a trigger-based HTTP endpoint configured to receive HTTP POST requests through events.
4
+ *
5
+ * When an event happens, a webhook is sent to a third-party app, which can then take appropriate action.
6
+ *
7
+ * > Only Pro and Enterprise teams are able to configure these webhooks at the account level.
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as vercel from "@pulumiverse/vercel";
14
+ *
15
+ * const example = new vercel.Project("example", {});
16
+ * const example2 = new vercel.Project("example2", {});
17
+ * const withProjectIds = new vercel.Webhook("withProjectIds", {
18
+ * events: [
19
+ * "deployment.created",
20
+ * "deployment.succeeded",
21
+ * ],
22
+ * endpoint: "https://example.com/endpoint",
23
+ * projectIds: [
24
+ * example.id,
25
+ * example2.id,
26
+ * ],
27
+ * });
28
+ * const withoutProjectIds = new vercel.Webhook("withoutProjectIds", {
29
+ * events: [
30
+ * "deployment.created",
31
+ * "deployment.succeeded",
32
+ * ],
33
+ * endpoint: "https://example.com/endpoint",
34
+ * });
35
+ * ```
36
+ */
37
+ export declare class Webhook extends pulumi.CustomResource {
38
+ /**
39
+ * Get an existing Webhook resource's state with the given name, ID, and optional extra
40
+ * properties used to qualify the lookup.
41
+ *
42
+ * @param name The _unique_ name of the resulting resource.
43
+ * @param id The _unique_ provider ID of the resource to lookup.
44
+ * @param state Any extra arguments used during the lookup.
45
+ * @param opts Optional settings to control the behavior of the CustomResource.
46
+ */
47
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: WebhookState, opts?: pulumi.CustomResourceOptions): Webhook;
48
+ /**
49
+ * Returns true if the given object is an instance of Webhook. This is designed to work even
50
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
51
+ */
52
+ static isInstance(obj: any): obj is Webhook;
53
+ /**
54
+ * Webhooks events will be sent as POST requests to this URL.
55
+ */
56
+ readonly endpoint: pulumi.Output<string>;
57
+ /**
58
+ * A list of the events the webhook will listen to. At least one must be present.
59
+ */
60
+ readonly events: pulumi.Output<string[]>;
61
+ /**
62
+ * A list of project IDs that the webhook should be associated with. These projects should send events to the specified endpoint.
63
+ */
64
+ readonly projectIds: pulumi.Output<string[] | undefined>;
65
+ /**
66
+ * A secret value which will be provided in the `x-vercel-signature` header and can be used to verify the authenticity of the webhook. See https://vercel.com/docs/observability/webhooks-overview/webhooks-api#securing-webhooks for further details.
67
+ */
68
+ readonly secret: pulumi.Output<string>;
69
+ /**
70
+ * The ID of the team the Webhook should exist under. Required when configuring a team resource if a default team has not been set in the provider.
71
+ */
72
+ readonly teamId: pulumi.Output<string>;
73
+ /**
74
+ * Create a Webhook resource with the given unique name, arguments, and options.
75
+ *
76
+ * @param name The _unique_ name of the resource.
77
+ * @param args The arguments to use to populate this resource's properties.
78
+ * @param opts A bag of options that control this resource's behavior.
79
+ */
80
+ constructor(name: string, args: WebhookArgs, opts?: pulumi.CustomResourceOptions);
81
+ }
82
+ /**
83
+ * Input properties used for looking up and filtering Webhook resources.
84
+ */
85
+ export interface WebhookState {
86
+ /**
87
+ * Webhooks events will be sent as POST requests to this URL.
88
+ */
89
+ endpoint?: pulumi.Input<string>;
90
+ /**
91
+ * A list of the events the webhook will listen to. At least one must be present.
92
+ */
93
+ events?: pulumi.Input<pulumi.Input<string>[]>;
94
+ /**
95
+ * A list of project IDs that the webhook should be associated with. These projects should send events to the specified endpoint.
96
+ */
97
+ projectIds?: pulumi.Input<pulumi.Input<string>[]>;
98
+ /**
99
+ * A secret value which will be provided in the `x-vercel-signature` header and can be used to verify the authenticity of the webhook. See https://vercel.com/docs/observability/webhooks-overview/webhooks-api#securing-webhooks for further details.
100
+ */
101
+ secret?: pulumi.Input<string>;
102
+ /**
103
+ * The ID of the team the Webhook should exist under. Required when configuring a team resource if a default team has not been set in the provider.
104
+ */
105
+ teamId?: pulumi.Input<string>;
106
+ }
107
+ /**
108
+ * The set of arguments for constructing a Webhook resource.
109
+ */
110
+ export interface WebhookArgs {
111
+ /**
112
+ * Webhooks events will be sent as POST requests to this URL.
113
+ */
114
+ endpoint: pulumi.Input<string>;
115
+ /**
116
+ * A list of the events the webhook will listen to. At least one must be present.
117
+ */
118
+ events: pulumi.Input<pulumi.Input<string>[]>;
119
+ /**
120
+ * A list of project IDs that the webhook should be associated with. These projects should send events to the specified endpoint.
121
+ */
122
+ projectIds?: pulumi.Input<pulumi.Input<string>[]>;
123
+ /**
124
+ * The ID of the team the Webhook should exist under. Required when configuring a team resource if a default team has not been set in the provider.
125
+ */
126
+ teamId?: pulumi.Input<string>;
127
+ }
package/webhook.js ADDED
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Webhook = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * A webhook is a trigger-based HTTP endpoint configured to receive HTTP POST requests through events.
10
+ *
11
+ * When an event happens, a webhook is sent to a third-party app, which can then take appropriate action.
12
+ *
13
+ * > Only Pro and Enterprise teams are able to configure these webhooks at the account level.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as vercel from "@pulumiverse/vercel";
20
+ *
21
+ * const example = new vercel.Project("example", {});
22
+ * const example2 = new vercel.Project("example2", {});
23
+ * const withProjectIds = new vercel.Webhook("withProjectIds", {
24
+ * events: [
25
+ * "deployment.created",
26
+ * "deployment.succeeded",
27
+ * ],
28
+ * endpoint: "https://example.com/endpoint",
29
+ * projectIds: [
30
+ * example.id,
31
+ * example2.id,
32
+ * ],
33
+ * });
34
+ * const withoutProjectIds = new vercel.Webhook("withoutProjectIds", {
35
+ * events: [
36
+ * "deployment.created",
37
+ * "deployment.succeeded",
38
+ * ],
39
+ * endpoint: "https://example.com/endpoint",
40
+ * });
41
+ * ```
42
+ */
43
+ class Webhook extends pulumi.CustomResource {
44
+ /**
45
+ * Get an existing Webhook resource's state with the given name, ID, and optional extra
46
+ * properties used to qualify the lookup.
47
+ *
48
+ * @param name The _unique_ name of the resulting resource.
49
+ * @param id The _unique_ provider ID of the resource to lookup.
50
+ * @param state Any extra arguments used during the lookup.
51
+ * @param opts Optional settings to control the behavior of the CustomResource.
52
+ */
53
+ static get(name, id, state, opts) {
54
+ return new Webhook(name, state, Object.assign(Object.assign({}, opts), { id: id }));
55
+ }
56
+ /**
57
+ * Returns true if the given object is an instance of Webhook. This is designed to work even
58
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
59
+ */
60
+ static isInstance(obj) {
61
+ if (obj === undefined || obj === null) {
62
+ return false;
63
+ }
64
+ return obj['__pulumiType'] === Webhook.__pulumiType;
65
+ }
66
+ constructor(name, argsOrState, opts) {
67
+ let resourceInputs = {};
68
+ opts = opts || {};
69
+ if (opts.id) {
70
+ const state = argsOrState;
71
+ resourceInputs["endpoint"] = state ? state.endpoint : undefined;
72
+ resourceInputs["events"] = state ? state.events : undefined;
73
+ resourceInputs["projectIds"] = state ? state.projectIds : undefined;
74
+ resourceInputs["secret"] = state ? state.secret : undefined;
75
+ resourceInputs["teamId"] = state ? state.teamId : undefined;
76
+ }
77
+ else {
78
+ const args = argsOrState;
79
+ if ((!args || args.endpoint === undefined) && !opts.urn) {
80
+ throw new Error("Missing required property 'endpoint'");
81
+ }
82
+ if ((!args || args.events === undefined) && !opts.urn) {
83
+ throw new Error("Missing required property 'events'");
84
+ }
85
+ resourceInputs["endpoint"] = args ? args.endpoint : undefined;
86
+ resourceInputs["events"] = args ? args.events : undefined;
87
+ resourceInputs["projectIds"] = args ? args.projectIds : undefined;
88
+ resourceInputs["teamId"] = args ? args.teamId : undefined;
89
+ resourceInputs["secret"] = undefined /*out*/;
90
+ }
91
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
92
+ const secretOpts = { additionalSecretOutputs: ["secret"] };
93
+ opts = pulumi.mergeOptions(opts, secretOpts);
94
+ super(Webhook.__pulumiType, name, resourceInputs, opts);
95
+ }
96
+ }
97
+ exports.Webhook = Webhook;
98
+ /** @internal */
99
+ Webhook.__pulumiType = 'vercel:index/webhook:Webhook';
100
+ //# sourceMappingURL=webhook.js.map
package/webhook.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../webhook.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAa,OAAQ,SAAQ,MAAM,CAAC,cAAc;IAC9C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAoB,EAAE,IAAmC;QAClH,OAAO,IAAI,OAAO,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC9D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC;IACxD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAwC,EAAE,IAAmC;QACnG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAuC,CAAC;YACtD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;aAAM;YACH,MAAM,IAAI,GAAG,WAAsC,CAAC;YACpD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAChD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;;AArFL,0BAsFC;AAxEG,gBAAgB;AACO,oBAAY,GAAG,8BAA8B,CAAC"}