published on Wednesday, Jul 22, 2026 by Pulumiverse
published on Wednesday, Jul 22, 2026 by Pulumiverse
Provides a Deployment resource.
A Deployment is the result of building your Project and making it available through a live URL.
When making deployments, the Project will be uploaded and transformed into a production-ready output through the use of a Build Step.
Once the build step has completed successfully, a new, immutable deployment will be made available at the preview URL. Deployments are retained indefinitely unless deleted manually.
In order to provide files to a deployment, you’ll need to use the
vercel.getFileorvercel.getProjectDirectorydata sources.
If you are creating Deployments through terraform and intend to use both preview and production deployments, you may wish to ’layer’ your terraform, creating the Project with a different set of terraform to your Deployment.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vercel from "@pulumiverse/vercel";
// In this example, we are assuming that a nextjs UI
// exists in a `ui` directory and any terraform exists in a `terraform` directory.
// E.g.
// ```
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="python">
```python
import pulumi
import pulumi_vercel as vercel
import pulumiverse_vercel as vercel
# In this example, we are assuming that a nextjs UI
# exists in a `ui` directory and any terraform exists in a `terraform` directory.
# E.g.
# ```
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="go">
```go
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-vercel/sdk/v5/go/vercel"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// In this example, we are assuming that a nextjs UI
// exists in a `ui` directory and any terraform exists in a `terraform` directory.
// E.g.
// ```
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="csharp">
```csharp
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vercel = Pulumiverse.Vercel;
return await Deployment.RunAsync(() =>
{
// In this example, we are assuming that a nextjs UI
// exists in a `ui` directory and any terraform exists in a `terraform` directory.
// E.g.
// ```
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="java">
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vercel.VercelFunctions;
import com.pulumi.vercel.inputs.GetProjectDirectoryArgs;
import com.pulumi.vercel.inputs.GetProjectArgs;
import com.pulumiverse.vercel.Deployment;
import com.pulumiverse.vercel.DeploymentArgs;
import com.pulumiverse.vercel.Project;
import com.pulumiverse.vercel.ProjectArgs;
import com.pulumi.vercel.inputs.ProjectGitRepositoryArgs;
import com.pulumi.vercel.inputs.GetPrebuiltProjectArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// In this example, we are assuming that a nextjs UI
// exists in a `ui` directory and any terraform exists in a `terraform` directory.
// E.g.
// ```
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="yaml">
```yaml
resources:
filesExampleDeployment:
type: vercel:Deployment
name: files_example
properties:
projectId: ${filesExampleGetProject.id}
files: ${filesExample.files}
pathPrefix: ${filesExample.path}
production: true
environment:
FOO: bar
## Or deploying a specific commit or branch
gitExample:
type: vercel:Project
name: git_example
properties:
name: my-awesome-git-project
framework: nextjs
gitRepository:
type: github
repo: vercel/some-repo
gitExampleDeployment:
type: vercel:Deployment
name: git_example
properties:
projectId: ${gitExample.id}
ref: d92f10e
prebuiltExampleDeployment:
type: vercel:Deployment
name: prebuilt_example
properties:
projectId: ${prebuiltExample.id}
files: ${prebuiltExampleGetPrebuiltProject.output}
pathPrefix: ${prebuiltExampleGetPrebuiltProject.path}
variables:
# In this example, we are assuming that a nextjs UI
# exists in a `ui` directory and any terraform exists in a `terraform` directory.
# E.g.
# ```
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="hcl">
Example coming soon!
</pulumi-choosable>
</div>
## Create Deployment Resource {#create}
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see [Resources](/docs/concepts/resources/).
### Constructor syntax
<div>
<pulumi-chooser type="language" options="csharp,go,typescript,python,yaml,java,hcl"></pulumi-chooser>
</div>
<div>
<pulumi-choosable type="language" values="javascript,typescript">
<div class="no-copy"><div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">new </span><span class="nx">Deployment</span><span class="p">(</span><span class="nx">name</span><span class="p">:</span> <span class="nx">string</span><span class="p">,</span> <span class="nx">args</span><span class="p">:</span> <span class="nx"><a href="#inputs">DeploymentArgs</a></span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#CustomResourceOptions">CustomResourceOptions</a></span><span class="p">);</span></code></pre></div>
</div></pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="python">
<div class="no-copy"><div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class=nd>@overload</span>
<span class="k">def </span><span class="nx">Deployment</span><span class="p">(</span><span class="nx">resource_name</span><span class="p">:</span> <span class="nx">str</span><span class="p">,</span>
<span class="nx">args</span><span class="p">:</span> <span class="nx"><a href="#inputs">DeploymentArgs</a></span><span class="p">,</span>
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.ResourceOptions">Optional[ResourceOptions]</a></span> = None<span class="p">)</span>
<span></span>
<span class=nd>@overload</span>
<span class="k">def </span><span class="nx">Deployment</span><span class="p">(</span><span class="nx">resource_name</span><span class="p">:</span> <span class="nx">str</span><span class="p">,</span>
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.ResourceOptions">Optional[ResourceOptions]</a></span> = None<span class="p">,</span>
<span class="nx">project_id</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">custom_environment_id</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">delete_on_destroy</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span>
<span class="nx">environment</span><span class="p">:</span> <span class="nx">Optional[Mapping[str, str]]</span> = None<span class="p">,</span>
<span class="nx">files</span><span class="p">:</span> <span class="nx">Optional[Mapping[str, str]]</span> = None<span class="p">,</span>
<span class="nx">meta</span><span class="p">:</span> <span class="nx">Optional[Mapping[str, str]]</span> = None<span class="p">,</span>
<span class="nx">path_prefix</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">production</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span>
<span class="nx">project_settings</span><span class="p">:</span> <span class="nx">Optional[DeploymentProjectSettingsArgs]</span> = None<span class="p">,</span>
<span class="nx">ref</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">team_id</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">)</span></code></pre></div>
</div></pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="go">
<div class="no-copy"><div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span><span class="nx">NewDeployment</span><span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">name</span><span class="p"> </span><span class="nx">string</span><span class="p">,</span> <span class="nx">args</span><span class="p"> </span><span class="nx"><a href="#inputs">DeploymentArgs</a></span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#ResourceOption">ResourceOption</a></span><span class="p">) (*<span class="nx">Deployment</span>, error)</span></code></pre></div>
</div></pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="csharp">
<div class="no-copy"><div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public </span><span class="nx">Deployment</span><span class="p">(</span><span class="nx">string</span><span class="p"> </span><span class="nx">name<span class="p">,</span> <span class="nx"><a href="#inputs">DeploymentArgs</a></span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.CustomResourceOptions.html">CustomResourceOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span></code></pre></div>
</div></pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="java">
<div class="no-copy"><div class="highlight"><pre class="chroma">
<code class="language-java" data-lang="java"><span class="k">public </span><span class="nx">Deployment</span><span class="p">(</span><span class="nx">String</span><span class="p"> </span><span class="nx">name<span class="p">,</span> <span class="nx"><a href="#inputs">DeploymentArgs</a></span><span class="p"> </span><span class="nx">args<span class="p">)</span>
<span class="k">public </span><span class="nx">Deployment</span><span class="p">(</span><span class="nx">String</span><span class="p"> </span><span class="nx">name<span class="p">,</span> <span class="nx"><a href="#inputs">DeploymentArgs</a></span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx">CustomResourceOptions</span><span class="p"> </span><span class="nx">options<span class="p">)</span>
</code></pre></div></div>
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="yaml">
<div class="no-copy"><div class="highlight"><pre class="chroma"><code class="language-yaml" data-lang="yaml">type: <span class="nx">vercel:Deployment</span><span class="p"></span>
<span class="p">properties</span><span class="p">: </span><span class="c"># The arguments to resource properties.</span>
<span class="p"></span><span class="p">options</span><span class="p">: </span><span class="c"># Bag of options to control resource's behavior.</span>
<span class="p"></span>
</code></pre></div></div>
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="hcl">
<div class="no-copy"><div class="highlight"><pre class="chroma"><code class="language-hcl" data-lang="hcl"><span class="k">resource</span> <span class="s2">"vercel_deployment"</span> <span class="s2">"name"</span> <span class="p">{</span>
<span class="c"> # resource properties</span>
<span class="p">}</span></code></pre></div></div>
</pulumi-choosable>
</div>
#### Parameters
<div>
<pulumi-choosable type="language" values="javascript,typescript">
<dl class="resources-properties"><dt
class="property-required" title="Required">
<span>name</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>The unique name of the resource.</dd><dt
class="property-required" title="Required">
<span>args</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#inputs">DeploymentArgs</a></span>
</dt>
<dd>The arguments to resource properties.</dd><dt
class="property-optional" title="Optional">
<span>opts</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#CustomResourceOptions">CustomResourceOptions</a></span>
</dt>
<dd>Bag of options to control resource's behavior.</dd></dl>
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="python">
<dl class="resources-properties"><dt
class="property-required" title="Required">
<span>resource_name</span>
<span class="property-indicator"></span>
<span class="property-type">str</span>
</dt>
<dd>The unique name of the resource.</dd><dt
class="property-required" title="Required">
<span>args</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#inputs">DeploymentArgs</a></span>
</dt>
<dd>The arguments to resource properties.</dd><dt
class="property-optional" title="Optional">
<span>opts</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="/docs/reference/pkg/python/pulumi/#pulumi.ResourceOptions">ResourceOptions</a></span>
</dt>
<dd>Bag of options to control resource's behavior.</dd></dl>
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="go">
<dl class="resources-properties"><dt
class="property-optional" title="Optional">
<span>ctx</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span>
</dt>
<dd>Context object for the current deployment.</dd><dt
class="property-required" title="Required">
<span>name</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>The unique name of the resource.</dd><dt
class="property-required" title="Required">
<span>args</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#inputs">DeploymentArgs</a></span>
</dt>
<dd>The arguments to resource properties.</dd><dt
class="property-optional" title="Optional">
<span>opts</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#ResourceOption">ResourceOption</a></span>
</dt>
<dd>Bag of options to control resource's behavior.</dd></dl>
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="csharp">
<dl class="resources-properties"><dt
class="property-required" title="Required">
<span>name</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>The unique name of the resource.</dd><dt
class="property-required" title="Required">
<span>args</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#inputs">DeploymentArgs</a></span>
</dt>
<dd>The arguments to resource properties.</dd><dt
class="property-optional" title="Optional">
<span>opts</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.CustomResourceOptions.html">CustomResourceOptions</a></span>
</dt>
<dd>Bag of options to control resource's behavior.</dd></dl>
</pulumi-choosable>
</div>
<div>
<pulumi-choosable type="language" values="java">
<dl class="resources-properties"><dt
class="property-required" title="Required">
<span>name</span>
<span class="property-indicator"></span>
<span class="property-type">String</span>
</dt>
<dd>The unique name of the resource.</dd><dt
class="property-required" title="Required">
<span>args</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#inputs">DeploymentArgs</a></span>
</dt>
<dd>The arguments to resource properties.</dd><dt
class="property-optional" title="Optional">
<span>options</span>
<span class="property-indicator"></span>
<span class="property-type">CustomResourceOptions</span>
</dt>
<dd>Bag of options to control resource's behavior.</dd></dl>
</pulumi-choosable>
</div>
### Constructor example
The following reference example uses placeholder values for all [input properties](#inputs).
<div>
<pulumi-chooser type="language" options="csharp,go,typescript,python,yaml,java,hcl"></pulumi-chooser>
</div>
<div>
<pulumi-choosable type="language" values="csharp">
```csharp
var deploymentResource = new Vercel.Deployment("deploymentResource", new()
{
ProjectId = "string",
CustomEnvironmentId = "string",
DeleteOnDestroy = false,
Environment =
{
{ "string", "string" },
},
Files =
{
{ "string", "string" },
},
Meta =
{
{ "string", "string" },
},
PathPrefix = "string",
Production = false,
ProjectSettings = new Vercel.Inputs.DeploymentProjectSettingsArgs
{
BuildCommand = "string",
Framework = "string",
InstallCommand = "string",
OutputDirectory = "string",
RootDirectory = "string",
},
Ref = "string",
TeamId = "string",
});
example, err := vercel.NewDeployment(ctx, "deploymentResource", &vercel.DeploymentArgs{
ProjectId: pulumi.String("string"),
CustomEnvironmentId: pulumi.String("string"),
DeleteOnDestroy: pulumi.Bool(false),
Environment: pulumi.StringMap{
"string": pulumi.String("string"),
},
Files: pulumi.StringMap{
"string": pulumi.String("string"),
},
Meta: pulumi.StringMap{
"string": pulumi.String("string"),
},
PathPrefix: pulumi.String("string"),
Production: pulumi.Bool(false),
ProjectSettings: &vercel.DeploymentProjectSettingsArgs{
BuildCommand: pulumi.String("string"),
Framework: pulumi.String("string"),
InstallCommand: pulumi.String("string"),
OutputDirectory: pulumi.String("string"),
RootDirectory: pulumi.String("string"),
},
Ref: pulumi.String("string"),
TeamId: pulumi.String("string"),
})
resource "vercel_deployment" "deploymentResource" {
lifecycle {
create_before_destroy = true
}
project_id = "string"
custom_environment_id = "string"
delete_on_destroy = false
environment = {
"string" = "string"
}
files = {
"string" = "string"
}
meta = {
"string" = "string"
}
path_prefix = "string"
production = false
project_settings = {
build_command = "string"
framework = "string"
install_command = "string"
output_directory = "string"
root_directory = "string"
}
ref = "string"
team_id = "string"
}
var deploymentResource = new Deployment("deploymentResource", DeploymentArgs.builder()
.projectId("string")
.customEnvironmentId("string")
.deleteOnDestroy(false)
.environment(Map.of("string", "string"))
.files(Map.of("string", "string"))
.meta(Map.of("string", "string"))
.pathPrefix("string")
.production(false)
.projectSettings(DeploymentProjectSettingsArgs.builder()
.buildCommand("string")
.framework("string")
.installCommand("string")
.outputDirectory("string")
.rootDirectory("string")
.build())
.ref("string")
.teamId("string")
.build());
deployment_resource = vercel.Deployment("deploymentResource",
project_id="string",
custom_environment_id="string",
delete_on_destroy=False,
environment={
"string": "string",
},
files={
"string": "string",
},
meta={
"string": "string",
},
path_prefix="string",
production=False,
project_settings={
"build_command": "string",
"framework": "string",
"install_command": "string",
"output_directory": "string",
"root_directory": "string",
},
ref="string",
team_id="string")
const deploymentResource = new vercel.Deployment("deploymentResource", {
projectId: "string",
customEnvironmentId: "string",
deleteOnDestroy: false,
environment: {
string: "string",
},
files: {
string: "string",
},
meta: {
string: "string",
},
pathPrefix: "string",
production: false,
projectSettings: {
buildCommand: "string",
framework: "string",
installCommand: "string",
outputDirectory: "string",
rootDirectory: "string",
},
ref: "string",
teamId: "string",
});
type: vercel:Deployment
properties:
customEnvironmentId: string
deleteOnDestroy: false
environment:
string: string
files:
string: string
meta:
string: string
pathPrefix: string
production: false
projectId: string
projectSettings:
buildCommand: string
framework: string
installCommand: string
outputDirectory: string
rootDirectory: string
ref: string
teamId: string
Deployment Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Deployment resource accepts the following input properties:
- Project
Id string - The project ID to add the deployment to.
- Custom
Environment stringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- Delete
On boolDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- Environment Dictionary<string, string>
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - Files Dictionary<string, string>
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - Meta Dictionary<string, string>
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- Path
Prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - Production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- Project
Settings Pulumiverse.Vercel. Inputs. Deployment Project Settings - Project settings that will be applied to the deployment.
- Ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - Team
Id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- Project
Id string - The project ID to add the deployment to.
- Custom
Environment stringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- Delete
On boolDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- Environment map[string]string
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - Files map[string]string
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - Meta map[string]string
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- Path
Prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - Production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- Project
Settings DeploymentProject Settings Args - Project settings that will be applied to the deployment.
- Ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - Team
Id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- project_
id string - The project ID to add the deployment to.
- custom_
environment_ stringid - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete_
on_ booldestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- environment map(string)
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files map(string)
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta map(string)
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path_
prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project_
settings object - Project settings that will be applied to the deployment.
- ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team_
id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- project
Id String - The project ID to add the deployment to.
- custom
Environment StringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete
On BooleanDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- environment Map<String,String>
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files Map<String,String>
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta Map<String,String>
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path
Prefix String - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production Boolean
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project
Settings DeploymentProject Settings - Project settings that will be applied to the deployment.
- ref String
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team
Id String - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- project
Id string - The project ID to add the deployment to.
- custom
Environment stringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete
On booleanDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- environment {[key: string]: string}
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files {[key: string]: string}
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta {[key: string]: string}
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path
Prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production boolean
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project
Settings DeploymentProject Settings - Project settings that will be applied to the deployment.
- ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team
Id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- project_
id str - The project ID to add the deployment to.
- custom_
environment_ strid - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete_
on_ booldestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- environment Mapping[str, str]
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files Mapping[str, str]
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta Mapping[str, str]
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path_
prefix str - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project_
settings DeploymentProject Settings Args - Project settings that will be applied to the deployment.
- ref str
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team_
id str - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- project
Id String - The project ID to add the deployment to.
- custom
Environment StringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete
On BooleanDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- environment Map<String>
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files Map<String>
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta Map<String>
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path
Prefix String - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production Boolean
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project
Settings Property Map - Project settings that will be applied to the deployment.
- ref String
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team
Id String - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
Outputs
All input properties are implicitly available as output properties. Additionally, the Deployment resource produces the following output properties:
Look up Existing Deployment Resource
Get an existing Deployment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: DeploymentState, opts?: CustomResourceOptions): Deployment@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
custom_environment_id: Optional[str] = None,
delete_on_destroy: Optional[bool] = None,
domains: Optional[Sequence[str]] = None,
environment: Optional[Mapping[str, str]] = None,
files: Optional[Mapping[str, str]] = None,
meta: Optional[Mapping[str, str]] = None,
path_prefix: Optional[str] = None,
production: Optional[bool] = None,
project_id: Optional[str] = None,
project_settings: Optional[DeploymentProjectSettingsArgs] = None,
ref: Optional[str] = None,
team_id: Optional[str] = None,
url: Optional[str] = None) -> Deploymentfunc GetDeployment(ctx *Context, name string, id IDInput, state *DeploymentState, opts ...ResourceOption) (*Deployment, error)public static Deployment Get(string name, Input<string> id, DeploymentState? state, CustomResourceOptions? opts = null)public static Deployment get(String name, Output<String> id, DeploymentState state, CustomResourceOptions options)resources: _: type: vercel:Deployment get: id: ${id}import {
to = vercel_deployment.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Custom
Environment stringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- Delete
On boolDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- Domains List<string>
- A list of all the domains (default domains, staging domains and production domains) that were assigned upon deployment creation.
- Environment Dictionary<string, string>
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - Files Dictionary<string, string>
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - Meta Dictionary<string, string>
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- Path
Prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - Production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- Project
Id string - The project ID to add the deployment to.
- Project
Settings Pulumiverse.Vercel. Inputs. Deployment Project Settings - Project settings that will be applied to the deployment.
- Ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - Team
Id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- Url string
- A unique URL that is automatically generated for a deployment.
- Custom
Environment stringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- Delete
On boolDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- Domains []string
- A list of all the domains (default domains, staging domains and production domains) that were assigned upon deployment creation.
- Environment map[string]string
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - Files map[string]string
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - Meta map[string]string
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- Path
Prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - Production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- Project
Id string - The project ID to add the deployment to.
- Project
Settings DeploymentProject Settings Args - Project settings that will be applied to the deployment.
- Ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - Team
Id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- Url string
- A unique URL that is automatically generated for a deployment.
- custom_
environment_ stringid - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete_
on_ booldestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- domains list(string)
- A list of all the domains (default domains, staging domains and production domains) that were assigned upon deployment creation.
- environment map(string)
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files map(string)
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta map(string)
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path_
prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project_
id string - The project ID to add the deployment to.
- project_
settings object - Project settings that will be applied to the deployment.
- ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team_
id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- url string
- A unique URL that is automatically generated for a deployment.
- custom
Environment StringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete
On BooleanDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- domains List<String>
- A list of all the domains (default domains, staging domains and production domains) that were assigned upon deployment creation.
- environment Map<String,String>
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files Map<String,String>
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta Map<String,String>
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path
Prefix String - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production Boolean
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project
Id String - The project ID to add the deployment to.
- project
Settings DeploymentProject Settings - Project settings that will be applied to the deployment.
- ref String
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team
Id String - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- url String
- A unique URL that is automatically generated for a deployment.
- custom
Environment stringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete
On booleanDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- domains string[]
- A list of all the domains (default domains, staging domains and production domains) that were assigned upon deployment creation.
- environment {[key: string]: string}
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files {[key: string]: string}
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta {[key: string]: string}
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path
Prefix string - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production boolean
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project
Id string - The project ID to add the deployment to.
- project
Settings DeploymentProject Settings - Project settings that will be applied to the deployment.
- ref string
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team
Id string - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- url string
- A unique URL that is automatically generated for a deployment.
- custom_
environment_ strid - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete_
on_ booldestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- domains Sequence[str]
- A list of all the domains (default domains, staging domains and production domains) that were assigned upon deployment creation.
- environment Mapping[str, str]
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files Mapping[str, str]
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta Mapping[str, str]
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path_
prefix str - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production bool
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project_
id str - The project ID to add the deployment to.
- project_
settings DeploymentProject Settings Args - Project settings that will be applied to the deployment.
- ref str
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team_
id str - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- url str
- A unique URL that is automatically generated for a deployment.
- custom
Environment StringId - The ID of the Custom Environment to deploy to. If not specified, the deployment will use the standard environments (production/preview).
- delete
On BooleanDestroy - Set to true to hard delete the Vercel deployment when destroying the Terraform resource. If unspecified, deployments are retained indefinitely. Note that deleted deployments are not recoverable.
- domains List<String>
- A list of all the domains (default domains, staging domains and production domains) that were assigned upon deployment creation.
- environment Map<String>
- A map of environment variable names to values. These are specific to a Deployment, and can also be configured on the
vercel.Projectresource. - files Map<String>
- A map of files to be uploaded for the deployment. This should be provided by a
vercel.getProjectDirectoryorvercel.getFiledata source. Required ifgit_sourceis not set. - meta Map<String>
- Arbitrary key/value metadata to attach to the deployment (equivalent to the Vercel CLI --meta flags).
- path
Prefix String - If specified then the
path_prefixwill be stripped from the start of file paths as they are uploaded to Vercel. If this is omitted, then any leading../s will be stripped. - production Boolean
- true if the deployment is a production deployment, meaning production aliases will be assigned.
- project
Id String - The project ID to add the deployment to.
- project
Settings Property Map - Project settings that will be applied to the deployment.
- ref String
- The branch or commit hash that should be deployed. Note this will only work if the project is configured to use a Git repository. Required if
filesis not set. - team
Id String - The team ID to add the deployment to. Required when configuring a team resource if a default team has not been set in the provider.
- url String
- A unique URL that is automatically generated for a deployment.
Supporting Types
DeploymentProjectSettings, DeploymentProjectSettingsArgs
- Build
Command string - The build command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- Framework string
- The framework that is being used for this deployment. If omitted, no framework is selected.
- Install
Command string - The install command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- Output
Directory string - The output directory of the deployment. If omitted, this value will be taken from the project or automatically detected.
- Root
Directory string - The name of a directory or relative path to the source code of your project. When null is used it will default to the project root.
- Build
Command string - The build command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- Framework string
- The framework that is being used for this deployment. If omitted, no framework is selected.
- Install
Command string - The install command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- Output
Directory string - The output directory of the deployment. If omitted, this value will be taken from the project or automatically detected.
- Root
Directory string - The name of a directory or relative path to the source code of your project. When null is used it will default to the project root.
- build_
command string - The build command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- framework string
- The framework that is being used for this deployment. If omitted, no framework is selected.
- install_
command string - The install command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- output_
directory string - The output directory of the deployment. If omitted, this value will be taken from the project or automatically detected.
- root_
directory string - The name of a directory or relative path to the source code of your project. When null is used it will default to the project root.
- build
Command String - The build command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- framework String
- The framework that is being used for this deployment. If omitted, no framework is selected.
- install
Command String - The install command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- output
Directory String - The output directory of the deployment. If omitted, this value will be taken from the project or automatically detected.
- root
Directory String - The name of a directory or relative path to the source code of your project. When null is used it will default to the project root.
- build
Command string - The build command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- framework string
- The framework that is being used for this deployment. If omitted, no framework is selected.
- install
Command string - The install command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- output
Directory string - The output directory of the deployment. If omitted, this value will be taken from the project or automatically detected.
- root
Directory string - The name of a directory or relative path to the source code of your project. When null is used it will default to the project root.
- build_
command str - The build command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- framework str
- The framework that is being used for this deployment. If omitted, no framework is selected.
- install_
command str - The install command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- output_
directory str - The output directory of the deployment. If omitted, this value will be taken from the project or automatically detected.
- root_
directory str - The name of a directory or relative path to the source code of your project. When null is used it will default to the project root.
- build
Command String - The build command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- framework String
- The framework that is being used for this deployment. If omitted, no framework is selected.
- install
Command String - The install command for this deployment. If omitted, this value will be taken from the project or automatically detected.
- output
Directory String - The output directory of the deployment. If omitted, this value will be taken from the project or automatically detected.
- root
Directory String - The name of a directory or relative path to the source code of your project. When null is used it will default to the project root.
Package Details
- Repository
- vercel pulumiverse/pulumi-vercel
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
vercelTerraform Provider.
published on Wednesday, Jul 22, 2026 by Pulumiverse