cloudflare logo
Cloudflare v5.0.0, Mar 13 23

cloudflare.PagesProject

Provides a resource which manages Cloudflare Pages projects.

If you are using a source block configuration, you must first have a connected GitHub or GitLab account connected to Cloudflare. See the [Getting Started with Pages] documentation on how to link your accounts.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

return await Deployment.RunAsync(() => 
{
    // Basic project
    var basicProject = new Cloudflare.PagesProject("basicProject", new()
    {
        AccountId = "f037e56e89293a057740de681ac9abbe",
        Name = "this-is-my-project-01",
        ProductionBranch = "main",
    });

    // Manage build config
    var buildConfig = new Cloudflare.PagesProject("buildConfig", new()
    {
        AccountId = "f037e56e89293a057740de681ac9abbe",
        BuildConfig = new Cloudflare.Inputs.PagesProjectBuildConfigArgs
        {
            BuildCommand = "npm run build",
            DestinationDir = "build",
            RootDir = "/",
            WebAnalyticsTag = "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
            WebAnalyticsToken = "021e1057c18547eca7b79f2516f06o7x",
        },
        Name = "this-is-my-project-01",
        ProductionBranch = "main",
    });

    // Manage project source
    var sourceConfig = new Cloudflare.PagesProject("sourceConfig", new()
    {
        AccountId = "f037e56e89293a057740de681ac9abbe",
        Name = "this-is-my-project-01",
        ProductionBranch = "main",
        Source = new Cloudflare.Inputs.PagesProjectSourceArgs
        {
            Config = new Cloudflare.Inputs.PagesProjectSourceConfigArgs
            {
                DeploymentsEnabled = true,
                Owner = "cloudflare",
                PrCommentsEnabled = true,
                PreviewBranchExcludes = new[]
                {
                    "main",
                    "prod",
                },
                PreviewBranchIncludes = new[]
                {
                    "dev",
                    "preview",
                },
                PreviewDeploymentSetting = "custom",
                ProductionBranch = "main",
                ProductionDeploymentEnabled = true,
                RepoName = "ninjakittens",
            },
            Type = "github",
        },
    });

    // Manage deployment configs
    var deploymentConfigs = new Cloudflare.PagesProject("deploymentConfigs", new()
    {
        AccountId = "f037e56e89293a057740de681ac9abbe",
        DeploymentConfigs = new Cloudflare.Inputs.PagesProjectDeploymentConfigsArgs
        {
            Preview = new Cloudflare.Inputs.PagesProjectDeploymentConfigsPreviewArgs
            {
                CompatibilityDate = "2022-08-15",
                CompatibilityFlags = new[]
                {
                    "preview_flag",
                },
                D1Databases = 
                {
                    { "D1BINDING", "445e2955-951a-4358-a35b-a4d0c813f63" },
                },
                DurableObjectNamespaces = 
                {
                    { "DOBINDING", "5eb63bbbe01eeed093cb22bb8f5acdc3" },
                },
                EnvironmentVariables = 
                {
                    { "ENVIRONMENT", "preview" },
                },
                KvNamespaces = 
                {
                    { "KVBINDING", "5eb63bbbe01eeed093cb22bb8f5acdc3" },
                },
                R2Buckets = 
                {
                    { "R2BINDING", "some-bucket" },
                },
            },
            Production = new Cloudflare.Inputs.PagesProjectDeploymentConfigsProductionArgs
            {
                CompatibilityDate = "2022-08-16",
                CompatibilityFlags = new[]
                {
                    "production_flag",
                    "second flag",
                },
                D1Databases = 
                {
                    { "D1BINDING1", "445e2955-951a-4358-a35b-a4d0c813f63" },
                    { "D1BINDING2", "a399414b-c697-409a-a688-377db6433cd9" },
                },
                DurableObjectNamespaces = 
                {
                    { "DOBINDING1", "5eb63bbbe01eeed093cb22bb8f5acdc3" },
                    { "DOBINDING2", "3cdca5f8bb22bc390deee10ebbb36be5" },
                },
                EnvironmentVariables = 
                {
                    { "ENVIRONMENT", "production" },
                    { "OTHERVALUE", "other value" },
                },
                KvNamespaces = 
                {
                    { "KVBINDING1", "5eb63bbbe01eeed093cb22bb8f5acdc3" },
                    { "KVBINDING2", "3cdca5f8bb22bc390deee10ebbb36be5" },
                },
                R2Buckets = 
                {
                    { "R2BINDING1", "some-bucket" },
                    { "R2BINDING2", "other-bucket" },
                },
            },
        },
        Name = "this-is-my-project-01",
        ProductionBranch = "main",
    });

});
package main

