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]]: