Workers Script Args
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",
}],
});
Content copied to clipboard
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",
}])
Content copied to clipboard
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",
},
},
});
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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
Content copied to clipboard
Import
$ pulumi import cloudflare:index/workersScript:WorkersScript example <account_id>/<script_name>
Content copied to clipboard
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
Link copied to clipboard
The date to use for the compatibility flag.
Link copied to clipboard
Compatibility flags used for Worker Scripts.
Link copied to clipboard
Link copied to clipboard
Name of the Workers for Platforms dispatch namespace.
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
Link copied to clipboard
Link copied to clipboard