import (
	"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudflare.NewPagesProject(ctx, "basicProject", &cloudflare.PagesProjectArgs{
			AccountId:        pulumi.String("f037e56e89293a057740de681ac9abbe"),
			Name:             pulumi.String("this-is-my-project-01"),
			ProductionBranch: pulumi.String("main"),
		})
		if err != nil {
			return err
		}
		_, err = cloudflare.NewPagesProject(ctx, "buildConfig", &cloudflare.PagesProjectArgs{
			AccountId: pulumi.String("f037e56e89293a057740de681ac9abbe"),
			BuildConfig: &cloudflare.PagesProjectBuildConfigArgs{
				BuildCommand:      pulumi.String("npm run build"),
				DestinationDir:    pulumi.String("build"),
				RootDir:           pulumi.String("/"),
				WebAnalyticsTag:   pulumi.String("cee1c73f6e4743d0b5e6bb1a0bcaabcc"),
				WebAnalyticsToken: pulumi.String("021e1057c18547eca7b79f2516f06o7x"),
			},
			Name:             pulumi.String("this-is-my-project-01"),
			ProductionBranch: pulumi.String("main"),
		})
		if err != nil {
			return err
		}
		_, err = cloudflare.NewPagesProject(ctx, "sourceConfig", &cloudflare.PagesProjectArgs{
			AccountId:        pulumi.String("f037e56e89293a057740de681ac9abbe"),
			Name:             pulumi.String("this-is-my-project-01"),
			ProductionBranch: pulumi.String("main"),
			Source: &cloudflare.PagesProjectSourceArgs{
				Config: &cloudflare.PagesProjectSourceConfigArgs{
					DeploymentsEnabled: pulumi.Bool(true),
					Owner:              pulumi.String("cloudflare"),
					PrCommentsEnabled:  pulumi.Bool(true),
					PreviewBranchExcludes: pulumi.StringArray{
						pulumi.String("main"),
						pulumi.String("prod"),
					},
					PreviewBranchIncludes: pulumi.StringArray{
						pulumi.String("dev"),
						pulumi.String("preview"),
					},
					PreviewDeploymentSetting:    pulumi.String("custom"),
					ProductionBranch:            pulumi.String("main"),
					ProductionDeploymentEnabled: pulumi.Bool(true),
					RepoName:                    pulumi.String("ninjakittens"),
				},
				Type: pulumi.String("github"),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudflare.NewPagesProject(ctx, "deploymentConfigs", &cloudflare.PagesProjectArgs{
			AccountId: pulumi.String("f037e56e89293a057740de681ac9abbe"),
			DeploymentConfigs: &cloudflare.PagesProjectDeploymentConfigsArgs{
				Preview: &cloudflare.PagesProjectDeploymentConfigsPreviewArgs{
					CompatibilityDate: pulumi.String("2022-08-15"),
					CompatibilityFlags: pulumi.StringArray{
						pulumi.String("preview_flag"),
					},
					D1Databases: pulumi.AnyMap{
						"D1BINDING": pulumi.Any("445e2955-951a-4358-a35b-a4d0c813f63"),
					},
					DurableObjectNamespaces: pulumi.AnyMap{
						"DOBINDING": pulumi.Any("5eb63bbbe01eeed093cb22bb8f5acdc3"),
					},
					EnvironmentVariables: pulumi.AnyMap{
						"ENVIRONMENT": pulumi.Any("preview"),
					},
					KvNamespaces: pulumi.AnyMap{
						"KVBINDING": pulumi.Any("5eb63bbbe01eeed093cb22bb8f5acdc3"),
					},
					R2Buckets: pulumi.AnyMap{
						"R2BINDING": pulumi.Any("some-bucket"),
					},
				},
				Production: &cloudflare.PagesProjectDeploymentConfigsProductionArgs{
					CompatibilityDate: pulumi.String("2022-08-16"),
					CompatibilityFlags: pulumi.StringArray{
						pulumi.String("production_flag"),
						pulumi.String("second flag"),
					},
					D1Databases: pulumi.AnyMap{
						"D1BINDING1": pulumi.Any("445e2955-951a-4358-a35b-a4d0c813f63"),
						"D1BINDING2": pulumi.Any("a399414b-c697-409a-a688-377db6433cd9"),
					},
					DurableObjectNamespaces: pulumi.AnyMap{
						"DOBINDING1": pulumi.Any("5eb63bbbe01eeed093cb22bb8f5acdc3"),
						"DOBINDING2": pulumi.Any("3cdca5f8bb22bc390deee10ebbb36be5"),
					},
					EnvironmentVariables: pulumi.AnyMap{
						"ENVIRONMENT": pulumi.Any("production"),
						"OTHERVALUE":  pulumi.Any("other value"),
					},
					KvNamespaces: pulumi.AnyMap{
						"KVBINDING1": pulumi.Any("5eb63bbbe01eeed093cb22bb8f5acdc3"),
						"KVBINDING2": pulumi.Any("3cdca5f8bb22bc390deee10ebbb36be5"),
					},
					R2Buckets: pulumi.AnyMap{
						"R2BINDING1": pulumi.Any("some-bucket"),
						"R2BINDING2": pulumi.Any("other-bucket"),
					},
				},
			},
			Name:             pulumi.String("this-is-my-project-01"),
			ProductionBranch: pulumi.String("main"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.PagesProject;
import com.pulumi.cloudflare.PagesProjectArgs;
import com.pulumi.cloudflare.inputs.PagesProjectBuildConfigArgs;
import com.pulumi.cloudflare.inputs.PagesProjectSourceArgs;
import com.pulumi.cloudflare.inputs.PagesProjectSourceConfigArgs;
import com.pulumi.cloudflare.inputs.PagesProjectDeploymentConfigsArgs;
import com.pulumi.cloudflare.inputs.PagesProjectDeploymentConfigsPreviewArgs;
import com.pulumi.cloudflare.inputs.PagesProjectDeploymentConfigsProductionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var basicProject = new PagesProject("basicProject", PagesProjectArgs.builder()        
            .accountId("f037e56e89293a057740de681ac9abbe")
            .name("this-is-my-project-01")
            .productionBranch("main")
            .build());

        var buildConfig = new PagesProject("buildConfig", PagesProjectArgs.builder()        
            .accountId("f037e56e89293a057740de681ac9abbe")
            .buildConfig(PagesProjectBuildConfigArgs.builder()
                .buildCommand("npm run build")
                .destinationDir("build")
                .rootDir("/")
                .webAnalyticsTag("cee1c73f6e4743d0b5e6bb1a0bcaabcc")
                .webAnalyticsToken("021e1057c18547eca7b79f2516f06o7x")
                .build())
            .name("this-is-my-project-01")
            .productionBranch("main")
            .build());

        var sourceConfig = new PagesProject("sourceConfig", PagesProjectArgs.builder()        
            .accountId("f037e56e89293a057740de681ac9abbe")
            .name("this-is-my-project-01")
            .productionBranch("main")
            .source(PagesProjectSourceArgs.builder()
                .config(PagesProjectSourceConfigArgs.builder()
                    .deploymentsEnabled(true)
                    .owner("cloudflare")
                    .prCommentsEnabled(true)
                    .previewBranchExcludes(                    
                        "main",
                        "prod")
                    .previewBranchIncludes(                    
                        "dev",
                        "preview")
                    .previewDeploymentSetting("custom")
                    .productionBranch("main")
                    .productionDeploymentEnabled(true)
                    .repoName("ninjakittens")
                    .build())
                .type("github")
                .build())
            .build());

        var deploymentConfigs = new PagesProject("deploymentConfigs", PagesProjectArgs.builder()        
            .accountId("f037e56e89293a057740de681ac9abbe")
            .deploymentConfigs(PagesProjectDeploymentConfigsArgs.builder()
                .preview(PagesProjectDeploymentConfigsPreviewArgs.builder()
                    .compatibilityDate("2022-08-15")
                    .compatibilityFlags("preview_flag")
                    .d1Databases(Map.of("D1BINDING", "445e2955-951a-4358-a35b-a4d0c813f63"))
                    .durableObjectNamespaces(Map.of("DOBINDING", "5eb63bbbe01eeed093cb22bb8f5acdc3"))
                    .environmentVariables(Map.of("ENVIRONMENT", "preview"))
                    .kvNamespaces(Map.of("KVBINDING", "5eb63bbbe01eeed093cb22bb8f5acdc3"))
                    .r2Buckets(Map.of("R2BINDING", "some-bucket"))
                    .build())
                .production(PagesProjectDeploymentConfigsProductionArgs.builder()
                    .compatibilityDate("2022-08-16")
                    .compatibilityFlags(                    
                        "production_flag",
                        "second flag")
                    .d1Databases(Map.ofEntries(
                        Map.entry("D1BINDING1", "445e2955-951a-4358-a35b-a4d0c813f63"),
                        Map.entry("D1BINDING2", "a399414b-c697-409a-a688-377db6433cd9")
                    ))
                    .durableObjectNamespaces(Map.ofEntries(
                        Map.entry("DOBINDING1", "5eb63bbbe01eeed093cb22bb8f5acdc3"),
                        Map.entry("DOBINDING2", "3cdca5f8bb22bc390deee10ebbb36be5")
                    ))
                    .environmentVariables(Map.ofEntries(
                        Map.entry("ENVIRONMENT", "production"),
                        Map.entry("OTHERVALUE", "other value")
                    ))
                    .kvNamespaces(Map.ofEntries(
                        Map.entry("KVBINDING1", "5eb63bbbe01eeed093cb22bb8f5acdc3"),
                        Map.entry("KVBINDING2", "3cdca5f8bb22bc390deee10ebbb36be5")
                    ))
                    .r2Buckets(Map.ofEntries(
                        Map.entry("R2BINDING1", "some-bucket"),
                        Map.entry("R2BINDING2", "other-bucket")
                    ))
                    .build())
                .build())
            .name("this-is-my-project-01")
            .productionBranch("main")
            .build());

    }
}
import pulumi
import pulumi_cloudflare as cloudflare

# Basic project
basic_project = cloudflare.PagesProject("basicProject",
    account_id="f037e56e89293a057740de681ac9abbe",
    name="this-is-my-project-01",
    production_branch="main")
# Manage build config
build_config = cloudflare.PagesProject("buildConfig",
    account_id="f037e56e89293a057740de681ac9abbe",
    build_config=cloudflare.PagesProjectBuildConfigArgs(
        build_command="npm run build",
        destination_dir="build",
        root_dir="/",
        web_analytics_tag="cee1c73f6e4743d0b5e6bb1a0bcaabcc",
        web_analytics_token="021e1057c18547eca7b79f2516f06o7x",
    ),
    name="this-is-my-project-01",
    production_branch="main")
# Manage project source
source_config = cloudflare.PagesProject("sourceConfig",
    account_id="f037e56e89293a057740de681ac9abbe",
    name="this-is-my-project-01",
    production_branch="main",
    source=cloudflare.PagesProjectSourceArgs(
        config=cloudflare.PagesProjectSourceConfigArgs(
            deployments_enabled=True,
            owner="cloudflare",
            pr_comments_enabled=True,
            preview_branch_excludes=[
                "main",
                "prod",
            ],
            preview_branch_includes=[
                "dev",
                "preview",
            ],
            preview_deployment_setting="custom",
            production_branch="main",
            production_deployment_enabled=True,
            repo_name="ninjakittens",
        ),
        type="github",
    ))
# Manage deployment configs
deployment_configs = cloudflare.PagesProject("deploymentConfigs",
    account_id="f037e56e89293a057740de681ac9abbe",
    deployment_configs=cloudflare.PagesProjectDeploymentConfigsArgs(
        preview=cloudflare.PagesProjectDeploymentConfigsPreviewArgs(
            compatibility_date="2022-08-15",
            compatibility_flags=["preview_flag"],
            d1_databases={
                "D1BINDING": "445e2955-951a-4358-a35b-a4d0c813f63",
            },
            durable_object_namespaces={
                "DOBINDING": "5eb63bbbe01eeed093cb22bb8f5acdc3",
            },
            environment_variables={
                "ENVIRONMENT": "preview",
            },
            kv_namespaces={
                "KVBINDING": "5eb63bbbe01eeed093cb22bb8f5acdc3",
            },
            r2_buckets={
                "R2BINDING": "some-bucket",
            },
        ),
        production=cloudflare.PagesProjectDeploymentConfigsProductionArgs(
            compatibility_date="2022-08-16",
            compatibility_flags=[
                "production_flag",
                "second flag",
            ],
            d1_databases={
                "D1BINDING1": "445e2955-951a-4358-a35b-a4d0c813f63",
                "D1BINDING2": "a399414b-c697-409a-a688-377db6433cd9",
            },
            durable_object_namespaces={
                "DOBINDING1": "5eb63bbbe01eeed093cb22bb8f5acdc3",
                "DOBINDING2": "3cdca5f8bb22bc390deee10ebbb36be5",
            },
            environment_variables={
                "ENVIRONMENT": "production",
                "OTHERVALUE": "other value",
            },
            kv_namespaces={
                "KVBINDING1": "5eb63bbbe01eeed093cb22bb8f5acdc3",
                "KVBINDING2": "3cdca5f8bb22bc390deee10ebbb36be5",
            },
            r2_buckets={
                "R2BINDING1": "some-bucket",
                "R2BINDING2": "other-bucket",
            },
        ),
    ),
    name="this-is-my-project-01",
    production_branch="main")
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";

// Basic project
const basicProject = new cloudflare.PagesProject("basicProject", {
    accountId: "f037e56e89293a057740de681ac9abbe",
    name: "this-is-my-project-01",
    productionBranch: "main",
});
// Manage build config
const buildConfig = new cloudflare.PagesProject("buildConfig", {
    accountId: "f037e56e89293a057740de681ac9abbe",
    buildConfig: {
        buildCommand: "npm run build",
        destinationDir: "build",
        rootDir: "/",
        webAnalyticsTag: "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
        webAnalyticsToken: "021e1057c18547eca7b79f2516f06o7x",
    },
    name: "this-is-my-project-01",
    productionBranch: "main",
});
// Manage project source
const sourceConfig = new cloudflare.PagesProject("sourceConfig", {
    accountId: "f037e56e89293a057740de681ac9abbe",
    name: "this-is-my-project-01",
    productionBranch: "main",
    source: {
        config: {
            deploymentsEnabled: true,
            owner: "cloudflare",
            prCommentsEnabled: true,
            previewBranchExcludes: [
                "main",
                "prod",
            ],
            previewBranchIncludes: [
                "dev",
                "preview",
            ],
            previewDeploymentSetting: "custom",
            productionBranch: "main",
            productionDeploymentEnabled: true,
            repoName: "ninjakittens",
        },
        type: "github",
    },
});
// Manage deployment configs
const deploymentConfigs = new cloudflare.PagesProject("deploymentConfigs", {
    accountId: "f037e56e89293a057740de681ac9abbe",
    deploymentConfigs: {
        preview: {
            compatibilityDate: "2022-08-15",
            compatibilityFlags: ["preview_flag"],
            d1Databases: {
                D1BINDING: "445e2955-951a-4358-a35b-a4d0c813f63",
            },
            durableObjectNamespaces: {
                DOBINDING: "5eb63bbbe01eeed093cb22bb8f5acdc3",
            },
            environmentVariables: {
                ENVIRONMENT: "preview",
            },
            kvNamespaces: {
                KVBINDING: "5eb63bbbe01eeed093cb22bb8f5acdc3",
            },
            r2Buckets: {
                R2BINDING: "some-bucket",
            },
        },
        production: {
            compatibilityDate: "2022-08-16",
            compatibilityFlags: [
                "production_flag",
                "second flag",
            ],
            d1Databases: {
                D1BINDING1: "445e2955-951a-4358-a35b-a4d0c813f63",
                D1BINDING2: "a399414b-c697-409a-a688-377db6433cd9",
            },
            durableObjectNamespaces: {
                DOBINDING1: "5eb63bbbe01eeed093cb22bb8f5acdc3",
                DOBINDING2: "3cdca5f8bb22bc390deee10ebbb36be5",
            },
            environmentVariables: {
                ENVIRONMENT: "production",
                OTHERVALUE: "other value",
            },
            kvNamespaces: {
                KVBINDING1: "5eb63bbbe01eeed093cb22bb8f5acdc3",
                KVBINDING2: "3cdca5f8bb22bc390deee10ebbb36be5",
            },
            r2Buckets: {
                R2BINDING1: "some-bucket",
                R2BINDING2: "other-bucket",
            },
        },
    },
    name: "this-is-my-project-01",
    productionBranch: "main",
});
resources:
  # Basic project
  basicProject:
    type: cloudflare:PagesProject
    properties:
      accountId: f037e56e89293a057740de681ac9abbe
      name: this-is-my-project-01
      productionBranch: main
  # Manage build config
  buildConfig:
    type: cloudflare:PagesProject
    properties:
      accountId: f037e56e89293a057740de681ac9abbe
      buildConfig:
        buildCommand: npm run build
        destinationDir: build
        rootDir: /
        webAnalyticsTag: cee1c73f6e4743d0b5e6bb1a0bcaabcc
        webAnalyticsToken: 021e1057c18547eca7b79f2516f06o7x
      name: this-is-my-project-01
      productionBranch: main
  # Manage project source
  sourceConfig:
    type: cloudflare:PagesProject
    properties:
      accountId: f037e56e89293a057740de681ac9abbe
      name: this-is-my-project-01
      productionBranch: main
      source:
        config:
          deploymentsEnabled: true
          owner: cloudflare
          prCommentsEnabled: true
          previewBranchExcludes:
            - main
            - prod
          previewBranchIncludes:
            - dev
            - preview
          previewDeploymentSetting: custom
          productionBranch: main
          productionDeploymentEnabled: true
          repoName: ninjakittens
        type: github
  # Manage deployment configs
  deploymentConfigs:
    type: cloudflare:PagesProject
    properties:
      accountId: f037e56e89293a057740de681ac9abbe
      deploymentConfigs:
        preview:
          compatibilityDate: 2022-08-15
          compatibilityFlags:
            - preview_flag
          d1Databases:
            D1BINDING: 445e2955-951a-4358-a35b-a4d0c813f63
          durableObjectNamespaces:
            DOBINDING: 5eb63bbbe01eeed093cb22bb8f5acdc3
          environmentVariables:
            ENVIRONMENT: preview
          kvNamespaces:
            KVBINDING: 5eb63bbbe01eeed093cb22bb8f5acdc3
          r2Buckets:
            R2BINDING: some-bucket
        production:
          compatibilityDate: 2022-08-16
          compatibilityFlags:
            - production_flag
            - second flag
          d1Databases:
            D1BINDING1: 445e2955-951a-4358-a35b-a4d0c813f63
            D1BINDING2: a399414b-c697-409a-a688-377db6433cd9
          durableObjectNamespaces:
            DOBINDING1: 5eb63bbbe01eeed093cb22bb8f5acdc3
            DOBINDING2: 3cdca5f8bb22bc390deee10ebbb36be5
          environmentVariables:
            ENVIRONMENT: production
            OTHERVALUE: other value
          kvNamespaces:
            KVBINDING1: 5eb63bbbe01eeed093cb22bb8f5acdc3
            KVBINDING2: 3cdca5f8bb22bc390deee10ebbb36be5
          r2Buckets:
            R2BINDING1: some-bucket
            R2BINDING2: other-bucket
      name: this-is-my-project-01
      productionBranch: main

Create PagesProject Resource

new PagesProject(name: string, args: PagesProjectArgs, opts?: CustomResourceOptions);
@overload
def PagesProject(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 account_id: Optional[str] = None,
                 build_config: Optional[PagesProjectBuildConfigArgs] = None,
                 deployment_configs: Optional[PagesProjectDeploymentConfigsArgs] = None,
                 name: Optional[str] = None,
                 production_branch: Optional[str] = None,
                 source: Optional[PagesProjectSourceArgs] = None)
@overload
def PagesProject(resource_name: str,
                 args: PagesProjectArgs,
                 opts: Optional[ResourceOptions] = None)
func NewPagesProject(ctx *Context, name string, args PagesProjectArgs, opts ...ResourceOption) (*PagesProject, error)
public PagesProject(string name, PagesProjectArgs args, CustomResourceOptions? opts = null)
public PagesProject(String name, PagesProjectArgs args)
public PagesProject(String name, PagesProjectArgs args, CustomResourceOptions options)
type: cloudflare:PagesProject
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args PagesProjectArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args PagesProjectArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args PagesProjectArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args PagesProjectArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args PagesProjectArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

PagesProject Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The PagesProject resource accepts the following input properties:

AccountId string

The account identifier to target for the resource.

Name string

Name of the project. Modifying this attribute will force creation of a new resource.

ProductionBranch string

The name of the branch that is used for the production environment.

BuildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

DeploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

Source PagesProjectSourceArgs

Configuration for the project source.

AccountId string

The account identifier to target for the resource.

Name string

Name of the project. Modifying this attribute will force creation of a new resource.

ProductionBranch string

The name of the branch that is used for the production environment.

BuildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

DeploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

Source PagesProjectSourceArgs

Configuration for the project source.

accountId String

The account identifier to target for the resource.

name String

Name of the project. Modifying this attribute will force creation of a new resource.

productionBranch String

The name of the branch that is used for the production environment.

buildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

deploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

source PagesProjectSourceArgs

Configuration for the project source.

accountId string

The account identifier to target for the resource.

name string

Name of the project. Modifying this attribute will force creation of a new resource.

productionBranch string

The name of the branch that is used for the production environment.

buildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

deploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

source PagesProjectSourceArgs

Configuration for the project source.

account_id str

The account identifier to target for the resource.

name str

Name of the project. Modifying this attribute will force creation of a new resource.

production_branch str

The name of the branch that is used for the production environment.

build_config PagesProjectBuildConfigArgs

Configuration for the project build process.

deployment_configs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

source PagesProjectSourceArgs

Configuration for the project source.

accountId String

The account identifier to target for the resource.

name String

Name of the project. Modifying this attribute will force creation of a new resource.

productionBranch String

The name of the branch that is used for the production environment.

buildConfig Property Map

Configuration for the project build process.

deploymentConfigs Property Map

Configuration for deployments in a project.

source Property Map

Configuration for the project source.

Outputs

All input properties are implicitly available as output properties. Additionally, the PagesProject resource produces the following output properties:

CreatedOn string

When the project was created.

Domains List<string>

A list of associated custom domains for the project.

Id string

The provider-assigned unique ID for this managed resource.

Subdomain string

The Cloudflare subdomain associated with the project.

CreatedOn string

When the project was created.

Domains []string

A list of associated custom domains for the project.

Id string

The provider-assigned unique ID for this managed resource.

Subdomain string

The Cloudflare subdomain associated with the project.

createdOn String

When the project was created.

domains List<String>

A list of associated custom domains for the project.

id String

The provider-assigned unique ID for this managed resource.

subdomain String

The Cloudflare subdomain associated with the project.

createdOn string

When the project was created.

domains string[]

A list of associated custom domains for the project.

id string

The provider-assigned unique ID for this managed resource.

subdomain string

The Cloudflare subdomain associated with the project.

created_on str

When the project was created.

domains Sequence[str]

A list of associated custom domains for the project.

id str

The provider-assigned unique ID for this managed resource.

subdomain str

The Cloudflare subdomain associated with the project.

createdOn String

When the project was created.

domains List<String>

A list of associated custom domains for the project.

id String

The provider-assigned unique ID for this managed resource.

subdomain String

The Cloudflare subdomain associated with the project.

Look up Existing PagesProject Resource

Get an existing PagesProject resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: PagesProjectState, opts?: CustomResourceOptions): PagesProject
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        account_id: Optional[str] = None,
        build_config: Optional[PagesProjectBuildConfigArgs] = None,
        created_on: Optional[str] = None,
        deployment_configs: Optional[PagesProjectDeploymentConfigsArgs] = None,
        domains: Optional[Sequence[str]] = None,
        name: Optional[str] = None,
        production_branch: Optional[str] = None,
        source: Optional[PagesProjectSourceArgs] = None,
        subdomain: Optional[str] = None) -> PagesProject
func GetPagesProject(ctx *Context, name string, id IDInput, state *PagesProjectState, opts ...ResourceOption) (*PagesProject, error)
public static PagesProject Get(string name, Input<string> id, PagesProjectState? state, CustomResourceOptions? opts = null)
public static PagesProject get(String name, Output<String> id, PagesProjectState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccountId string

The account identifier to target for the resource.

BuildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

CreatedOn string

When the project was created.

DeploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

Domains List<string>

A list of associated custom domains for the project.

Name string

Name of the project. Modifying this attribute will force creation of a new resource.

ProductionBranch string

The name of the branch that is used for the production environment.

Source PagesProjectSourceArgs

Configuration for the project source.

Subdomain string

The Cloudflare subdomain associated with the project.

AccountId string

The account identifier to target for the resource.

BuildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

CreatedOn string

When the project was created.

DeploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

Domains []string

A list of associated custom domains for the project.

Name string

Name of the project. Modifying this attribute will force creation of a new resource.

ProductionBranch string

The name of the branch that is used for the production environment.

Source PagesProjectSourceArgs

Configuration for the project source.

Subdomain string

The Cloudflare subdomain associated with the project.

accountId String

The account identifier to target for the resource.

buildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

createdOn String

When the project was created.

deploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

domains List<String>

A list of associated custom domains for the project.

name String

Name of the project. Modifying this attribute will force creation of a new resource.

productionBranch String

The name of the branch that is used for the production environment.

source PagesProjectSourceArgs

Configuration for the project source.

subdomain String

The Cloudflare subdomain associated with the project.

accountId string

The account identifier to target for the resource.

buildConfig PagesProjectBuildConfigArgs

Configuration for the project build process.

createdOn string

When the project was created.

deploymentConfigs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

domains string[]

A list of associated custom domains for the project.

name string

Name of the project. Modifying this attribute will force creation of a new resource.

productionBranch string

The name of the branch that is used for the production environment.

source PagesProjectSourceArgs

Configuration for the project source.

subdomain string

The Cloudflare subdomain associated with the project.

account_id str

The account identifier to target for the resource.

build_config PagesProjectBuildConfigArgs

Configuration for the project build process.

created_on str

When the project was created.

deployment_configs PagesProjectDeploymentConfigsArgs

Configuration for deployments in a project.

domains Sequence[str]

A list of associated custom domains for the project.

name str

Name of the project. Modifying this attribute will force creation of a new resource.

production_branch str

The name of the branch that is used for the production environment.

source PagesProjectSourceArgs

Configuration for the project source.

subdomain str

The Cloudflare subdomain associated with the project.

accountId String

The account identifier to target for the resource.

buildConfig Property Map

Configuration for the project build process.

createdOn String

When the project was created.

deploymentConfigs Property Map

Configuration for deployments in a project.

domains List<String>

A list of associated custom domains for the project.

name String

Name of the project. Modifying this attribute will force creation of a new resource.

productionBranch String

The name of the branch that is used for the production environment.

source Property Map

Configuration for the project source.

subdomain String

The Cloudflare subdomain associated with the project.

Supporting Types

PagesProjectBuildConfig

BuildCommand string

Command used to build project.

DestinationDir string

Output directory of the build.

RootDir string

Directory to run the command.

WebAnalyticsTag string

The classifying tag for analytics.

WebAnalyticsToken string

The auth token for analytics.

BuildCommand string

Command used to build project.

DestinationDir string

Output directory of the build.

RootDir string

Directory to run the command.

WebAnalyticsTag string

The classifying tag for analytics.

WebAnalyticsToken string

The auth token for analytics.

buildCommand String

Command used to build project.

destinationDir String

Output directory of the build.

rootDir String

Directory to run the command.

webAnalyticsTag String

The classifying tag for analytics.

webAnalyticsToken String

The auth token for analytics.

buildCommand string

Command used to build project.

destinationDir string

Output directory of the build.

rootDir string

Directory to run the command.

webAnalyticsTag string

The classifying tag for analytics.

webAnalyticsToken string

The auth token for analytics.

build_command str

Command used to build project.

destination_dir str

Output directory of the build.

root_dir str

Directory to run the command.

web_analytics_tag str

The classifying tag for analytics.

web_analytics_token str

The auth token for analytics.

buildCommand String

Command used to build project.

destinationDir String

Output directory of the build.

rootDir String

Directory to run the command.

webAnalyticsTag String

The classifying tag for analytics.

webAnalyticsToken String

The auth token for analytics.

PagesProjectDeploymentConfigs

Preview PagesProjectDeploymentConfigsPreview

Configuration for preview deploys.

Production PagesProjectDeploymentConfigsProduction

Configuration for production deploys.

Preview PagesProjectDeploymentConfigsPreview

Configuration for preview deploys.

Production PagesProjectDeploymentConfigsProduction

Configuration for production deploys.

preview PagesProjectDeploymentConfigsPreview

Configuration for preview deploys.

production PagesProjectDeploymentConfigsProduction

Configuration for production deploys.

preview PagesProjectDeploymentConfigsPreview

Configuration for preview deploys.

production PagesProjectDeploymentConfigsProduction

Configuration for production deploys.

preview PagesProjectDeploymentConfigsPreview

Configuration for preview deploys.

production PagesProjectDeploymentConfigsProduction

Configuration for production deploys.

preview Property Map

Configuration for preview deploys.

production Property Map

Configuration for production deploys.

PagesProjectDeploymentConfigsPreview

AlwaysUseLatestCompatibilityDate bool
CompatibilityDate string
CompatibilityFlags List<string>
D1Databases Dictionary<string, object>
DurableObjectNamespaces Dictionary<string, object>
EnvironmentVariables Dictionary<string, object>
FailOpen bool
KvNamespaces Dictionary<string, object>
R2Buckets Dictionary<string, object>
ServiceBindings List<PagesProjectDeploymentConfigsPreviewServiceBinding>
UsageModel string

PagesProjectDeploymentConfigsPreviewServiceBinding

Name string

Name of the project. Modifying this attribute will force creation of a new resource.

Service string
Environment string
Name string

Name of the project. Modifying this attribute will force creation of a new resource.

Service string
Environment string
name String

Name of the project. Modifying this attribute will force creation of a new resource.

service String
environment String
name string

Name of the project. Modifying this attribute will force creation of a new resource.

service string
environment string
name str

Name of the project. Modifying this attribute will force creation of a new resource.

service str
environment str
name String

Name of the project. Modifying this attribute will force creation of a new resource.

service String
environment String

PagesProjectDeploymentConfigsProduction

AlwaysUseLatestCompatibilityDate bool
CompatibilityDate string
CompatibilityFlags List<string>
D1Databases Dictionary<string, object>
DurableObjectNamespaces Dictionary<string, object>
EnvironmentVariables Dictionary<string, object>
FailOpen bool
KvNamespaces Dictionary<string, object>
R2Buckets Dictionary<string, object>
ServiceBindings List<PagesProjectDeploymentConfigsProductionServiceBinding>
UsageModel string

PagesProjectDeploymentConfigsProductionServiceBinding

Name string

Name of the project. Modifying this attribute will force creation of a new resource.

Service string
Environment string
Name string

Name of the project. Modifying this attribute will force creation of a new resource.

Service string
Environment string
name String

Name of the project. Modifying this attribute will force creation of a new resource.

service String
environment String
name string

Name of the project. Modifying this attribute will force creation of a new resource.

service string
environment string
name str

Name of the project. Modifying this attribute will force creation of a new resource.

service str
environment str
name String

Name of the project. Modifying this attribute will force creation of a new resource.

service String
environment String

PagesProjectSource

Config PagesProjectSourceConfig

Configuration for the source of the Cloudflare Pages project.

Type string

Project host type.

Config PagesProjectSourceConfig

Configuration for the source of the Cloudflare Pages project.

Type string

Project host type.

config PagesProjectSourceConfig

Configuration for the source of the Cloudflare Pages project.

type String

Project host type.

config PagesProjectSourceConfig

Configuration for the source of the Cloudflare Pages project.

type string

Project host type.

config PagesProjectSourceConfig

Configuration for the source of the Cloudflare Pages project.

type str

Project host type.

config Property Map

Configuration for the source of the Cloudflare Pages project.

type String

Project host type.

PagesProjectSourceConfig

ProductionBranch string

The name of the branch that is used for the production environment.

DeploymentsEnabled bool
Owner string
PrCommentsEnabled bool
PreviewBranchExcludes List<string>
PreviewBranchIncludes List<string>
PreviewDeploymentSetting string
ProductionDeploymentEnabled bool
RepoName string
ProductionBranch string

The name of the branch that is used for the production environment.

DeploymentsEnabled bool
Owner string
PrCommentsEnabled bool
PreviewBranchExcludes []string
PreviewBranchIncludes []string
PreviewDeploymentSetting string
ProductionDeploymentEnabled bool
RepoName string
productionBranch String

The name of the branch that is used for the production environment.

deploymentsEnabled Boolean
owner String
prCommentsEnabled Boolean
previewBranchExcludes List<String>
previewBranchIncludes List<String>
previewDeploymentSetting String
productionDeploymentEnabled Boolean
repoName String
productionBranch string

The name of the branch that is used for the production environment.

deploymentsEnabled boolean
owner string
prCommentsEnabled boolean
previewBranchExcludes string[]
previewBranchIncludes string[]
previewDeploymentSetting string
productionDeploymentEnabled boolean
repoName string
production_branch str

The name of the branch that is used for the production environment.

deployments_enabled bool
owner str
pr_comments_enabled bool
preview_branch_excludes Sequence[str]
preview_branch_includes Sequence[str]
preview_deployment_setting str
production_deployment_enabled bool
repo_name str
productionBranch String

The name of the branch that is used for the production environment.

deploymentsEnabled Boolean
owner String
prCommentsEnabled Boolean
previewBranchExcludes List<String>
previewBranchIncludes List<String>
previewDeploymentSetting String
productionDeploymentEnabled Boolean
repoName String

Import

 $ pulumi import cloudflare:index/pagesProject:PagesProject example <account_id>/<project_name>

[Getting Started with Pages]https://developers.cloudflare.com/pages/get-started/#connect-your-git-provider-to-pages

Package Details

Repository
Cloudflare pulumi/pulumi-cloudflare
License
Apache-2.0
Notes

This Pulumi package is based on the cloudflare Terraform Provider.