WorkersScriptArgs

data class WorkersScriptArgs(val accountId: Output<String>? = null, val analyticsEngineBindings: Output<List<WorkersScriptAnalyticsEngineBindingArgs>>? = null, val compatibilityDate: Output<String>? = null, val compatibilityFlags: Output<List<String>>? = null, val content: Output<String>? = null, val d1DatabaseBindings: Output<List<WorkersScriptD1DatabaseBindingArgs>>? = null, val dispatchNamespace: Output<String>? = null, val hyperdriveConfigBindings: Output<List<WorkersScriptHyperdriveConfigBindingArgs>>? = null, val kvNamespaceBindings: Output<List<WorkersScriptKvNamespaceBindingArgs>>? = null, val logpush: Output<Boolean>? = null, val module: Output<Boolean>? = null, val name: Output<String>? = null, val placements: Output<List<WorkersScriptPlacementArgs>>? = null, val plainTextBindings: Output<List<WorkersScriptPlainTextBindingArgs>>? = null, val queueBindings: Output<List<WorkersScriptQueueBindingArgs>>? = null, val r2BucketBindings: Output<List<WorkersScriptR2BucketBindingArgs>>? = null, val secretTextBindings: Output<List<WorkersScriptSecretTextBindingArgs>>? = null, val serviceBindings: Output<List<WorkersScriptServiceBindingArgs>>? = null, val tags: Output<List<String>>? = null, val webassemblyBindings: Output<List<WorkersScriptWebassemblyBindingArgs>>? = null) : ConvertibleToJava<WorkersScriptArgs>

