diff --git a/provider/cmd/pulumi-resource-vercel/bridge-metadata.json b/provider/cmd/pulumi-resource-vercel/bridge-metadata.json
index a0120e8..57fe64f 100644
--- a/provider/cmd/pulumi-resource-vercel/bridge-metadata.json
+++ b/provider/cmd/pulumi-resource-vercel/bridge-metadata.json
@@ -71,6 +71,13 @@
}
}
},
+ "options_allowlist": {
+ "fields": {
+ "paths": {
+ "maxItemsOne": false
+ }
+ }
+ },
"trusted_ips": {
"fields": {
"addresses": {
@@ -200,6 +207,13 @@
}
}
},
+ "options_allowlist": {
+ "fields": {
+ "paths": {
+ "maxItemsOne": false
+ }
+ }
+ },
"trusted_ips": {
"fields": {
"addresses": {
diff --git a/provider/cmd/pulumi-resource-vercel/schema.json b/provider/cmd/pulumi-resource-vercel/schema.json
index 41194de..5072534 100644
--- a/provider/cmd/pulumi-resource-vercel/schema.json
+++ b/provider/cmd/pulumi-resource-vercel/schema.json
@@ -261,6 +261,33 @@
}
}
},
+ "vercel:index/ProjectOptionsAllowlist:ProjectOptionsAllowlist": {
+ "properties": {
+ "paths": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/vercel:index/ProjectOptionsAllowlistPath:ProjectOptionsAllowlistPath"
+ },
+ "description": "The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "paths"
+ ]
+ },
+ "vercel:index/ProjectOptionsAllowlistPath:ProjectOptionsAllowlistPath": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The path prefix to compare with the incoming request path.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "value"
+ ]
+ },
"vercel:index/ProjectPasswordProtection:ProjectPasswordProtection": {
"properties": {
"deploymentType": {
@@ -476,6 +503,42 @@
}
}
},
+ "vercel:index/getProjectOptionsAllowlist:getProjectOptionsAllowlist": {
+ "properties": {
+ "paths": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/vercel:index/getProjectOptionsAllowlistPath:getProjectOptionsAllowlistPath"
+ },
+ "description": "The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "paths"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "vercel:index/getProjectOptionsAllowlistPath:getProjectOptionsAllowlistPath": {
+ "properties": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"vercel:index/getProjectPasswordProtection:getProjectPasswordProtection": {
"properties": {
"deploymentType": {
@@ -1423,6 +1486,10 @@
"type": "string",
"description": "The desired name for the project.\n"
},
+ "optionsAllowlist": {
+ "$ref": "#/types/vercel:index/ProjectOptionsAllowlist:ProjectOptionsAllowlist",
+ "description": "Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.\n"
+ },
"outputDirectory": {
"type": "string",
"description": "The output directory of the project. If omitted, this value will be automatically detected.\n"
@@ -1559,6 +1626,10 @@
"type": "string",
"description": "The desired name for the project.\n"
},
+ "optionsAllowlist": {
+ "$ref": "#/types/vercel:index/ProjectOptionsAllowlist:ProjectOptionsAllowlist",
+ "description": "Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.\n"
+ },
"outputDirectory": {
"type": "string",
"description": "The output directory of the project. If omitted, this value will be automatically detected.\n"
@@ -1678,6 +1749,10 @@
"type": "string",
"description": "The desired name for the project.\n"
},
+ "optionsAllowlist": {
+ "$ref": "#/types/vercel:index/ProjectOptionsAllowlist:ProjectOptionsAllowlist",
+ "description": "Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.\n"
+ },
"outputDirectory": {
"type": "string",
"description": "The output directory of the project. If omitted, this value will be automatically detected.\n"
@@ -2839,6 +2914,10 @@
"type": "string",
"description": "The name of the project.\n"
},
+ "optionsAllowlist": {
+ "$ref": "#/types/vercel:index/getProjectOptionsAllowlist:getProjectOptionsAllowlist",
+ "description": "Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.\n"
+ },
"outputDirectory": {
"type": "string",
"description": "The output directory of the project. When null is used this value will be automatically detected.\n"
@@ -2907,6 +2986,7 @@
"ignoreCommand",
"installCommand",
"name",
+ "optionsAllowlist",
"outputDirectory",
"passwordProtection",
"previewComments",
diff --git a/provider/go.mod b/provider/go.mod
index 908ad36..b3c0df1 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -7,7 +7,7 @@ toolchain go1.21.7
require (
github.com/pulumi/pulumi-terraform-bridge/pf v0.35.0
github.com/pulumi/pulumi-terraform-bridge/v3 v3.82.0
- github.com/vercel/terraform-provider-vercel v1.10.1
+ github.com/vercel/terraform-provider-vercel v1.11.0
golang.org/x/text v0.14.0
)
diff --git a/provider/go.sum b/provider/go.sum
index 4e7255c..fc2d307 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -1866,8 +1866,8 @@ github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
-github.com/vercel/terraform-provider-vercel v1.10.1 h1:f6xUz3UO8X9APi8Y8R4rhvde2id5//0Igu6rEtDcKIM=
-github.com/vercel/terraform-provider-vercel v1.10.1/go.mod h1:eBu7BcowyyLXlIqcy2KLpGqytaKA/rCNbCVJ5YqvuvQ=
+github.com/vercel/terraform-provider-vercel v1.11.0 h1:iruy38rk8hyOdMgnRnaaSXs+FPsQQmWmSf6YBWoVF9Y=
+github.com/vercel/terraform-provider-vercel v1.11.0/go.mod h1:eBu7BcowyyLXlIqcy2KLpGqytaKA/rCNbCVJ5YqvuvQ=
github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
diff --git a/sdk/dotnet/GetProject.cs b/sdk/dotnet/GetProject.cs
index bb194a6..23b4777 100644
--- a/sdk/dotnet/GetProject.cs
+++ b/sdk/dotnet/GetProject.cs
@@ -191,6 +191,10 @@ public sealed class GetProjectResult
///
public readonly string Name;
///
+ /// Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ ///
+ public readonly Outputs.GetProjectOptionsAllowlistResult OptionsAllowlist;
+ ///
/// The output directory of the project. When null is used this value will be automatically detected.
///
public readonly string OutputDirectory;
@@ -275,6 +279,8 @@ private GetProjectResult(
string name,
+ Outputs.GetProjectOptionsAllowlistResult optionsAllowlist,
+
string outputDirectory,
Outputs.GetProjectPasswordProtectionResult passwordProtection,
@@ -316,6 +322,7 @@ private GetProjectResult(
IgnoreCommand = ignoreCommand;
InstallCommand = installCommand;
Name = name;
+ OptionsAllowlist = optionsAllowlist;
OutputDirectory = outputDirectory;
PasswordProtection = passwordProtection;
PreviewComments = previewComments;
diff --git a/sdk/dotnet/Inputs/ProjectOptionsAllowlistArgs.cs b/sdk/dotnet/Inputs/ProjectOptionsAllowlistArgs.cs
new file mode 100644
index 0000000..38fb9b2
--- /dev/null
+++ b/sdk/dotnet/Inputs/ProjectOptionsAllowlistArgs.cs
@@ -0,0 +1,33 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Inputs
+{
+
+ public sealed class ProjectOptionsAllowlistArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("paths", required: true)]
+ private InputList? _paths;
+
+ ///
+ /// The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ ///
+ public InputList Paths
+ {
+ get => _paths ?? (_paths = new InputList());
+ set => _paths = value;
+ }
+
+ public ProjectOptionsAllowlistArgs()
+ {
+ }
+ public static new ProjectOptionsAllowlistArgs Empty => new ProjectOptionsAllowlistArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/ProjectOptionsAllowlistGetArgs.cs b/sdk/dotnet/Inputs/ProjectOptionsAllowlistGetArgs.cs
new file mode 100644
index 0000000..426e063
--- /dev/null
+++ b/sdk/dotnet/Inputs/ProjectOptionsAllowlistGetArgs.cs
@@ -0,0 +1,33 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Inputs
+{
+
+ public sealed class ProjectOptionsAllowlistGetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("paths", required: true)]
+ private InputList? _paths;
+
+ ///
+ /// The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ ///
+ public InputList Paths
+ {
+ get => _paths ?? (_paths = new InputList());
+ set => _paths = value;
+ }
+
+ public ProjectOptionsAllowlistGetArgs()
+ {
+ }
+ public static new ProjectOptionsAllowlistGetArgs Empty => new ProjectOptionsAllowlistGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/ProjectOptionsAllowlistPathArgs.cs b/sdk/dotnet/Inputs/ProjectOptionsAllowlistPathArgs.cs
new file mode 100644
index 0000000..91f192b
--- /dev/null
+++ b/sdk/dotnet/Inputs/ProjectOptionsAllowlistPathArgs.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Inputs
+{
+
+ public sealed class ProjectOptionsAllowlistPathArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The path prefix to compare with the incoming request path.
+ ///
+ [Input("value", required: true)]
+ public Input Value { get; set; } = null!;
+
+ public ProjectOptionsAllowlistPathArgs()
+ {
+ }
+ public static new ProjectOptionsAllowlistPathArgs Empty => new ProjectOptionsAllowlistPathArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/ProjectOptionsAllowlistPathGetArgs.cs b/sdk/dotnet/Inputs/ProjectOptionsAllowlistPathGetArgs.cs
new file mode 100644
index 0000000..aa847ff
--- /dev/null
+++ b/sdk/dotnet/Inputs/ProjectOptionsAllowlistPathGetArgs.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Inputs
+{
+
+ public sealed class ProjectOptionsAllowlistPathGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The path prefix to compare with the incoming request path.
+ ///
+ [Input("value", required: true)]
+ public Input Value { get; set; } = null!;
+
+ public ProjectOptionsAllowlistPathGetArgs()
+ {
+ }
+ public static new ProjectOptionsAllowlistPathGetArgs Empty => new ProjectOptionsAllowlistPathGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetProjectOptionsAllowlistPathResult.cs b/sdk/dotnet/Outputs/GetProjectOptionsAllowlistPathResult.cs
new file mode 100644
index 0000000..02c3cb5
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetProjectOptionsAllowlistPathResult.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Outputs
+{
+
+ [OutputType]
+ public sealed class GetProjectOptionsAllowlistPathResult
+ {
+ public readonly string Value;
+
+ [OutputConstructor]
+ private GetProjectOptionsAllowlistPathResult(string value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetProjectOptionsAllowlistResult.cs b/sdk/dotnet/Outputs/GetProjectOptionsAllowlistResult.cs
new file mode 100644
index 0000000..652cffb
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetProjectOptionsAllowlistResult.cs
@@ -0,0 +1,28 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Outputs
+{
+
+ [OutputType]
+ public sealed class GetProjectOptionsAllowlistResult
+ {
+ ///
+ /// The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ ///
+ public readonly ImmutableArray Paths;
+
+ [OutputConstructor]
+ private GetProjectOptionsAllowlistResult(ImmutableArray paths)
+ {
+ Paths = paths;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/ProjectOptionsAllowlist.cs b/sdk/dotnet/Outputs/ProjectOptionsAllowlist.cs
new file mode 100644
index 0000000..a7030b6
--- /dev/null
+++ b/sdk/dotnet/Outputs/ProjectOptionsAllowlist.cs
@@ -0,0 +1,28 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Outputs
+{
+
+ [OutputType]
+ public sealed class ProjectOptionsAllowlist
+ {
+ ///
+ /// The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ ///
+ public readonly ImmutableArray Paths;
+
+ [OutputConstructor]
+ private ProjectOptionsAllowlist(ImmutableArray paths)
+ {
+ Paths = paths;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/ProjectOptionsAllowlistPath.cs b/sdk/dotnet/Outputs/ProjectOptionsAllowlistPath.cs
new file mode 100644
index 0000000..51f9ac8
--- /dev/null
+++ b/sdk/dotnet/Outputs/ProjectOptionsAllowlistPath.cs
@@ -0,0 +1,28 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Vercel.Outputs
+{
+
+ [OutputType]
+ public sealed class ProjectOptionsAllowlistPath
+ {
+ ///
+ /// The path prefix to compare with the incoming request path.
+ ///
+ public readonly string Value;
+
+ [OutputConstructor]
+ private ProjectOptionsAllowlistPath(string value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs
index 6248995..58b3c8f 100644
--- a/sdk/dotnet/Project.cs
+++ b/sdk/dotnet/Project.cs
@@ -166,6 +166,12 @@ public partial class Project : global::Pulumi.CustomResource
[Output("name")]
public Output Name { get; private set; } = null!;
+ ///
+ /// Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ ///
+ [Output("optionsAllowlist")]
+ public Output OptionsAllowlist { get; private set; } = null!;
+
///
/// The output directory of the project. If omitted, this value will be automatically detected.
///
@@ -393,6 +399,12 @@ public InputList Environments
[Input("name")]
public Input? Name { get; set; }
+ ///
+ /// Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ ///
+ [Input("optionsAllowlist")]
+ public Input? OptionsAllowlist { get; set; }
+
///
/// The output directory of the project. If omitted, this value will be automatically detected.
///
@@ -575,6 +587,12 @@ public InputList Environments
[Input("name")]
public Input? Name { get; set; }
+ ///
+ /// Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ ///
+ [Input("optionsAllowlist")]
+ public Input? OptionsAllowlist { get; set; }
+
///
/// The output directory of the project. If omitted, this value will be automatically detected.
///
diff --git a/sdk/go/vercel/getProject.go b/sdk/go/vercel/getProject.go
index fd5b116..ecc8fac 100644
--- a/sdk/go/vercel/getProject.go
+++ b/sdk/go/vercel/getProject.go
@@ -97,6 +97,8 @@ type LookupProjectResult struct {
InstallCommand string `pulumi:"installCommand"`
// The name of the project.
Name string `pulumi:"name"`
+ // Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ OptionsAllowlist GetProjectOptionsAllowlist `pulumi:"optionsAllowlist"`
// The output directory of the project. When null is used this value will be automatically detected.
OutputDirectory string `pulumi:"outputDirectory"`
// Ensures visitors of your Preview Deployments must enter a password in order to gain access.
@@ -248,6 +250,11 @@ func (o LookupProjectResultOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v LookupProjectResult) string { return v.Name }).(pulumi.StringOutput)
}
+// Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+func (o LookupProjectResultOutput) OptionsAllowlist() GetProjectOptionsAllowlistOutput {
+ return o.ApplyT(func(v LookupProjectResult) GetProjectOptionsAllowlist { return v.OptionsAllowlist }).(GetProjectOptionsAllowlistOutput)
+}
+
// The output directory of the project. When null is used this value will be automatically detected.
func (o LookupProjectResultOutput) OutputDirectory() pulumi.StringOutput {
return o.ApplyT(func(v LookupProjectResult) string { return v.OutputDirectory }).(pulumi.StringOutput)
diff --git a/sdk/go/vercel/project.go b/sdk/go/vercel/project.go
index 8dd5889..94e56f8 100644
--- a/sdk/go/vercel/project.go
+++ b/sdk/go/vercel/project.go
@@ -109,6 +109,8 @@ type Project struct {
InstallCommand pulumi.StringPtrOutput `pulumi:"installCommand"`
// The desired name for the project.
Name pulumi.StringOutput `pulumi:"name"`
+ // Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ OptionsAllowlist ProjectOptionsAllowlistPtrOutput `pulumi:"optionsAllowlist"`
// The output directory of the project. If omitted, this value will be automatically detected.
OutputDirectory pulumi.StringPtrOutput `pulumi:"outputDirectory"`
// Ensures visitors of your Preview Deployments must enter a password in order to gain access.
@@ -199,6 +201,8 @@ type projectState struct {
InstallCommand *string `pulumi:"installCommand"`
// The desired name for the project.
Name *string `pulumi:"name"`
+ // Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ OptionsAllowlist *ProjectOptionsAllowlist `pulumi:"optionsAllowlist"`
// The output directory of the project. If omitted, this value will be automatically detected.
OutputDirectory *string `pulumi:"outputDirectory"`
// Ensures visitors of your Preview Deployments must enter a password in order to gain access.
@@ -260,6 +264,8 @@ type ProjectState struct {
InstallCommand pulumi.StringPtrInput
// The desired name for the project.
Name pulumi.StringPtrInput
+ // Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ OptionsAllowlist ProjectOptionsAllowlistPtrInput
// The output directory of the project. If omitted, this value will be automatically detected.
OutputDirectory pulumi.StringPtrInput
// Ensures visitors of your Preview Deployments must enter a password in order to gain access.
@@ -325,6 +331,8 @@ type projectArgs struct {
InstallCommand *string `pulumi:"installCommand"`
// The desired name for the project.
Name *string `pulumi:"name"`
+ // Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ OptionsAllowlist *ProjectOptionsAllowlist `pulumi:"optionsAllowlist"`
// The output directory of the project. If omitted, this value will be automatically detected.
OutputDirectory *string `pulumi:"outputDirectory"`
// Ensures visitors of your Preview Deployments must enter a password in order to gain access.
@@ -385,6 +393,8 @@ type ProjectArgs struct {
InstallCommand pulumi.StringPtrInput
// The desired name for the project.
Name pulumi.StringPtrInput
+ // Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ OptionsAllowlist ProjectOptionsAllowlistPtrInput
// The output directory of the project. If omitted, this value will be automatically detected.
OutputDirectory pulumi.StringPtrInput
// Ensures visitors of your Preview Deployments must enter a password in order to gain access.
@@ -578,6 +588,11 @@ func (o ProjectOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
+// Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+func (o ProjectOutput) OptionsAllowlist() ProjectOptionsAllowlistPtrOutput {
+ return o.ApplyT(func(v *Project) ProjectOptionsAllowlistPtrOutput { return v.OptionsAllowlist }).(ProjectOptionsAllowlistPtrOutput)
+}
+
// The output directory of the project. If omitted, this value will be automatically detected.
func (o ProjectOutput) OutputDirectory() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.OutputDirectory }).(pulumi.StringPtrOutput)
diff --git a/sdk/go/vercel/pulumiTypes.go b/sdk/go/vercel/pulumiTypes.go
index ff828ea..5989e3d 100644
--- a/sdk/go/vercel/pulumiTypes.go
+++ b/sdk/go/vercel/pulumiTypes.go
@@ -1036,6 +1036,240 @@ func (o ProjectGitRepositoryDeployHookArrayOutput) Index(i pulumi.IntInput) Proj
}).(ProjectGitRepositoryDeployHookOutput)
}
+type ProjectOptionsAllowlist struct {
+ // The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ Paths []ProjectOptionsAllowlistPath `pulumi:"paths"`
+}
+
+// ProjectOptionsAllowlistInput is an input type that accepts ProjectOptionsAllowlistArgs and ProjectOptionsAllowlistOutput values.
+// You can construct a concrete instance of `ProjectOptionsAllowlistInput` via:
+//
+// ProjectOptionsAllowlistArgs{...}
+type ProjectOptionsAllowlistInput interface {
+ pulumi.Input
+
+ ToProjectOptionsAllowlistOutput() ProjectOptionsAllowlistOutput
+ ToProjectOptionsAllowlistOutputWithContext(context.Context) ProjectOptionsAllowlistOutput
+}
+
+type ProjectOptionsAllowlistArgs struct {
+ // The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ Paths ProjectOptionsAllowlistPathArrayInput `pulumi:"paths"`
+}
+
+func (ProjectOptionsAllowlistArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*ProjectOptionsAllowlist)(nil)).Elem()
+}
+
+func (i ProjectOptionsAllowlistArgs) ToProjectOptionsAllowlistOutput() ProjectOptionsAllowlistOutput {
+ return i.ToProjectOptionsAllowlistOutputWithContext(context.Background())
+}
+
+func (i ProjectOptionsAllowlistArgs) ToProjectOptionsAllowlistOutputWithContext(ctx context.Context) ProjectOptionsAllowlistOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ProjectOptionsAllowlistOutput)
+}
+
+func (i ProjectOptionsAllowlistArgs) ToProjectOptionsAllowlistPtrOutput() ProjectOptionsAllowlistPtrOutput {
+ return i.ToProjectOptionsAllowlistPtrOutputWithContext(context.Background())
+}
+
+func (i ProjectOptionsAllowlistArgs) ToProjectOptionsAllowlistPtrOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPtrOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ProjectOptionsAllowlistOutput).ToProjectOptionsAllowlistPtrOutputWithContext(ctx)
+}
+
+// ProjectOptionsAllowlistPtrInput is an input type that accepts ProjectOptionsAllowlistArgs, ProjectOptionsAllowlistPtr and ProjectOptionsAllowlistPtrOutput values.
+// You can construct a concrete instance of `ProjectOptionsAllowlistPtrInput` via:
+//
+// ProjectOptionsAllowlistArgs{...}
+//
+// or:
+//
+// nil
+type ProjectOptionsAllowlistPtrInput interface {
+ pulumi.Input
+
+ ToProjectOptionsAllowlistPtrOutput() ProjectOptionsAllowlistPtrOutput
+ ToProjectOptionsAllowlistPtrOutputWithContext(context.Context) ProjectOptionsAllowlistPtrOutput
+}
+
+type projectOptionsAllowlistPtrType ProjectOptionsAllowlistArgs
+
+func ProjectOptionsAllowlistPtr(v *ProjectOptionsAllowlistArgs) ProjectOptionsAllowlistPtrInput {
+ return (*projectOptionsAllowlistPtrType)(v)
+}
+
+func (*projectOptionsAllowlistPtrType) ElementType() reflect.Type {
+ return reflect.TypeOf((**ProjectOptionsAllowlist)(nil)).Elem()
+}
+
+func (i *projectOptionsAllowlistPtrType) ToProjectOptionsAllowlistPtrOutput() ProjectOptionsAllowlistPtrOutput {
+ return i.ToProjectOptionsAllowlistPtrOutputWithContext(context.Background())
+}
+
+func (i *projectOptionsAllowlistPtrType) ToProjectOptionsAllowlistPtrOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPtrOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ProjectOptionsAllowlistPtrOutput)
+}
+
+type ProjectOptionsAllowlistOutput struct{ *pulumi.OutputState }
+
+func (ProjectOptionsAllowlistOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*ProjectOptionsAllowlist)(nil)).Elem()
+}
+
+func (o ProjectOptionsAllowlistOutput) ToProjectOptionsAllowlistOutput() ProjectOptionsAllowlistOutput {
+ return o
+}
+
+func (o ProjectOptionsAllowlistOutput) ToProjectOptionsAllowlistOutputWithContext(ctx context.Context) ProjectOptionsAllowlistOutput {
+ return o
+}
+
+func (o ProjectOptionsAllowlistOutput) ToProjectOptionsAllowlistPtrOutput() ProjectOptionsAllowlistPtrOutput {
+ return o.ToProjectOptionsAllowlistPtrOutputWithContext(context.Background())
+}
+
+func (o ProjectOptionsAllowlistOutput) ToProjectOptionsAllowlistPtrOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPtrOutput {
+ return o.ApplyTWithContext(ctx, func(_ context.Context, v ProjectOptionsAllowlist) *ProjectOptionsAllowlist {
+ return &v
+ }).(ProjectOptionsAllowlistPtrOutput)
+}
+
+// The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+func (o ProjectOptionsAllowlistOutput) Paths() ProjectOptionsAllowlistPathArrayOutput {
+ return o.ApplyT(func(v ProjectOptionsAllowlist) []ProjectOptionsAllowlistPath { return v.Paths }).(ProjectOptionsAllowlistPathArrayOutput)
+}
+
+type ProjectOptionsAllowlistPtrOutput struct{ *pulumi.OutputState }
+
+func (ProjectOptionsAllowlistPtrOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**ProjectOptionsAllowlist)(nil)).Elem()
+}
+
+func (o ProjectOptionsAllowlistPtrOutput) ToProjectOptionsAllowlistPtrOutput() ProjectOptionsAllowlistPtrOutput {
+ return o
+}
+
+func (o ProjectOptionsAllowlistPtrOutput) ToProjectOptionsAllowlistPtrOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPtrOutput {
+ return o
+}
+
+func (o ProjectOptionsAllowlistPtrOutput) Elem() ProjectOptionsAllowlistOutput {
+ return o.ApplyT(func(v *ProjectOptionsAllowlist) ProjectOptionsAllowlist {
+ if v != nil {
+ return *v
+ }
+ var ret ProjectOptionsAllowlist
+ return ret
+ }).(ProjectOptionsAllowlistOutput)
+}
+
+// The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+func (o ProjectOptionsAllowlistPtrOutput) Paths() ProjectOptionsAllowlistPathArrayOutput {
+ return o.ApplyT(func(v *ProjectOptionsAllowlist) []ProjectOptionsAllowlistPath {
+ if v == nil {
+ return nil
+ }
+ return v.Paths
+ }).(ProjectOptionsAllowlistPathArrayOutput)
+}
+
+type ProjectOptionsAllowlistPath struct {
+ // The path prefix to compare with the incoming request path.
+ Value string `pulumi:"value"`
+}
+
+// ProjectOptionsAllowlistPathInput is an input type that accepts ProjectOptionsAllowlistPathArgs and ProjectOptionsAllowlistPathOutput values.
+// You can construct a concrete instance of `ProjectOptionsAllowlistPathInput` via:
+//
+// ProjectOptionsAllowlistPathArgs{...}
+type ProjectOptionsAllowlistPathInput interface {
+ pulumi.Input
+
+ ToProjectOptionsAllowlistPathOutput() ProjectOptionsAllowlistPathOutput
+ ToProjectOptionsAllowlistPathOutputWithContext(context.Context) ProjectOptionsAllowlistPathOutput
+}
+
+type ProjectOptionsAllowlistPathArgs struct {
+ // The path prefix to compare with the incoming request path.
+ Value pulumi.StringInput `pulumi:"value"`
+}
+
+func (ProjectOptionsAllowlistPathArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*ProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (i ProjectOptionsAllowlistPathArgs) ToProjectOptionsAllowlistPathOutput() ProjectOptionsAllowlistPathOutput {
+ return i.ToProjectOptionsAllowlistPathOutputWithContext(context.Background())
+}
+
+func (i ProjectOptionsAllowlistPathArgs) ToProjectOptionsAllowlistPathOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPathOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ProjectOptionsAllowlistPathOutput)
+}
+
+// ProjectOptionsAllowlistPathArrayInput is an input type that accepts ProjectOptionsAllowlistPathArray and ProjectOptionsAllowlistPathArrayOutput values.
+// You can construct a concrete instance of `ProjectOptionsAllowlistPathArrayInput` via:
+//
+// ProjectOptionsAllowlistPathArray{ ProjectOptionsAllowlistPathArgs{...} }
+type ProjectOptionsAllowlistPathArrayInput interface {
+ pulumi.Input
+
+ ToProjectOptionsAllowlistPathArrayOutput() ProjectOptionsAllowlistPathArrayOutput
+ ToProjectOptionsAllowlistPathArrayOutputWithContext(context.Context) ProjectOptionsAllowlistPathArrayOutput
+}
+
+type ProjectOptionsAllowlistPathArray []ProjectOptionsAllowlistPathInput
+
+func (ProjectOptionsAllowlistPathArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]ProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (i ProjectOptionsAllowlistPathArray) ToProjectOptionsAllowlistPathArrayOutput() ProjectOptionsAllowlistPathArrayOutput {
+ return i.ToProjectOptionsAllowlistPathArrayOutputWithContext(context.Background())
+}
+
+func (i ProjectOptionsAllowlistPathArray) ToProjectOptionsAllowlistPathArrayOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPathArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ProjectOptionsAllowlistPathArrayOutput)
+}
+
+type ProjectOptionsAllowlistPathOutput struct{ *pulumi.OutputState }
+
+func (ProjectOptionsAllowlistPathOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*ProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (o ProjectOptionsAllowlistPathOutput) ToProjectOptionsAllowlistPathOutput() ProjectOptionsAllowlistPathOutput {
+ return o
+}
+
+func (o ProjectOptionsAllowlistPathOutput) ToProjectOptionsAllowlistPathOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPathOutput {
+ return o
+}
+
+// The path prefix to compare with the incoming request path.
+func (o ProjectOptionsAllowlistPathOutput) Value() pulumi.StringOutput {
+ return o.ApplyT(func(v ProjectOptionsAllowlistPath) string { return v.Value }).(pulumi.StringOutput)
+}
+
+type ProjectOptionsAllowlistPathArrayOutput struct{ *pulumi.OutputState }
+
+func (ProjectOptionsAllowlistPathArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]ProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (o ProjectOptionsAllowlistPathArrayOutput) ToProjectOptionsAllowlistPathArrayOutput() ProjectOptionsAllowlistPathArrayOutput {
+ return o
+}
+
+func (o ProjectOptionsAllowlistPathArrayOutput) ToProjectOptionsAllowlistPathArrayOutputWithContext(ctx context.Context) ProjectOptionsAllowlistPathArrayOutput {
+ return o
+}
+
+func (o ProjectOptionsAllowlistPathArrayOutput) Index(i pulumi.IntInput) ProjectOptionsAllowlistPathOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProjectOptionsAllowlistPath {
+ return vs[0].([]ProjectOptionsAllowlistPath)[vs[1].(int)]
+ }).(ProjectOptionsAllowlistPathOutput)
+}
+
type ProjectPasswordProtection struct {
// The deployment environment to protect. Must be one of `standardProtection`, `allDeployments`, or `onlyPreviewDeployments`.
DeploymentType string `pulumi:"deploymentType"`
@@ -2016,6 +2250,152 @@ func (o GetProjectGitRepositoryDeployHookArrayOutput) Index(i pulumi.IntInput) G
}).(GetProjectGitRepositoryDeployHookOutput)
}
+type GetProjectOptionsAllowlist struct {
+ // The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ Paths []GetProjectOptionsAllowlistPath `pulumi:"paths"`
+}
+
+// GetProjectOptionsAllowlistInput is an input type that accepts GetProjectOptionsAllowlistArgs and GetProjectOptionsAllowlistOutput values.
+// You can construct a concrete instance of `GetProjectOptionsAllowlistInput` via:
+//
+// GetProjectOptionsAllowlistArgs{...}
+type GetProjectOptionsAllowlistInput interface {
+ pulumi.Input
+
+ ToGetProjectOptionsAllowlistOutput() GetProjectOptionsAllowlistOutput
+ ToGetProjectOptionsAllowlistOutputWithContext(context.Context) GetProjectOptionsAllowlistOutput
+}
+
+type GetProjectOptionsAllowlistArgs struct {
+ // The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ Paths GetProjectOptionsAllowlistPathArrayInput `pulumi:"paths"`
+}
+
+func (GetProjectOptionsAllowlistArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetProjectOptionsAllowlist)(nil)).Elem()
+}
+
+func (i GetProjectOptionsAllowlistArgs) ToGetProjectOptionsAllowlistOutput() GetProjectOptionsAllowlistOutput {
+ return i.ToGetProjectOptionsAllowlistOutputWithContext(context.Background())
+}
+
+func (i GetProjectOptionsAllowlistArgs) ToGetProjectOptionsAllowlistOutputWithContext(ctx context.Context) GetProjectOptionsAllowlistOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetProjectOptionsAllowlistOutput)
+}
+
+type GetProjectOptionsAllowlistOutput struct{ *pulumi.OutputState }
+
+func (GetProjectOptionsAllowlistOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetProjectOptionsAllowlist)(nil)).Elem()
+}
+
+func (o GetProjectOptionsAllowlistOutput) ToGetProjectOptionsAllowlistOutput() GetProjectOptionsAllowlistOutput {
+ return o
+}
+
+func (o GetProjectOptionsAllowlistOutput) ToGetProjectOptionsAllowlistOutputWithContext(ctx context.Context) GetProjectOptionsAllowlistOutput {
+ return o
+}
+
+// The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+func (o GetProjectOptionsAllowlistOutput) Paths() GetProjectOptionsAllowlistPathArrayOutput {
+ return o.ApplyT(func(v GetProjectOptionsAllowlist) []GetProjectOptionsAllowlistPath { return v.Paths }).(GetProjectOptionsAllowlistPathArrayOutput)
+}
+
+type GetProjectOptionsAllowlistPath struct {
+ Value string `pulumi:"value"`
+}
+
+// GetProjectOptionsAllowlistPathInput is an input type that accepts GetProjectOptionsAllowlistPathArgs and GetProjectOptionsAllowlistPathOutput values.
+// You can construct a concrete instance of `GetProjectOptionsAllowlistPathInput` via:
+//
+// GetProjectOptionsAllowlistPathArgs{...}
+type GetProjectOptionsAllowlistPathInput interface {
+ pulumi.Input
+
+ ToGetProjectOptionsAllowlistPathOutput() GetProjectOptionsAllowlistPathOutput
+ ToGetProjectOptionsAllowlistPathOutputWithContext(context.Context) GetProjectOptionsAllowlistPathOutput
+}
+
+type GetProjectOptionsAllowlistPathArgs struct {
+ Value pulumi.StringInput `pulumi:"value"`
+}
+
+func (GetProjectOptionsAllowlistPathArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (i GetProjectOptionsAllowlistPathArgs) ToGetProjectOptionsAllowlistPathOutput() GetProjectOptionsAllowlistPathOutput {
+ return i.ToGetProjectOptionsAllowlistPathOutputWithContext(context.Background())
+}
+
+func (i GetProjectOptionsAllowlistPathArgs) ToGetProjectOptionsAllowlistPathOutputWithContext(ctx context.Context) GetProjectOptionsAllowlistPathOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetProjectOptionsAllowlistPathOutput)
+}
+
+// GetProjectOptionsAllowlistPathArrayInput is an input type that accepts GetProjectOptionsAllowlistPathArray and GetProjectOptionsAllowlistPathArrayOutput values.
+// You can construct a concrete instance of `GetProjectOptionsAllowlistPathArrayInput` via:
+//
+// GetProjectOptionsAllowlistPathArray{ GetProjectOptionsAllowlistPathArgs{...} }
+type GetProjectOptionsAllowlistPathArrayInput interface {
+ pulumi.Input
+
+ ToGetProjectOptionsAllowlistPathArrayOutput() GetProjectOptionsAllowlistPathArrayOutput
+ ToGetProjectOptionsAllowlistPathArrayOutputWithContext(context.Context) GetProjectOptionsAllowlistPathArrayOutput
+}
+
+type GetProjectOptionsAllowlistPathArray []GetProjectOptionsAllowlistPathInput
+
+func (GetProjectOptionsAllowlistPathArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (i GetProjectOptionsAllowlistPathArray) ToGetProjectOptionsAllowlistPathArrayOutput() GetProjectOptionsAllowlistPathArrayOutput {
+ return i.ToGetProjectOptionsAllowlistPathArrayOutputWithContext(context.Background())
+}
+
+func (i GetProjectOptionsAllowlistPathArray) ToGetProjectOptionsAllowlistPathArrayOutputWithContext(ctx context.Context) GetProjectOptionsAllowlistPathArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetProjectOptionsAllowlistPathArrayOutput)
+}
+
+type GetProjectOptionsAllowlistPathOutput struct{ *pulumi.OutputState }
+
+func (GetProjectOptionsAllowlistPathOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (o GetProjectOptionsAllowlistPathOutput) ToGetProjectOptionsAllowlistPathOutput() GetProjectOptionsAllowlistPathOutput {
+ return o
+}
+
+func (o GetProjectOptionsAllowlistPathOutput) ToGetProjectOptionsAllowlistPathOutputWithContext(ctx context.Context) GetProjectOptionsAllowlistPathOutput {
+ return o
+}
+
+func (o GetProjectOptionsAllowlistPathOutput) Value() pulumi.StringOutput {
+ return o.ApplyT(func(v GetProjectOptionsAllowlistPath) string { return v.Value }).(pulumi.StringOutput)
+}
+
+type GetProjectOptionsAllowlistPathArrayOutput struct{ *pulumi.OutputState }
+
+func (GetProjectOptionsAllowlistPathArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetProjectOptionsAllowlistPath)(nil)).Elem()
+}
+
+func (o GetProjectOptionsAllowlistPathArrayOutput) ToGetProjectOptionsAllowlistPathArrayOutput() GetProjectOptionsAllowlistPathArrayOutput {
+ return o
+}
+
+func (o GetProjectOptionsAllowlistPathArrayOutput) ToGetProjectOptionsAllowlistPathArrayOutputWithContext(ctx context.Context) GetProjectOptionsAllowlistPathArrayOutput {
+ return o
+}
+
+func (o GetProjectOptionsAllowlistPathArrayOutput) Index(i pulumi.IntInput) GetProjectOptionsAllowlistPathOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectOptionsAllowlistPath {
+ return vs[0].([]GetProjectOptionsAllowlistPath)[vs[1].(int)]
+ }).(GetProjectOptionsAllowlistPathOutput)
+}
+
type GetProjectPasswordProtection struct {
// The deployment environment that will be protected.
DeploymentType string `pulumi:"deploymentType"`
@@ -2303,6 +2683,10 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*ProjectGitRepositoryPtrInput)(nil)).Elem(), ProjectGitRepositoryArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*ProjectGitRepositoryDeployHookInput)(nil)).Elem(), ProjectGitRepositoryDeployHookArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*ProjectGitRepositoryDeployHookArrayInput)(nil)).Elem(), ProjectGitRepositoryDeployHookArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*ProjectOptionsAllowlistInput)(nil)).Elem(), ProjectOptionsAllowlistArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*ProjectOptionsAllowlistPtrInput)(nil)).Elem(), ProjectOptionsAllowlistArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*ProjectOptionsAllowlistPathInput)(nil)).Elem(), ProjectOptionsAllowlistPathArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*ProjectOptionsAllowlistPathArrayInput)(nil)).Elem(), ProjectOptionsAllowlistPathArray{})
pulumi.RegisterInputType(reflect.TypeOf((*ProjectPasswordProtectionInput)(nil)).Elem(), ProjectPasswordProtectionArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*ProjectPasswordProtectionPtrInput)(nil)).Elem(), ProjectPasswordProtectionArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*ProjectTrustedIpsInput)(nil)).Elem(), ProjectTrustedIpsArgs{})
@@ -2317,6 +2701,9 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*GetProjectGitRepositoryInput)(nil)).Elem(), GetProjectGitRepositoryArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProjectGitRepositoryDeployHookInput)(nil)).Elem(), GetProjectGitRepositoryDeployHookArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProjectGitRepositoryDeployHookArrayInput)(nil)).Elem(), GetProjectGitRepositoryDeployHookArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetProjectOptionsAllowlistInput)(nil)).Elem(), GetProjectOptionsAllowlistArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetProjectOptionsAllowlistPathInput)(nil)).Elem(), GetProjectOptionsAllowlistPathArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetProjectOptionsAllowlistPathArrayInput)(nil)).Elem(), GetProjectOptionsAllowlistPathArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProjectPasswordProtectionInput)(nil)).Elem(), GetProjectPasswordProtectionArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProjectTrustedIpsInput)(nil)).Elem(), GetProjectTrustedIpsArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProjectTrustedIpsAddressInput)(nil)).Elem(), GetProjectTrustedIpsAddressArgs{})
@@ -2334,6 +2721,10 @@ func init() {
pulumi.RegisterOutputType(ProjectGitRepositoryPtrOutput{})
pulumi.RegisterOutputType(ProjectGitRepositoryDeployHookOutput{})
pulumi.RegisterOutputType(ProjectGitRepositoryDeployHookArrayOutput{})
+ pulumi.RegisterOutputType(ProjectOptionsAllowlistOutput{})
+ pulumi.RegisterOutputType(ProjectOptionsAllowlistPtrOutput{})
+ pulumi.RegisterOutputType(ProjectOptionsAllowlistPathOutput{})
+ pulumi.RegisterOutputType(ProjectOptionsAllowlistPathArrayOutput{})
pulumi.RegisterOutputType(ProjectPasswordProtectionOutput{})
pulumi.RegisterOutputType(ProjectPasswordProtectionPtrOutput{})
pulumi.RegisterOutputType(ProjectTrustedIpsOutput{})
@@ -2348,6 +2739,9 @@ func init() {
pulumi.RegisterOutputType(GetProjectGitRepositoryOutput{})
pulumi.RegisterOutputType(GetProjectGitRepositoryDeployHookOutput{})
pulumi.RegisterOutputType(GetProjectGitRepositoryDeployHookArrayOutput{})
+ pulumi.RegisterOutputType(GetProjectOptionsAllowlistOutput{})
+ pulumi.RegisterOutputType(GetProjectOptionsAllowlistPathOutput{})
+ pulumi.RegisterOutputType(GetProjectOptionsAllowlistPathArrayOutput{})
pulumi.RegisterOutputType(GetProjectPasswordProtectionOutput{})
pulumi.RegisterOutputType(GetProjectTrustedIpsOutput{})
pulumi.RegisterOutputType(GetProjectTrustedIpsAddressOutput{})
diff --git a/sdk/nodejs/getProject.ts b/sdk/nodejs/getProject.ts
index a098966..826f30d 100644
--- a/sdk/nodejs/getProject.ts
+++ b/sdk/nodejs/getProject.ts
@@ -120,6 +120,10 @@ export interface GetProjectResult {
* The name of the project.
*/
readonly name: string;
+ /**
+ * Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ */
+ readonly optionsAllowlist: outputs.GetProjectOptionsAllowlist;
/**
* The output directory of the project. When null is used this value will be automatically detected.
*/
diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts
index 7ce79f2..cebd24b 100644
--- a/sdk/nodejs/project.ts
+++ b/sdk/nodejs/project.ts
@@ -143,6 +143,10 @@ export class Project extends pulumi.CustomResource {
* The desired name for the project.
*/
public readonly name!: pulumi.Output;
+ /**
+ * Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ */
+ public readonly optionsAllowlist!: pulumi.Output;
/**
* The output directory of the project. If omitted, this value will be automatically detected.
*/
@@ -225,6 +229,7 @@ export class Project extends pulumi.CustomResource {
resourceInputs["ignoreCommand"] = state ? state.ignoreCommand : undefined;
resourceInputs["installCommand"] = state ? state.installCommand : undefined;
resourceInputs["name"] = state ? state.name : undefined;
+ resourceInputs["optionsAllowlist"] = state ? state.optionsAllowlist : undefined;
resourceInputs["outputDirectory"] = state ? state.outputDirectory : undefined;
resourceInputs["passwordProtection"] = state ? state.passwordProtection : undefined;
resourceInputs["previewComments"] = state ? state.previewComments : undefined;
@@ -256,6 +261,7 @@ export class Project extends pulumi.CustomResource {
resourceInputs["ignoreCommand"] = args ? args.ignoreCommand : undefined;
resourceInputs["installCommand"] = args ? args.installCommand : undefined;
resourceInputs["name"] = args ? args.name : undefined;
+ resourceInputs["optionsAllowlist"] = args ? args.optionsAllowlist : undefined;
resourceInputs["outputDirectory"] = args ? args.outputDirectory : undefined;
resourceInputs["passwordProtection"] = args ? args.passwordProtection : undefined;
resourceInputs["previewComments"] = args ? args.previewComments : undefined;
@@ -343,6 +349,10 @@ export interface ProjectState {
* The desired name for the project.
*/
name?: pulumi.Input;
+ /**
+ * Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ */
+ optionsAllowlist?: pulumi.Input;
/**
* The output directory of the project. If omitted, this value will be automatically detected.
*/
@@ -465,6 +475,10 @@ export interface ProjectArgs {
* The desired name for the project.
*/
name?: pulumi.Input;
+ /**
+ * Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ */
+ optionsAllowlist?: pulumi.Input;
/**
* The output directory of the project. If omitted, this value will be automatically detected.
*/
diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts
index d3f2ae3..015db27 100644
--- a/sdk/nodejs/types/input.ts
+++ b/sdk/nodejs/types/input.ts
@@ -123,6 +123,20 @@ export interface ProjectGitRepositoryDeployHook {
url?: pulumi.Input;
}
+export interface ProjectOptionsAllowlist {
+ /**
+ * The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ */
+ paths: pulumi.Input[]>;
+}
+
+export interface ProjectOptionsAllowlistPath {
+ /**
+ * The path prefix to compare with the incoming request path.
+ */
+ value: pulumi.Input;
+}
+
export interface ProjectPasswordProtection {
/**
* The deployment environment to protect. Must be one of `standardProtection`, `allDeployments`, or `onlyPreviewDeployments`.
diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts
index 57e1888..2af62d9 100644
--- a/sdk/nodejs/types/output.ts
+++ b/sdk/nodejs/types/output.ts
@@ -123,6 +123,17 @@ export interface GetProjectGitRepositoryDeployHook {
url: string;
}
+export interface GetProjectOptionsAllowlist {
+ /**
+ * The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ */
+ paths: outputs.GetProjectOptionsAllowlistPath[];
+}
+
+export interface GetProjectOptionsAllowlistPath {
+ value: string;
+}
+
export interface GetProjectPasswordProtection {
/**
* The deployment environment that will be protected.
@@ -233,6 +244,20 @@ export interface ProjectGitRepositoryDeployHook {
url: string;
}
+export interface ProjectOptionsAllowlist {
+ /**
+ * The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ */
+ paths: outputs.ProjectOptionsAllowlistPath[];
+}
+
+export interface ProjectOptionsAllowlistPath {
+ /**
+ * The path prefix to compare with the incoming request path.
+ */
+ value: string;
+}
+
export interface ProjectPasswordProtection {
/**
* The deployment environment to protect. Must be one of `standardProtection`, `allDeployments`, or `onlyPreviewDeployments`.
diff --git a/sdk/python/pulumiverse_vercel/_inputs.py b/sdk/python/pulumiverse_vercel/_inputs.py
index 788d0ce..2eb6d80 100644
--- a/sdk/python/pulumiverse_vercel/_inputs.py
+++ b/sdk/python/pulumiverse_vercel/_inputs.py
@@ -16,6 +16,8 @@
'ProjectGitCommentsArgs',
'ProjectGitRepositoryArgs',
'ProjectGitRepositoryDeployHookArgs',
+ 'ProjectOptionsAllowlistArgs',
+ 'ProjectOptionsAllowlistPathArgs',
'ProjectPasswordProtectionArgs',
'ProjectTrustedIpsArgs',
'ProjectTrustedIpsAddressArgs',
@@ -451,6 +453,50 @@ def url(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "url", value)
+@pulumi.input_type
+class ProjectOptionsAllowlistArgs:
+ def __init__(__self__, *,
+ paths: pulumi.Input[Sequence[pulumi.Input['ProjectOptionsAllowlistPathArgs']]]):
+ """
+ :param pulumi.Input[Sequence[pulumi.Input['ProjectOptionsAllowlistPathArgs']]] paths: The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ """
+ pulumi.set(__self__, "paths", paths)
+
+ @property
+ @pulumi.getter
+ def paths(self) -> pulumi.Input[Sequence[pulumi.Input['ProjectOptionsAllowlistPathArgs']]]:
+ """
+ The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ """
+ return pulumi.get(self, "paths")
+
+ @paths.setter
+ def paths(self, value: pulumi.Input[Sequence[pulumi.Input['ProjectOptionsAllowlistPathArgs']]]):
+ pulumi.set(self, "paths", value)
+
+
+@pulumi.input_type
+class ProjectOptionsAllowlistPathArgs:
+ def __init__(__self__, *,
+ value: pulumi.Input[str]):
+ """
+ :param pulumi.Input[str] value: The path prefix to compare with the incoming request path.
+ """
+ pulumi.set(__self__, "value", value)
+
+ @property
+ @pulumi.getter
+ def value(self) -> pulumi.Input[str]:
+ """
+ The path prefix to compare with the incoming request path.
+ """
+ return pulumi.get(self, "value")
+
+ @value.setter
+ def value(self, value: pulumi.Input[str]):
+ pulumi.set(self, "value", value)
+
+
@pulumi.input_type
class ProjectPasswordProtectionArgs:
def __init__(__self__, *,
diff --git a/sdk/python/pulumiverse_vercel/get_project.py b/sdk/python/pulumiverse_vercel/get_project.py
index 50f2c13..9744b63 100644
--- a/sdk/python/pulumiverse_vercel/get_project.py
+++ b/sdk/python/pulumiverse_vercel/get_project.py
@@ -22,7 +22,7 @@ class GetProjectResult:
"""
A collection of values returned by getProject.
"""
- def __init__(__self__, auto_assign_custom_domains=None, automatically_expose_system_environment_variables=None, build_command=None, customer_success_code_visibility=None, dev_command=None, directory_listing=None, environments=None, framework=None, function_failover=None, git_comments=None, git_fork_protection=None, git_lfs=None, git_repository=None, id=None, ignore_command=None, install_command=None, name=None, output_directory=None, password_protection=None, preview_comments=None, prioritise_production_builds=None, protection_bypass_for_automation=None, public_source=None, root_directory=None, serverless_function_region=None, skew_protection=None, team_id=None, trusted_ips=None, vercel_authentication=None):
+ def __init__(__self__, auto_assign_custom_domains=None, automatically_expose_system_environment_variables=None, build_command=None, customer_success_code_visibility=None, dev_command=None, directory_listing=None, environments=None, framework=None, function_failover=None, git_comments=None, git_fork_protection=None, git_lfs=None, git_repository=None, id=None, ignore_command=None, install_command=None, name=None, options_allowlist=None, output_directory=None, password_protection=None, preview_comments=None, prioritise_production_builds=None, protection_bypass_for_automation=None, public_source=None, root_directory=None, serverless_function_region=None, skew_protection=None, team_id=None, trusted_ips=None, vercel_authentication=None):
if auto_assign_custom_domains and not isinstance(auto_assign_custom_domains, bool):
raise TypeError("Expected argument 'auto_assign_custom_domains' to be a bool")
pulumi.set(__self__, "auto_assign_custom_domains", auto_assign_custom_domains)
@@ -74,6 +74,9 @@ def __init__(__self__, auto_assign_custom_domains=None, automatically_expose_sys
if name and not isinstance(name, str):
raise TypeError("Expected argument 'name' to be a str")
pulumi.set(__self__, "name", name)
+ if options_allowlist and not isinstance(options_allowlist, dict):
+ raise TypeError("Expected argument 'options_allowlist' to be a dict")
+ pulumi.set(__self__, "options_allowlist", options_allowlist)
if output_directory and not isinstance(output_directory, str):
raise TypeError("Expected argument 'output_directory' to be a str")
pulumi.set(__self__, "output_directory", output_directory)
@@ -247,6 +250,14 @@ def name(self) -> str:
"""
return pulumi.get(self, "name")
+ @property
+ @pulumi.getter(name="optionsAllowlist")
+ def options_allowlist(self) -> 'outputs.GetProjectOptionsAllowlistResult':
+ """
+ Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ """
+ return pulumi.get(self, "options_allowlist")
+
@property
@pulumi.getter(name="outputDirectory")
def output_directory(self) -> str:
@@ -367,6 +378,7 @@ def __await__(self):
ignore_command=self.ignore_command,
install_command=self.install_command,
name=self.name,
+ options_allowlist=self.options_allowlist,
output_directory=self.output_directory,
password_protection=self.password_protection,
preview_comments=self.preview_comments,
@@ -429,6 +441,7 @@ def get_project(name: Optional[str] = None,
ignore_command=pulumi.get(__ret__, 'ignore_command'),
install_command=pulumi.get(__ret__, 'install_command'),
name=pulumi.get(__ret__, 'name'),
+ options_allowlist=pulumi.get(__ret__, 'options_allowlist'),
output_directory=pulumi.get(__ret__, 'output_directory'),
password_protection=pulumi.get(__ret__, 'password_protection'),
preview_comments=pulumi.get(__ret__, 'preview_comments'),
diff --git a/sdk/python/pulumiverse_vercel/outputs.py b/sdk/python/pulumiverse_vercel/outputs.py
index a032ca5..e812e8e 100644
--- a/sdk/python/pulumiverse_vercel/outputs.py
+++ b/sdk/python/pulumiverse_vercel/outputs.py
@@ -17,6 +17,8 @@
'ProjectGitComments',
'ProjectGitRepository',
'ProjectGitRepositoryDeployHook',
+ 'ProjectOptionsAllowlist',
+ 'ProjectOptionsAllowlistPath',
'ProjectPasswordProtection',
'ProjectTrustedIps',
'ProjectTrustedIpsAddress',
@@ -25,6 +27,8 @@
'GetProjectGitCommentsResult',
'GetProjectGitRepositoryResult',
'GetProjectGitRepositoryDeployHookResult',
+ 'GetProjectOptionsAllowlistResult',
+ 'GetProjectOptionsAllowlistPathResult',
'GetProjectPasswordProtectionResult',
'GetProjectTrustedIpsResult',
'GetProjectTrustedIpsAddressResult',
@@ -438,6 +442,42 @@ def url(self) -> Optional[str]:
return pulumi.get(self, "url")
+@pulumi.output_type
+class ProjectOptionsAllowlist(dict):
+ def __init__(__self__, *,
+ paths: Sequence['outputs.ProjectOptionsAllowlistPath']):
+ """
+ :param Sequence['ProjectOptionsAllowlistPathArgs'] paths: The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ """
+ pulumi.set(__self__, "paths", paths)
+
+ @property
+ @pulumi.getter
+ def paths(self) -> Sequence['outputs.ProjectOptionsAllowlistPath']:
+ """
+ The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ """
+ return pulumi.get(self, "paths")
+
+
+@pulumi.output_type
+class ProjectOptionsAllowlistPath(dict):
+ def __init__(__self__, *,
+ value: str):
+ """
+ :param str value: The path prefix to compare with the incoming request path.
+ """
+ pulumi.set(__self__, "value", value)
+
+ @property
+ @pulumi.getter
+ def value(self) -> str:
+ """
+ The path prefix to compare with the incoming request path.
+ """
+ return pulumi.get(self, "value")
+
+
@pulumi.output_type
class ProjectPasswordProtection(dict):
@staticmethod
@@ -813,6 +853,36 @@ def url(self) -> str:
return pulumi.get(self, "url")
+@pulumi.output_type
+class GetProjectOptionsAllowlistResult(dict):
+ def __init__(__self__, *,
+ paths: Sequence['outputs.GetProjectOptionsAllowlistPathResult']):
+ """
+ :param Sequence['GetProjectOptionsAllowlistPathArgs'] paths: The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ """
+ pulumi.set(__self__, "paths", paths)
+
+ @property
+ @pulumi.getter
+ def paths(self) -> Sequence['outputs.GetProjectOptionsAllowlistPathResult']:
+ """
+ The allowed paths for the OPTIONS Allowlist. Incoming requests will bypass Deployment Protection if they have the method `OPTIONS` and **start with** one of the path values.
+ """
+ return pulumi.get(self, "paths")
+
+
+@pulumi.output_type
+class GetProjectOptionsAllowlistPathResult(dict):
+ def __init__(__self__, *,
+ value: str):
+ pulumi.set(__self__, "value", value)
+
+ @property
+ @pulumi.getter
+ def value(self) -> str:
+ return pulumi.get(self, "value")
+
+
@pulumi.output_type
class GetProjectPasswordProtectionResult(dict):
def __init__(__self__, *,
diff --git a/sdk/python/pulumiverse_vercel/project.py b/sdk/python/pulumiverse_vercel/project.py
index 1a28be2..37fc012 100644
--- a/sdk/python/pulumiverse_vercel/project.py
+++ b/sdk/python/pulumiverse_vercel/project.py
@@ -32,6 +32,7 @@ def __init__(__self__, *,
ignore_command: Optional[pulumi.Input[str]] = None,
install_command: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
+ options_allowlist: Optional[pulumi.Input['ProjectOptionsAllowlistArgs']] = None,
output_directory: Optional[pulumi.Input[str]] = None,
password_protection: Optional[pulumi.Input['ProjectPasswordProtectionArgs']] = None,
preview_comments: Optional[pulumi.Input[bool]] = None,
@@ -62,6 +63,7 @@ def __init__(__self__, *,
:param pulumi.Input[str] ignore_command: 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.
:param pulumi.Input[str] install_command: The install command for this project. If omitted, this value will be automatically detected.
:param pulumi.Input[str] name: The desired name for the project.
+ :param pulumi.Input['ProjectOptionsAllowlistArgs'] options_allowlist: Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
:param pulumi.Input[str] output_directory: The output directory of the project. If omitted, this value will be automatically detected.
:param pulumi.Input['ProjectPasswordProtectionArgs'] password_protection: Ensures visitors of your Preview Deployments must enter a password in order to gain access.
:param pulumi.Input[bool] preview_comments: Whether to enable comments on your Preview Deployments. If omitted, comments are controlled at the team level (default behaviour).
@@ -107,6 +109,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "install_command", install_command)
if name is not None:
pulumi.set(__self__, "name", name)
+ if options_allowlist is not None:
+ pulumi.set(__self__, "options_allowlist", options_allowlist)
if output_directory is not None:
pulumi.set(__self__, "output_directory", output_directory)
if password_protection is not None:
@@ -324,6 +328,18 @@ def name(self) -> Optional[pulumi.Input[str]]:
def name(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "name", value)
+ @property
+ @pulumi.getter(name="optionsAllowlist")
+ def options_allowlist(self) -> Optional[pulumi.Input['ProjectOptionsAllowlistArgs']]:
+ """
+ Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ """
+ return pulumi.get(self, "options_allowlist")
+
+ @options_allowlist.setter
+ def options_allowlist(self, value: Optional[pulumi.Input['ProjectOptionsAllowlistArgs']]):
+ pulumi.set(self, "options_allowlist", value)
+
@property
@pulumi.getter(name="outputDirectory")
def output_directory(self) -> Optional[pulumi.Input[str]]:
@@ -488,6 +504,7 @@ def __init__(__self__, *,
ignore_command: Optional[pulumi.Input[str]] = None,
install_command: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
+ options_allowlist: Optional[pulumi.Input['ProjectOptionsAllowlistArgs']] = None,
output_directory: Optional[pulumi.Input[str]] = None,
password_protection: Optional[pulumi.Input['ProjectPasswordProtectionArgs']] = None,
preview_comments: Optional[pulumi.Input[bool]] = None,
@@ -519,6 +536,7 @@ def __init__(__self__, *,
:param pulumi.Input[str] ignore_command: 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.
:param pulumi.Input[str] install_command: The install command for this project. If omitted, this value will be automatically detected.
:param pulumi.Input[str] name: The desired name for the project.
+ :param pulumi.Input['ProjectOptionsAllowlistArgs'] options_allowlist: Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
:param pulumi.Input[str] output_directory: The output directory of the project. If omitted, this value will be automatically detected.
:param pulumi.Input['ProjectPasswordProtectionArgs'] password_protection: Ensures visitors of your Preview Deployments must enter a password in order to gain access.
:param pulumi.Input[bool] preview_comments: Whether to enable comments on your Preview Deployments. If omitted, comments are controlled at the team level (default behaviour).
@@ -565,6 +583,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "install_command", install_command)
if name is not None:
pulumi.set(__self__, "name", name)
+ if options_allowlist is not None:
+ pulumi.set(__self__, "options_allowlist", options_allowlist)
if output_directory is not None:
pulumi.set(__self__, "output_directory", output_directory)
if password_protection is not None:
@@ -784,6 +804,18 @@ def name(self) -> Optional[pulumi.Input[str]]:
def name(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "name", value)
+ @property
+ @pulumi.getter(name="optionsAllowlist")
+ def options_allowlist(self) -> Optional[pulumi.Input['ProjectOptionsAllowlistArgs']]:
+ """
+ Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ """
+ return pulumi.get(self, "options_allowlist")
+
+ @options_allowlist.setter
+ def options_allowlist(self, value: Optional[pulumi.Input['ProjectOptionsAllowlistArgs']]):
+ pulumi.set(self, "options_allowlist", value)
+
@property
@pulumi.getter(name="outputDirectory")
def output_directory(self) -> Optional[pulumi.Input[str]]:
@@ -962,6 +994,7 @@ def __init__(__self__,
ignore_command: Optional[pulumi.Input[str]] = None,
install_command: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
+ options_allowlist: Optional[pulumi.Input[pulumi.InputType['ProjectOptionsAllowlistArgs']]] = None,
output_directory: Optional[pulumi.Input[str]] = None,
password_protection: Optional[pulumi.Input[pulumi.InputType['ProjectPasswordProtectionArgs']]] = None,
preview_comments: Optional[pulumi.Input[bool]] = None,
@@ -1037,6 +1070,7 @@ def __init__(__self__,
:param pulumi.Input[str] ignore_command: 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.
:param pulumi.Input[str] install_command: The install command for this project. If omitted, this value will be automatically detected.
:param pulumi.Input[str] name: The desired name for the project.
+ :param pulumi.Input[pulumi.InputType['ProjectOptionsAllowlistArgs']] options_allowlist: Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
:param pulumi.Input[str] output_directory: The output directory of the project. If omitted, this value will be automatically detected.
:param pulumi.Input[pulumi.InputType['ProjectPasswordProtectionArgs']] password_protection: Ensures visitors of your Preview Deployments must enter a password in order to gain access.
:param pulumi.Input[bool] preview_comments: Whether to enable comments on your Preview Deployments. If omitted, comments are controlled at the team level (default behaviour).
@@ -1131,6 +1165,7 @@ def _internal_init(__self__,
ignore_command: Optional[pulumi.Input[str]] = None,
install_command: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
+ options_allowlist: Optional[pulumi.Input[pulumi.InputType['ProjectOptionsAllowlistArgs']]] = None,
output_directory: Optional[pulumi.Input[str]] = None,
password_protection: Optional[pulumi.Input[pulumi.InputType['ProjectPasswordProtectionArgs']]] = None,
preview_comments: Optional[pulumi.Input[bool]] = None,
@@ -1168,6 +1203,7 @@ def _internal_init(__self__,
__props__.__dict__["ignore_command"] = ignore_command
__props__.__dict__["install_command"] = install_command
__props__.__dict__["name"] = name
+ __props__.__dict__["options_allowlist"] = options_allowlist
__props__.__dict__["output_directory"] = output_directory
__props__.__dict__["password_protection"] = password_protection
__props__.__dict__["preview_comments"] = preview_comments
@@ -1207,6 +1243,7 @@ def get(resource_name: str,
ignore_command: Optional[pulumi.Input[str]] = None,
install_command: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
+ options_allowlist: Optional[pulumi.Input[pulumi.InputType['ProjectOptionsAllowlistArgs']]] = None,
output_directory: Optional[pulumi.Input[str]] = None,
password_protection: Optional[pulumi.Input[pulumi.InputType['ProjectPasswordProtectionArgs']]] = None,
preview_comments: Optional[pulumi.Input[bool]] = None,
@@ -1243,6 +1280,7 @@ def get(resource_name: str,
:param pulumi.Input[str] ignore_command: 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.
:param pulumi.Input[str] install_command: The install command for this project. If omitted, this value will be automatically detected.
:param pulumi.Input[str] name: The desired name for the project.
+ :param pulumi.Input[pulumi.InputType['ProjectOptionsAllowlistArgs']] options_allowlist: Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
:param pulumi.Input[str] output_directory: The output directory of the project. If omitted, this value will be automatically detected.
:param pulumi.Input[pulumi.InputType['ProjectPasswordProtectionArgs']] password_protection: Ensures visitors of your Preview Deployments must enter a password in order to gain access.
:param pulumi.Input[bool] preview_comments: Whether to enable comments on your Preview Deployments. If omitted, comments are controlled at the team level (default behaviour).
@@ -1277,6 +1315,7 @@ def get(resource_name: str,
__props__.__dict__["ignore_command"] = ignore_command
__props__.__dict__["install_command"] = install_command
__props__.__dict__["name"] = name
+ __props__.__dict__["options_allowlist"] = options_allowlist
__props__.__dict__["output_directory"] = output_directory
__props__.__dict__["password_protection"] = password_protection
__props__.__dict__["preview_comments"] = preview_comments
@@ -1420,6 +1459,14 @@ def name(self) -> pulumi.Output[str]:
"""
return pulumi.get(self, "name")
+ @property
+ @pulumi.getter(name="optionsAllowlist")
+ def options_allowlist(self) -> pulumi.Output[Optional['outputs.ProjectOptionsAllowlist']]:
+ """
+ Disable Deployment Protection for CORS preflight `OPTIONS` requests for a list of paths.
+ """
+ return pulumi.get(self, "options_allowlist")
+
@property
@pulumi.getter(name="outputDirectory")
def output_directory(self) -> pulumi.Output[Optional[str]]: