@pulumiverse/vercel 0.15.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 (65) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +55 -0
  3. package/alias.d.ts +77 -0
  4. package/alias.js +64 -0
  5. package/alias.js.map +1 -0
  6. package/config/index.d.ts +1 -0
  7. package/config/index.js +21 -0
  8. package/config/index.js.map +1 -0
  9. package/config/vars.d.ts +10 -0
  10. package/config/vars.js +19 -0
  11. package/config/vars.js.map +1 -0
  12. package/deployment.d.ts +177 -0
  13. package/deployment.js +72 -0
  14. package/deployment.js.map +1 -0
  15. package/dnsRecord.d.ts +240 -0
  16. package/dnsRecord.js +154 -0
  17. package/dnsRecord.js.map +1 -0
  18. package/getAlias.d.ts +60 -0
  19. package/getAlias.js +30 -0
  20. package/getAlias.js.map +1 -0
  21. package/getFile.d.ts +79 -0
  22. package/getFile.js +67 -0
  23. package/getFile.js.map +1 -0
  24. package/getPrebuiltProject.d.ts +31 -0
  25. package/getPrebuiltProject.js +19 -0
  26. package/getPrebuiltProject.js.map +1 -0
  27. package/getProject.d.ts +146 -0
  28. package/getProject.js +59 -0
  29. package/getProject.js.map +1 -0
  30. package/getProjectDirectory.d.ts +31 -0
  31. package/getProjectDirectory.js +19 -0
  32. package/getProjectDirectory.js.map +1 -0
  33. package/index.d.ts +42 -0
  34. package/index.js +83 -0
  35. package/index.js.map +1 -0
  36. package/package.json +28 -0
  37. package/package.json.bak +28 -0
  38. package/project.d.ts +275 -0
  39. package/project.js +118 -0
  40. package/project.js.map +1 -0
  41. package/projectDomain.d.ts +152 -0
  42. package/projectDomain.js +109 -0
  43. package/projectDomain.js.map +1 -0
  44. package/projectEnvironmentVariable.d.ts +152 -0
  45. package/projectEnvironmentVariable.js +117 -0
  46. package/projectEnvironmentVariable.js.map +1 -0
  47. package/provider.d.ts +47 -0
  48. package/provider.js +48 -0
  49. package/provider.js.map +1 -0
  50. package/scripts/install-pulumi-plugin.js +26 -0
  51. package/sharedEnvironmentVariable.d.ts +131 -0
  52. package/sharedEnvironmentVariable.js +106 -0
  53. package/sharedEnvironmentVariable.js.map +1 -0
  54. package/types/index.d.ts +3 -0
  55. package/types/index.js +11 -0
  56. package/types/index.js.map +1 -0
  57. package/types/input.d.ts +105 -0
  58. package/types/input.js +5 -0
  59. package/types/input.js.map +1 -0
  60. package/types/output.d.ts +140 -0
  61. package/types/output.js +5 -0
  62. package/types/output.js.map +1 -0
  63. package/utilities.d.ts +4 -0
  64. package/utilities.js +69 -0
  65. package/utilities.js.map +1 -0
package/project.d.ts ADDED
@@ -0,0 +1,275 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as vercel from "@pulumiverse/vercel";
10
+ *
11
+ * // A project that is connected to a git repository.
12
+ * // Deployments will be created automatically
13
+ * // on every branch push and merges onto the Production Branch.
14
+ * const withGit = new vercel.Project("withGit", {
15
+ * framework: "nextjs",
16
+ * gitRepository: {
17
+ * repo: "vercel/some-repo",
18
+ * type: "github",
19
+ * },
20
+ * });
21
+ * // A project that is not connected to a git repository.
22
+ * // Deployments will need to be created manually through
23
+ * // terraform, or via the vercel CLI.
24
+ * const example = new vercel.Project("example", {framework: "nextjs"});
25
+ * ```
26
+ *
27
+ * ## Import
28
+ *
29
+ * If importing into a personal account, or with a team configured on the provider, simply use the project ID. - project_id can be found in the project `settings` tab in the Vercel UI.
30
+ *
31
+ * ```sh
32
+ * $ pulumi import vercel:index/project:Project example prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
33
+ * ```
34
+ *
35
+ * Alternatively, you can import via the team_id and project_id. - team_id can be found in the team `settings` tab in the Vercel UI. - project_id can be found in the project `settings` tab in the Vercel UI.
36
+ *
37
+ * ```sh
38
+ * $ pulumi import vercel:index/project:Project example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
39
+ * ```
40
+ */
41
+ export declare class Project extends pulumi.CustomResource {
42
+ /**
43
+ * Get an existing Project resource's state with the given name, ID, and optional extra
44
+ * properties used to qualify the lookup.
45
+ *
46
+ * @param name The _unique_ name of the resulting resource.
47
+ * @param id The _unique_ provider ID of the resource to lookup.
48
+ * @param state Any extra arguments used during the lookup.
49
+ * @param opts Optional settings to control the behavior of the CustomResource.
50
+ */
51
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProjectState, opts?: pulumi.CustomResourceOptions): Project;
52
+ /**
53
+ * Returns true if the given object is an instance of Project. This is designed to work even
54
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
55
+ */
56
+ static isInstance(obj: any): obj is Project;
57
+ /**
58
+ * The build command for this project. If omitted, this value will be automatically detected.
59
+ */
60
+ readonly buildCommand: pulumi.Output<string | undefined>;
61
+ /**
62
+ * The dev command for this project. If omitted, this value will be automatically detected.
63
+ */
64
+ readonly devCommand: pulumi.Output<string | undefined>;
65
+ /**
66
+ * A set of Environment Variables that should be configured for the project.
67
+ */
68
+ readonly environments: pulumi.Output<outputs.ProjectEnvironment[] | undefined>;
69
+ /**
70
+ * The framework that is being used for this project. If omitted, no framework is selected.
71
+ */
72
+ readonly framework: pulumi.Output<string | undefined>;
73
+ /**
74
+ * The Git Repository that will be connected to the project. When this is defined, any pushes to the specified connected Git Repository will be automatically deployed. This requires the corresponding Vercel for [Github](https://vercel.com/docs/concepts/git/vercel-for-github), [Gitlab](https://vercel.com/docs/concepts/git/vercel-for-gitlab) or [Bitbucket](https://vercel.com/docs/concepts/git/vercel-for-bitbucket) plugins to be installed.
75
+ */
76
+ readonly gitRepository: pulumi.Output<outputs.ProjectGitRepository | undefined>;
77
+ /**
78
+ * When a commit is pushed to the Git repository that is connected with your Project, its SHA will determine if a new Build has to be issued. If the SHA was deployed before, no new Build will be issued. You can customize this behavior with a command that exits with code 1 (new Build needed) or code 0.
79
+ */
80
+ readonly ignoreCommand: pulumi.Output<string | undefined>;
81
+ /**
82
+ * The install command for this project. If omitted, this value will be automatically detected.
83
+ */
84
+ readonly installCommand: pulumi.Output<string | undefined>;
85
+ /**
86
+ * The desired name for the project.
87
+ */
88
+ readonly name: pulumi.Output<string>;
89
+ /**
90
+ * The output directory of the project. If omitted, this value will be automatically detected.
91
+ */
92
+ readonly outputDirectory: pulumi.Output<string | undefined>;
93
+ /**
94
+ * Ensures visitors of your Preview Deployments must enter a password in order to gain access.
95
+ */
96
+ readonly passwordProtection: pulumi.Output<outputs.ProjectPasswordProtection | undefined>;
97
+ /**
98
+ * Allow automation services to bypass Vercel Authentication and Password Protection for both Preview and Production Deployments on this project when using an HTTP header named `x-vercel-protection-bypass` with a value of the `passwordProtectionForAutomationSecret` field.
99
+ */
100
+ readonly protectionBypassForAutomation: pulumi.Output<boolean | undefined>;
101
+ /**
102
+ * If `protectionBypassForAutomation` is enabled, use this value in the `x-vercel-protection-bypass` header to bypass Vercel Authentication and Password Protection for both Preview and Production Deployments.
103
+ */
104
+ readonly protectionBypassForAutomationSecret: pulumi.Output<string>;
105
+ /**
106
+ * By default, visitors to the `/_logs` and `/_src` paths of your Production and Preview Deployments must log in with Vercel (requires being a member of your team) to see the Source, Logs and Deployment Status of your project. Setting `publicSource` to `true` disables this behaviour, meaning the Source, Logs and Deployment Status can be publicly viewed.
107
+ */
108
+ readonly publicSource: pulumi.Output<boolean | undefined>;
109
+ /**
110
+ * The name of a directory or relative path to the source code of your project. If omitted, it will default to the project root.
111
+ */
112
+ readonly rootDirectory: pulumi.Output<string | undefined>;
113
+ /**
114
+ * The region on Vercel's network to which your Serverless Functions are deployed. It should be close to any data source your Serverless Function might depend on. A new Deployment is required for your changes to take effect. Please see [Vercel's documentation](https://vercel.com/docs/concepts/edge-network/regions) for a full list of regions.
115
+ */
116
+ readonly serverlessFunctionRegion: pulumi.Output<string>;
117
+ /**
118
+ * The team ID to add the project to. Required when configuring a team resource if a default team has not been set in the provider.
119
+ */
120
+ readonly teamId: pulumi.Output<string>;
121
+ /**
122
+ * Ensures visitors to your Preview Deployments are logged into Vercel and have a minimum of Viewer access on your team.
123
+ */
124
+ readonly vercelAuthentication: pulumi.Output<outputs.ProjectVercelAuthentication | undefined>;
125
+ /**
126
+ * Create a Project resource with the given unique name, arguments, and options.
127
+ *
128
+ * @param name The _unique_ name of the resource.
129
+ * @param args The arguments to use to populate this resource's properties.
130
+ * @param opts A bag of options that control this resource's behavior.
131
+ */
132
+ constructor(name: string, args?: ProjectArgs, opts?: pulumi.CustomResourceOptions);
133
+ }
134
+ /**
135
+ * Input properties used for looking up and filtering Project resources.
136
+ */
137
+ export interface ProjectState {
138
+ /**
139
+ * The build command for this project. If omitted, this value will be automatically detected.
140
+ */
141
+ buildCommand?: pulumi.Input<string>;
142
+ /**
143
+ * The dev command for this project. If omitted, this value will be automatically detected.
144
+ */
145
+ devCommand?: pulumi.Input<string>;
146
+ /**
147
+ * A set of Environment Variables that should be configured for the project.
148
+ */
149
+ environments?: pulumi.Input<pulumi.Input<inputs.ProjectEnvironment>[]>;
150
+ /**
151
+ * The framework that is being used for this project. If omitted, no framework is selected.
152
+ */
153
+ framework?: pulumi.Input<string>;
154
+ /**
155
+ * The Git Repository that will be connected to the project. When this is defined, any pushes to the specified connected Git Repository will be automatically deployed. This requires the corresponding Vercel for [Github](https://vercel.com/docs/concepts/git/vercel-for-github), [Gitlab](https://vercel.com/docs/concepts/git/vercel-for-gitlab) or [Bitbucket](https://vercel.com/docs/concepts/git/vercel-for-bitbucket) plugins to be installed.
156
+ */
157
+ gitRepository?: pulumi.Input<inputs.ProjectGitRepository>;
158
+ /**
159
+ * When a commit is pushed to the Git repository that is connected with your Project, its SHA will determine if a new Build has to be issued. If the SHA was deployed before, no new Build will be issued. You can customize this behavior with a command that exits with code 1 (new Build needed) or code 0.
160
+ */
161
+ ignoreCommand?: pulumi.Input<string>;
162
+ /**
163
+ * The install command for this project. If omitted, this value will be automatically detected.
164
+ */
165
+ installCommand?: pulumi.Input<string>;
166
+ /**
167
+ * The desired name for the project.
168
+ */
169
+ name?: pulumi.Input<string>;
170
+ /**
171
+ * The output directory of the project. If omitted, this value will be automatically detected.
172
+ */
173
+ outputDirectory?: pulumi.Input<string>;
174
+ /**
175
+ * Ensures visitors of your Preview Deployments must enter a password in order to gain access.
176
+ */
177
+ passwordProtection?: pulumi.Input<inputs.ProjectPasswordProtection>;
178
+ /**
179
+ * Allow automation services to bypass Vercel Authentication and Password Protection for both Preview and Production Deployments on this project when using an HTTP header named `x-vercel-protection-bypass` with a value of the `passwordProtectionForAutomationSecret` field.
180
+ */
181
+ protectionBypassForAutomation?: pulumi.Input<boolean>;
182
+ /**
183
+ * If `protectionBypassForAutomation` is enabled, use this value in the `x-vercel-protection-bypass` header to bypass Vercel Authentication and Password Protection for both Preview and Production Deployments.
184
+ */
185
+ protectionBypassForAutomationSecret?: pulumi.Input<string>;
186
+ /**
187
+ * By default, visitors to the `/_logs` and `/_src` paths of your Production and Preview Deployments must log in with Vercel (requires being a member of your team) to see the Source, Logs and Deployment Status of your project. Setting `publicSource` to `true` disables this behaviour, meaning the Source, Logs and Deployment Status can be publicly viewed.
188
+ */
189
+ publicSource?: pulumi.Input<boolean>;
190
+ /**
191
+ * The name of a directory or relative path to the source code of your project. If omitted, it will default to the project root.
192
+ */
193
+ rootDirectory?: pulumi.Input<string>;
194
+ /**
195
+ * The region on Vercel's network to which your Serverless Functions are deployed. It should be close to any data source your Serverless Function might depend on. A new Deployment is required for your changes to take effect. Please see [Vercel's documentation](https://vercel.com/docs/concepts/edge-network/regions) for a full list of regions.
196
+ */
197
+ serverlessFunctionRegion?: pulumi.Input<string>;
198
+ /**
199
+ * The team ID to add the project to. Required when configuring a team resource if a default team has not been set in the provider.
200
+ */
201
+ teamId?: pulumi.Input<string>;
202
+ /**
203
+ * Ensures visitors to your Preview Deployments are logged into Vercel and have a minimum of Viewer access on your team.
204
+ */
205
+ vercelAuthentication?: pulumi.Input<inputs.ProjectVercelAuthentication>;
206
+ }
207
+ /**
208
+ * The set of arguments for constructing a Project resource.
209
+ */
210
+ export interface ProjectArgs {
211
+ /**
212
+ * The build command for this project. If omitted, this value will be automatically detected.
213
+ */
214
+ buildCommand?: pulumi.Input<string>;
215
+ /**
216
+ * The dev command for this project. If omitted, this value will be automatically detected.
217
+ */
218
+ devCommand?: pulumi.Input<string>;
219
+ /**
220
+ * A set of Environment Variables that should be configured for the project.
221
+ */
222
+ environments?: pulumi.Input<pulumi.Input<inputs.ProjectEnvironment>[]>;
223
+ /**
224
+ * The framework that is being used for this project. If omitted, no framework is selected.
225
+ */
226
+ framework?: pulumi.Input<string>;
227
+ /**
228
+ * The Git Repository that will be connected to the project. When this is defined, any pushes to the specified connected Git Repository will be automatically deployed. This requires the corresponding Vercel for [Github](https://vercel.com/docs/concepts/git/vercel-for-github), [Gitlab](https://vercel.com/docs/concepts/git/vercel-for-gitlab) or [Bitbucket](https://vercel.com/docs/concepts/git/vercel-for-bitbucket) plugins to be installed.
229
+ */
230
+ gitRepository?: pulumi.Input<inputs.ProjectGitRepository>;
231
+ /**
232
+ * When a commit is pushed to the Git repository that is connected with your Project, its SHA will determine if a new Build has to be issued. If the SHA was deployed before, no new Build will be issued. You can customize this behavior with a command that exits with code 1 (new Build needed) or code 0.
233
+ */
234
+ ignoreCommand?: pulumi.Input<string>;
235
+ /**
236
+ * The install command for this project. If omitted, this value will be automatically detected.
237
+ */
238
+ installCommand?: pulumi.Input<string>;
239
+ /**
240
+ * The desired name for the project.
241
+ */
242
+ name?: pulumi.Input<string>;
243
+ /**
244
+ * The output directory of the project. If omitted, this value will be automatically detected.
245
+ */
246
+ outputDirectory?: pulumi.Input<string>;
247
+ /**
248
+ * Ensures visitors of your Preview Deployments must enter a password in order to gain access.
249
+ */
250
+ passwordProtection?: pulumi.Input<inputs.ProjectPasswordProtection>;
251
+ /**
252
+ * Allow automation services to bypass Vercel Authentication and Password Protection for both Preview and Production Deployments on this project when using an HTTP header named `x-vercel-protection-bypass` with a value of the `passwordProtectionForAutomationSecret` field.
253
+ */
254
+ protectionBypassForAutomation?: pulumi.Input<boolean>;
255
+ /**
256
+ * By default, visitors to the `/_logs` and `/_src` paths of your Production and Preview Deployments must log in with Vercel (requires being a member of your team) to see the Source, Logs and Deployment Status of your project. Setting `publicSource` to `true` disables this behaviour, meaning the Source, Logs and Deployment Status can be publicly viewed.
257
+ */
258
+ publicSource?: pulumi.Input<boolean>;
259
+ /**
260
+ * The name of a directory or relative path to the source code of your project. If omitted, it will default to the project root.
261
+ */
262
+ rootDirectory?: pulumi.Input<string>;
263
+ /**
264
+ * The region on Vercel's network to which your Serverless Functions are deployed. It should be close to any data source your Serverless Function might depend on. A new Deployment is required for your changes to take effect. Please see [Vercel's documentation](https://vercel.com/docs/concepts/edge-network/regions) for a full list of regions.
265
+ */
266
+ serverlessFunctionRegion?: pulumi.Input<string>;
267
+ /**
268
+ * The team ID to add the project to. Required when configuring a team resource if a default team has not been set in the provider.
269
+ */
270
+ teamId?: pulumi.Input<string>;
271
+ /**
272
+ * Ensures visitors to your Preview Deployments are logged into Vercel and have a minimum of Viewer access on your team.
273
+ */
274
+ vercelAuthentication?: pulumi.Input<inputs.ProjectVercelAuthentication>;
275
+ }
package/project.js ADDED
@@ -0,0 +1,118 @@
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.Project = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as vercel from "@pulumiverse/vercel";
14
+ *
15
+ * // A project that is connected to a git repository.
16
+ * // Deployments will be created automatically
17
+ * // on every branch push and merges onto the Production Branch.
18
+ * const withGit = new vercel.Project("withGit", {
19
+ * framework: "nextjs",
20
+ * gitRepository: {
21
+ * repo: "vercel/some-repo",
22
+ * type: "github",
23
+ * },
24
+ * });
25
+ * // A project that is not connected to a git repository.
26
+ * // Deployments will need to be created manually through
27
+ * // terraform, or via the vercel CLI.
28
+ * const example = new vercel.Project("example", {framework: "nextjs"});
29
+ * ```
30
+ *
31
+ * ## Import
32
+ *
33
+ * If importing into a personal account, or with a team configured on the provider, simply use the project ID. - project_id can be found in the project `settings` tab in the Vercel UI.
34
+ *
35
+ * ```sh
36
+ * $ pulumi import vercel:index/project:Project example prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
37
+ * ```
38
+ *
39
+ * Alternatively, you can import via the team_id and project_id. - team_id can be found in the team `settings` tab in the Vercel UI. - project_id can be found in the project `settings` tab in the Vercel UI.
40
+ *
41
+ * ```sh
42
+ * $ pulumi import vercel:index/project:Project example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
43
+ * ```
44
+ */
45
+ class Project extends pulumi.CustomResource {
46
+ /**
47
+ * Get an existing Project resource's state with the given name, ID, and optional extra
48
+ * properties used to qualify the lookup.
49
+ *
50
+ * @param name The _unique_ name of the resulting resource.
51
+ * @param id The _unique_ provider ID of the resource to lookup.
52
+ * @param state Any extra arguments used during the lookup.
53
+ * @param opts Optional settings to control the behavior of the CustomResource.
54
+ */
55
+ static get(name, id, state, opts) {
56
+ return new Project(name, state, Object.assign(Object.assign({}, opts), { id: id }));
57
+ }
58
+ /**
59
+ * Returns true if the given object is an instance of Project. This is designed to work even
60
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
61
+ */
62
+ static isInstance(obj) {
63
+ if (obj === undefined || obj === null) {
64
+ return false;
65
+ }
66
+ return obj['__pulumiType'] === Project.__pulumiType;
67
+ }
68
+ constructor(name, argsOrState, opts) {
69
+ let resourceInputs = {};
70
+ opts = opts || {};
71
+ if (opts.id) {
72
+ const state = argsOrState;
73
+ resourceInputs["buildCommand"] = state ? state.buildCommand : undefined;
74
+ resourceInputs["devCommand"] = state ? state.devCommand : undefined;
75
+ resourceInputs["environments"] = state ? state.environments : undefined;
76
+ resourceInputs["framework"] = state ? state.framework : undefined;
77
+ resourceInputs["gitRepository"] = state ? state.gitRepository : undefined;
78
+ resourceInputs["ignoreCommand"] = state ? state.ignoreCommand : undefined;
79
+ resourceInputs["installCommand"] = state ? state.installCommand : undefined;
80
+ resourceInputs["name"] = state ? state.name : undefined;
81
+ resourceInputs["outputDirectory"] = state ? state.outputDirectory : undefined;
82
+ resourceInputs["passwordProtection"] = state ? state.passwordProtection : undefined;
83
+ resourceInputs["protectionBypassForAutomation"] = state ? state.protectionBypassForAutomation : undefined;
84
+ resourceInputs["protectionBypassForAutomationSecret"] = state ? state.protectionBypassForAutomationSecret : undefined;
85
+ resourceInputs["publicSource"] = state ? state.publicSource : undefined;
86
+ resourceInputs["rootDirectory"] = state ? state.rootDirectory : undefined;
87
+ resourceInputs["serverlessFunctionRegion"] = state ? state.serverlessFunctionRegion : undefined;
88
+ resourceInputs["teamId"] = state ? state.teamId : undefined;
89
+ resourceInputs["vercelAuthentication"] = state ? state.vercelAuthentication : undefined;
90
+ }
91
+ else {
92
+ const args = argsOrState;
93
+ resourceInputs["buildCommand"] = args ? args.buildCommand : undefined;
94
+ resourceInputs["devCommand"] = args ? args.devCommand : undefined;
95
+ resourceInputs["environments"] = args ? args.environments : undefined;
96
+ resourceInputs["framework"] = args ? args.framework : undefined;
97
+ resourceInputs["gitRepository"] = args ? args.gitRepository : undefined;
98
+ resourceInputs["ignoreCommand"] = args ? args.ignoreCommand : undefined;
99
+ resourceInputs["installCommand"] = args ? args.installCommand : undefined;
100
+ resourceInputs["name"] = args ? args.name : undefined;
101
+ resourceInputs["outputDirectory"] = args ? args.outputDirectory : undefined;
102
+ resourceInputs["passwordProtection"] = args ? args.passwordProtection : undefined;
103
+ resourceInputs["protectionBypassForAutomation"] = args ? args.protectionBypassForAutomation : undefined;
104
+ resourceInputs["publicSource"] = args ? args.publicSource : undefined;
105
+ resourceInputs["rootDirectory"] = args ? args.rootDirectory : undefined;
106
+ resourceInputs["serverlessFunctionRegion"] = args ? args.serverlessFunctionRegion : undefined;
107
+ resourceInputs["teamId"] = args ? args.teamId : undefined;
108
+ resourceInputs["vercelAuthentication"] = args ? args.vercelAuthentication : undefined;
109
+ resourceInputs["protectionBypassForAutomationSecret"] = undefined /*out*/;
110
+ }
111
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
112
+ super(Project.__pulumiType, name, resourceInputs, opts);
113
+ }
114
+ }
115
+ exports.Project = Project;
116
+ /** @internal */
117
+ Project.__pulumiType = 'vercel:index/project:Project';
118
+ //# sourceMappingURL=project.js.map
package/project.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Provides a Project Domain resource.
4
+ *
5
+ * A Project Domain is used to associate a domain name with a `vercel.Project`.
6
+ *
7
+ * By default, Project Domains will be automatically applied to any `production` deployments.
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as vercel from "@pulumiverse/vercel";
14
+ *
15
+ * const exampleProject = new vercel.Project("exampleProject", {});
16
+ * // A simple domain that will be automatically
17
+ * // applied to each production deployment
18
+ * const exampleProjectDomain = new vercel.ProjectDomain("exampleProjectDomain", {
19
+ * projectId: exampleProject.id,
20
+ * domain: "i-love.vercel.app",
21
+ * });
22
+ * // A redirect of a domain name to a second domain name.
23
+ * // The status_code can optionally be controlled.
24
+ * const exampleRedirect = new vercel.ProjectDomain("exampleRedirect", {
25
+ * projectId: exampleProject.id,
26
+ * domain: "i-also-love.vercel.app",
27
+ * redirect: exampleProjectDomain.domain,
28
+ * redirectStatusCode: 307,
29
+ * });
30
+ * ```
31
+ *
32
+ * ## Import
33
+ *
34
+ * If importing into a personal account, or with a team configured on the provider, simply use the project ID and domain. - project_id can be found in the project `settings` tab in the Vercel UI.
35
+ *
36
+ * ```sh
37
+ * $ pulumi import vercel:index/projectDomain:ProjectDomain example prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/example.com
38
+ * ```
39
+ *
40
+ * Alternatively, you can import via the team_id, project_id and domain name. - team_id can be found in the team `settings` tab in the Vercel UI. - project_id can be found in the project `settings` tab in the Vercel UI.
41
+ *
42
+ * ```sh
43
+ * $ pulumi import vercel:index/projectDomain:ProjectDomain example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/example.com
44
+ * ```
45
+ */
46
+ export declare class ProjectDomain extends pulumi.CustomResource {
47
+ /**
48
+ * Get an existing ProjectDomain resource's state with the given name, ID, and optional extra
49
+ * properties used to qualify the lookup.
50
+ *
51
+ * @param name The _unique_ name of the resulting resource.
52
+ * @param id The _unique_ provider ID of the resource to lookup.
53
+ * @param state Any extra arguments used during the lookup.
54
+ * @param opts Optional settings to control the behavior of the CustomResource.
55
+ */
56
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProjectDomainState, opts?: pulumi.CustomResourceOptions): ProjectDomain;
57
+ /**
58
+ * Returns true if the given object is an instance of ProjectDomain. This is designed to work even
59
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
+ */
61
+ static isInstance(obj: any): obj is ProjectDomain;
62
+ /**
63
+ * The domain name to associate with the project.
64
+ */
65
+ readonly domain: pulumi.Output<string>;
66
+ /**
67
+ * Git branch to link to the project domain. Deployments from this git branch will be assigned the domain name.
68
+ */
69
+ readonly gitBranch: pulumi.Output<string | undefined>;
70
+ /**
71
+ * The project ID to add the deployment to.
72
+ */
73
+ readonly projectId: pulumi.Output<string>;
74
+ /**
75
+ * The domain name that serves as a target destination for redirects.
76
+ */
77
+ readonly redirect: pulumi.Output<string | undefined>;
78
+ /**
79
+ * The HTTP status code to use when serving as a redirect.
80
+ */
81
+ readonly redirectStatusCode: pulumi.Output<number | undefined>;
82
+ /**
83
+ * The ID of the team the project exists under. Required when configuring a team resource if a default team has not been set in the provider.
84
+ */
85
+ readonly teamId: pulumi.Output<string>;
86
+ /**
87
+ * Create a ProjectDomain resource with the given unique name, arguments, and options.
88
+ *
89
+ * @param name The _unique_ name of the resource.
90
+ * @param args The arguments to use to populate this resource's properties.
91
+ * @param opts A bag of options that control this resource's behavior.
92
+ */
93
+ constructor(name: string, args: ProjectDomainArgs, opts?: pulumi.CustomResourceOptions);
94
+ }
95
+ /**
96
+ * Input properties used for looking up and filtering ProjectDomain resources.
97
+ */
98
+ export interface ProjectDomainState {
99
+ /**
100
+ * The domain name to associate with the project.
101
+ */
102
+ domain?: pulumi.Input<string>;
103
+ /**
104
+ * Git branch to link to the project domain. Deployments from this git branch will be assigned the domain name.
105
+ */
106
+ gitBranch?: pulumi.Input<string>;
107
+ /**
108
+ * The project ID to add the deployment to.
109
+ */
110
+ projectId?: pulumi.Input<string>;
111
+ /**
112
+ * The domain name that serves as a target destination for redirects.
113
+ */
114
+ redirect?: pulumi.Input<string>;
115
+ /**
116
+ * The HTTP status code to use when serving as a redirect.
117
+ */
118
+ redirectStatusCode?: pulumi.Input<number>;
119
+ /**
120
+ * The ID of the team the project exists under. Required when configuring a team resource if a default team has not been set in the provider.
121
+ */
122
+ teamId?: pulumi.Input<string>;
123
+ }
124
+ /**
125
+ * The set of arguments for constructing a ProjectDomain resource.
126
+ */
127
+ export interface ProjectDomainArgs {
128
+ /**
129
+ * The domain name to associate with the project.
130
+ */
131
+ domain: pulumi.Input<string>;
132
+ /**
133
+ * Git branch to link to the project domain. Deployments from this git branch will be assigned the domain name.
134
+ */
135
+ gitBranch?: pulumi.Input<string>;
136
+ /**
137
+ * The project ID to add the deployment to.
138
+ */
139
+ projectId: pulumi.Input<string>;
140
+ /**
141
+ * The domain name that serves as a target destination for redirects.
142
+ */
143
+ redirect?: pulumi.Input<string>;
144
+ /**
145
+ * The HTTP status code to use when serving as a redirect.
146
+ */
147
+ redirectStatusCode?: pulumi.Input<number>;
148
+ /**
149
+ * The ID of the team the project exists under. Required when configuring a team resource if a default team has not been set in the provider.
150
+ */
151
+ teamId?: pulumi.Input<string>;
152
+ }
@@ -0,0 +1,109 @@
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.ProjectDomain = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Provides a Project Domain resource.
10
+ *
11
+ * A Project Domain is used to associate a domain name with a `vercel.Project`.
12
+ *
13
+ * By default, Project Domains will be automatically applied to any `production` deployments.
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
+ * // A simple domain that will be automatically
23
+ * // applied to each production deployment
24
+ * const exampleProjectDomain = new vercel.ProjectDomain("exampleProjectDomain", {
25
+ * projectId: exampleProject.id,
26
+ * domain: "i-love.vercel.app",
27
+ * });
28
+ * // A redirect of a domain name to a second domain name.
29
+ * // The status_code can optionally be controlled.
30
+ * const exampleRedirect = new vercel.ProjectDomain("exampleRedirect", {
31
+ * projectId: exampleProject.id,
32
+ * domain: "i-also-love.vercel.app",
33
+ * redirect: exampleProjectDomain.domain,
34
+ * redirectStatusCode: 307,
35
+ * });
36
+ * ```
37
+ *
38
+ * ## Import
39
+ *
40
+ * If importing into a personal account, or with a team configured on the provider, simply use the project ID and domain. - project_id can be found in the project `settings` tab in the Vercel UI.
41
+ *
42
+ * ```sh
43
+ * $ pulumi import vercel:index/projectDomain:ProjectDomain example prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/example.com
44
+ * ```
45
+ *
46
+ * Alternatively, you can import via the team_id, project_id and domain name. - team_id can be found in the team `settings` tab in the Vercel UI. - project_id can be found in the project `settings` tab in the Vercel UI.
47
+ *
48
+ * ```sh
49
+ * $ pulumi import vercel:index/projectDomain:ProjectDomain example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/example.com
50
+ * ```
51
+ */
52
+ class ProjectDomain extends pulumi.CustomResource {
53
+ /**
54
+ * Get an existing ProjectDomain resource's state with the given name, ID, and optional extra
55
+ * properties used to qualify the lookup.
56
+ *
57
+ * @param name The _unique_ name of the resulting resource.
58
+ * @param id The _unique_ provider ID of the resource to lookup.
59
+ * @param state Any extra arguments used during the lookup.
60
+ * @param opts Optional settings to control the behavior of the CustomResource.
61
+ */
62
+ static get(name, id, state, opts) {
63
+ return new ProjectDomain(name, state, Object.assign(Object.assign({}, opts), { id: id }));
64
+ }
65
+ /**
66
+ * Returns true if the given object is an instance of ProjectDomain. This is designed to work even
67
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
68
+ */
69
+ static isInstance(obj) {
70
+ if (obj === undefined || obj === null) {
71
+ return false;
72
+ }
73
+ return obj['__pulumiType'] === ProjectDomain.__pulumiType;
74
+ }
75
+ constructor(name, argsOrState, opts) {
76
+ let resourceInputs = {};
77
+ opts = opts || {};
78
+ if (opts.id) {
79
+ const state = argsOrState;
80
+ resourceInputs["domain"] = state ? state.domain : undefined;
81
+ resourceInputs["gitBranch"] = state ? state.gitBranch : undefined;
82
+ resourceInputs["projectId"] = state ? state.projectId : undefined;
83
+ resourceInputs["redirect"] = state ? state.redirect : undefined;
84
+ resourceInputs["redirectStatusCode"] = state ? state.redirectStatusCode : undefined;
85
+ resourceInputs["teamId"] = state ? state.teamId : undefined;
86
+ }
87
+ else {
88
+ const args = argsOrState;
89
+ if ((!args || args.domain === undefined) && !opts.urn) {
90
+ throw new Error("Missing required property 'domain'");
91
+ }
92
+ if ((!args || args.projectId === undefined) && !opts.urn) {
93
+ throw new Error("Missing required property 'projectId'");
94
+ }
95
+ resourceInputs["domain"] = args ? args.domain : undefined;
96
+ resourceInputs["gitBranch"] = args ? args.gitBranch : undefined;
97
+ resourceInputs["projectId"] = args ? args.projectId : undefined;
98
+ resourceInputs["redirect"] = args ? args.redirect : undefined;
99
+ resourceInputs["redirectStatusCode"] = args ? args.redirectStatusCode : undefined;
100
+ resourceInputs["teamId"] = args ? args.teamId : undefined;
101
+ }
102
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
103
+ super(ProjectDomain.__pulumiType, name, resourceInputs, opts);
104
+ }
105
+ }
106
+ exports.ProjectDomain = ProjectDomain;
107
+ /** @internal */
108
+ ProjectDomain.__pulumiType = 'vercel:index/projectDomain:ProjectDomain';
109
+ //# sourceMappingURL=projectDomain.js.map