Provides a Cloudflare worker script resource. In order for a script to be active, you'll also need to setup a cloudflare.WorkerRoute.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
import * as std from "@pulumi/std";
const myNamespace = new cloudflare.WorkersKvNamespace("my_namespace", {
accountId: "f037e56e89293a057740de681ac9abbe",
title: "example",
});
// Sets the script with the name "script_1"
const myScript = new cloudflare.WorkersScript("my_script", {
accountId: "f037e56e89293a057740de681ac9abbe",
name: "script_1",
content: std.file({
input: "script.js",
}).then(invoke => invoke.result),
kvNamespaceBindings: [{
name: "MY_EXAMPLE_KV_NAMESPACE",
namespaceId: myNamespace.id,
}],
plainTextBindings: [{
name: "MY_EXAMPLE_PLAIN_TEXT",
text: "foobar",
}],
secretTextBindings: [{
name: "MY_EXAMPLE_SECRET_TEXT",
text: secretFooValue,
}],
webassemblyBindings: [{
name: "MY_EXAMPLE_WASM",
module: std.filebase64({
input: "example.wasm",
}).then(invoke => invoke.result),
}],
serviceBindings: [{
name: "MY_SERVICE_BINDING",
service: "MY_SERVICE",
environment: "production",
}],
r2BucketBindings: [{
name: "MY_BUCKET",
bucketName: "MY_BUCKET_NAME",
}],
analyticsEngineBindings: [{
name: "MY_DATASET",
dataset: "dataset1",
}],
});
import pulumi
import pulumi_cloudflare as cloudflare
import pulumi_std as std
my_namespace = cloudflare.WorkersKvNamespace("my_namespace",
account_id="f037e56e89293a057740de681ac9abbe",
title="example")
# Sets the script with the name "script_1"
my_script = cloudflare.WorkersScript("my_script",
account_id="f037e56e89293a057740de681ac9abbe",
name="script_1",
content=std.file(input="script.js").result,
kv_namespace_bindings=[{
"name": "MY_EXAMPLE_KV_NAMESPACE",
"namespace_id": my_namespace.id,
}],
plain_text_bindings=[{
"name": "MY_EXAMPLE_PLAIN_TEXT",
"text": "foobar",
}],
secret_text_bindings=[{
"name": "MY_EXAMPLE_SECRET_TEXT",
"text": secret_foo_value,
}],
webassembly_bindings=[{
"name": "MY_EXAMPLE_WASM",
"module": std.filebase64(input="example.wasm").result,
}],
service_bindings=[{
"name": "MY_SERVICE_BINDING",
"service": "MY_SERVICE",
"environment": "production",
}],
r2_bucket_bindings=[{
"name": "MY_BUCKET",
"bucket_name": "MY_BUCKET_NAME",
}],
analytics_engine_bindings=[{
"name": "MY_DATASET",
"dataset": "dataset1",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() =>
{
var myNamespace = new Cloudflare.WorkersKvNamespace("my_namespace", new()
{
AccountId = "f037e56e89293a057740de681ac9abbe",
Title = "example",
});
// Sets the script with the name "script_1"
var myScript = new Cloudflare.WorkersScript("my_script", new()
{
AccountId = "f037e56e89293a057740de681ac9abbe",
Name = "script_1",
Content = Std.File.Invoke(new()
{
Input = "script.js",
}).Apply(invoke => invoke.Result),
KvNamespaceBindings = new[]
{
new Cloudflare.Inputs.WorkersScriptKvNamespaceBindingArgs
{
Name = "MY_EXAMPLE_KV_NAMESPACE",
NamespaceId = myNamespace.Id,
},
},
PlainTextBindings = new[]
{
new Cloudflare.Inputs.WorkersScriptPlainTextBindingArgs
{
Name = "MY_EXAMPLE_PLAIN_TEXT",
Text = "foobar",
},
},
SecretTextBindings = new[]
{
new Cloudflare.Inputs.WorkersScriptSecretTextBindingArgs
{
Name = "MY_EXAMPLE_SECRET_TEXT",
Text = secretFooValue,
},
},
WebassemblyBindings = new[]
{
new Cloudflare.Inputs.WorkersScriptWebassemblyBindingArgs
{
Name = "MY_EXAMPLE_WASM",
Module = Std.Filebase64.Invoke(new()
{
Input = "example.wasm",
}).Apply(invoke => invoke.Result),
},
},
ServiceBindings = new[]
{
new Cloudflare.Inputs.WorkersScriptServiceBindingArgs
{
Name = "MY_SERVICE_BINDING",
Service = "MY_SERVICE",
Environment = "production",
},
},
R2BucketBindings = new[]
{
new Cloudflare.Inputs.WorkersScriptR2BucketBindingArgs
{
Name = "MY_BUCKET",
BucketName = "MY_BUCKET_NAME",
},
},
AnalyticsEngineBindings = new[]
{
new Cloudflare.Inputs.WorkersScriptAnalyticsEngineBindingArgs
{
Name = "MY_DATASET",
Dataset = "dataset1",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
myNamespace, err := cloudflare.NewWorkersKvNamespace(ctx, "my_namespace", &cloudflare.WorkersKvNamespaceArgs{
AccountId: pulumi.String("f037e56e89293a057740de681ac9abbe"),
Title: pulumi.String("example"),
})
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "script.js",
}, nil)
if err != nil {
return err
}
invokeFilebase641, err := std.Filebase64(ctx, &std.Filebase64Args{
Input: "example.wasm",
}, nil)
if err != nil {
return err
}
// Sets the script with the name "script_1"
_, err = cloudflare.NewWorkersScript(ctx, "my_script", &cloudflare.WorkersScriptArgs{
AccountId: pulumi.String("f037e56e89293a057740de681ac9abbe"),
Name: pulumi.String("script_1"),
Content: pulumi.String(invokeFile.Result),
KvNamespaceBindings: cloudflare.WorkersScriptKvNamespaceBindingArray{
&cloudflare.WorkersScriptKvNamespaceBindingArgs{
Name: pulumi.String("MY_EXAMPLE_KV_NAMESPACE"),
NamespaceId: myNamespace.ID(),
},
},
PlainTextBindings: cloudflare.WorkersScriptPlainTextBindingArray{
&cloudflare.WorkersScriptPlainTextBindingArgs{
Name: pulumi.String("MY_EXAMPLE_PLAIN_TEXT"),
Text: pulumi.String("foobar"),
},
},
SecretTextBindings: cloudflare.WorkersScriptSecretTextBindingArray{
&cloudflare.WorkersScriptSecretTextBindingArgs{
Name: pulumi.String("MY_EXAMPLE_SECRET_TEXT"),
Text: pulumi.Any(secretFooValue),
},
},
WebassemblyBindings: cloudflare.WorkersScriptWebassemblyBindingArray{
&cloudflare.WorkersScriptWebassemblyBindingArgs{
Name: pulumi.String("MY_EXAMPLE_WASM"),
Module: pulumi.String(invokeFilebase641.Result),
},
},
ServiceBindings: cloudflare.WorkersScriptServiceBindingArray{
&cloudflare.WorkersScriptServiceBindingArgs{
Name: pulumi.String("MY_SERVICE_BINDING"),
Service: pulumi.String("MY_SERVICE"),
Environment: pulumi.String("production"),
},
},
R2BucketBindings: cloudflare.WorkersScriptR2BucketBindingArray{
&cloudflare.WorkersScriptR2BucketBindingArgs{
Name: pulumi.String("MY_BUCKET"),
BucketName: pulumi.String("MY_BUCKET_NAME"),
},
},
AnalyticsEngineBindings: cloudflare.WorkersScriptAnalyticsEngineBindingArray{
&cloudflare.WorkersScriptAnalyticsEngineBindingArgs{
Name: pulumi.String("MY_DATASET"),
Dataset: pulumi.String("dataset1"),
},
},
})
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.WorkersKvNamespace;
import com.pulumi.cloudflare.WorkersKvNamespaceArgs;
import com.pulumi.cloudflare.WorkersScript;
import com.pulumi.cloudflare.WorkersScriptArgs;
import com.pulumi.cloudflare.inputs.WorkersScriptKvNamespaceBindingArgs;
import com.pulumi.cloudflare.inputs.WorkersScriptPlainTextBindingArgs;
import com.pulumi.cloudflare.inputs.WorkersScriptSecretTextBindingArgs;
import com.pulumi.cloudflare.inputs.WorkersScriptWebassemblyBindingArgs;
import com.pulumi.cloudflare.inputs.WorkersScriptServiceBindingArgs;
import com.pulumi.cloudflare.inputs.WorkersScriptR2BucketBindingArgs;
import com.pulumi.cloudflare.inputs.WorkersScriptAnalyticsEngineBindingArgs;
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 myNamespace = new WorkersKvNamespace("myNamespace", WorkersKvNamespaceArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.title("example")
.build());
// Sets the script with the name "script_1"
var myScript = new WorkersScript("myScript", WorkersScriptArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.name("script_1")
.content(StdFunctions.file(FileArgs.builder()
.input("script.js")
.build()).result())
.kvNamespaceBindings(WorkersScriptKvNamespaceBindingArgs.builder()
.name("MY_EXAMPLE_KV_NAMESPACE")
.namespaceId(myNamespace.id())
.build())
.plainTextBindings(WorkersScriptPlainTextBindingArgs.builder()
.name("MY_EXAMPLE_PLAIN_TEXT")
.text("foobar")
.build())
.secretTextBindings(WorkersScriptSecretTextBindingArgs.builder()
.name("MY_EXAMPLE_SECRET_TEXT")
.text(secretFooValue)
.build())
.webassemblyBindings(WorkersScriptWebassemblyBindingArgs.builder()
.name("MY_EXAMPLE_WASM")
.module(StdFunctions.filebase64(Filebase64Args.builder()
.input("example.wasm")
.build()).result())
.build())
.serviceBindings(WorkersScriptServiceBindingArgs.builder()
.name("MY_SERVICE_BINDING")
.service("MY_SERVICE")
.environment("production")
.build())
.r2BucketBindings(WorkersScriptR2BucketBindingArgs.builder()
.name("MY_BUCKET")
.bucketName("MY_BUCKET_NAME")
.build())
.analyticsEngineBindings(WorkersScriptAnalyticsEngineBindingArgs.builder()
.name("MY_DATASET")
.dataset("dataset1")
.build())
.build());
}
}
resources:
myNamespace:
type: cloudflare:WorkersKvNamespace
name: my_namespace
properties:
accountId: f037e56e89293a057740de681ac9abbe
title: example
# Sets the script with the name "script_1"
myScript:
type: cloudflare:WorkersScript
name: my_script
properties:
accountId: f037e56e89293a057740de681ac9abbe
name: script_1
content:
fn::invoke:
function: std:file
arguments:
input: script.js
return: result
kvNamespaceBindings:
- name: MY_EXAMPLE_KV_NAMESPACE
namespaceId: ${myNamespace.id}
plainTextBindings:
- name: MY_EXAMPLE_PLAIN_TEXT
text: foobar
secretTextBindings:
- name: MY_EXAMPLE_SECRET_TEXT
text: ${secretFooValue}
webassemblyBindings:
- name: MY_EXAMPLE_WASM
module:
fn::invoke:
function: std:filebase64
arguments:
input: example.wasm
return: result
serviceBindings:
- name: MY_SERVICE_BINDING
service: MY_SERVICE
environment: production
r2BucketBindings:
- name: MY_BUCKET
bucketName: MY_BUCKET_NAME
analyticsEngineBindings:
- name: MY_DATASET
dataset: dataset1

Import

$ pulumi import cloudflare:index/workersScript:WorkersScript example <account_id>/<script_name>

Constructors

Link copied to clipboard
constructor(accountId: Output<String>? = null, analyticsEngineBindings: Output<List<WorkersScriptAnalyticsEngineBindingArgs>>? = null, compatibilityDate: Output<String>? = null, compatibilityFlags: Output<List<String>>? = null, content: Output<String>? = null, d1DatabaseBindings: Output<List<WorkersScriptD1DatabaseBindingArgs>>? = null, dispatchNamespace: Output<String>? = null, hyperdriveConfigBindings: Output<List<WorkersScriptHyperdriveConfigBindingArgs>>? = null, kvNamespaceBindings: Output<List<WorkersScriptKvNamespaceBindingArgs>>? = null, logpush: Output<Boolean>? = null, module: Output<Boolean>? = null, name: Output<String>? = null, placements: Output<List<WorkersScriptPlacementArgs>>? = null, plainTextBindings: Output<List<WorkersScriptPlainTextBindingArgs>>? = null, queueBindings: Output<List<WorkersScriptQueueBindingArgs>>? = null, r2BucketBindings: Output<List<WorkersScriptR2BucketBindingArgs>>? = null, secretTextBindings: Output<List<WorkersScriptSecretTextBindingArgs>>? = null, serviceBindings: Output<List<WorkersScriptServiceBindingArgs>>? = null, tags: Output<List<String>>? = null, webassemblyBindings: Output<List<WorkersScriptWebassemblyBindingArgs>>? = null)

Properties

Link copied to clipboard
val accountId: Output<String>? = null

The account identifier to target for the resource.

Link copied to clipboard
val compatibilityDate: Output<String>? = null

The date to use for the compatibility flag.

Link copied to clipboard
val compatibilityFlags: Output<List<String>>? = null

Compatibility flags used for Worker Scripts.

Link copied to clipboard
val content: Output<String>? = null

The script content.

Link copied to clipboard
Link copied to clipboard
val dispatchNamespace: Output<String>? = null

Name of the Workers for Platforms dispatch namespace.

Link copied to clipboard
Link copied to clipboard
val logpush: Output<Boolean>? = null

Enabling allows Worker events to be sent to a defined Logpush destination.

Link copied to clipboard
val module: Output<Boolean>? = null

Whether to upload Worker as a module.

Link copied to clipboard
val name: Output<String>? = null

The name for the script. Modifying this attribute will force creation of a new resource.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val tags: Output<List<String>>? = null
Link copied to clipboard

Functions

Link copied to clipboard
open override fun toJava(): WorkersScriptArgs