WorkerScript

class WorkerScript : KotlinCustomResource

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

This resource uses the Cloudflare account APIs. This requires setting the CLOUDFLARE_ACCOUNT_ID environment variable or account_id provider argument.

Example Usage

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.WorkerScript;
import com.pulumi.cloudflare.WorkerScriptArgs;
import com.pulumi.cloudflare.inputs.WorkerScriptKvNamespaceBindingArgs;
import com.pulumi.cloudflare.inputs.WorkerScriptPlainTextBindingArgs;
import com.pulumi.cloudflare.inputs.WorkerScriptSecretTextBindingArgs;
import com.pulumi.cloudflare.inputs.WorkerScriptWebassemblyBindingArgs;
import com.pulumi.cloudflare.inputs.WorkerScriptServiceBindingArgs;
import com.pulumi.cloudflare.inputs.WorkerScriptR2BucketBindingArgs;
import com.pulumi.cloudflare.inputs.WorkerScriptAnalyticsEngineBindingArgs;
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());
var myScript = new WorkerScript("myScript", WorkerScriptArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.name("script_1")
.content(Files.readString(Paths.get("script.js")))
.kvNamespaceBindings(WorkerScriptKvNamespaceBindingArgs.builder()
.name("MY_EXAMPLE_KV_NAMESPACE")
.namespaceId(myNamespace.id())
.build())
.plainTextBindings(WorkerScriptPlainTextBindingArgs.builder()
.name("MY_EXAMPLE_PLAIN_TEXT")
.text("foobar")
.build())
.secretTextBindings(WorkerScriptSecretTextBindingArgs.builder()
.name("MY_EXAMPLE_SECRET_TEXT")
.text(var_.secret_foo_value())
.build())
.webassemblyBindings(WorkerScriptWebassemblyBindingArgs.builder()
.name("MY_EXAMPLE_WASM")
.module(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get("example.wasm"))))
.build())
.serviceBindings(WorkerScriptServiceBindingArgs.builder()
.name("MY_SERVICE_BINDING")
.service("MY_SERVICE")
.environment("production")
.build())
.r2BucketBindings(WorkerScriptR2BucketBindingArgs.builder()
.name("MY_BUCKET")
.bucketName("MY_BUCKET_NAME")
.build())
.analyticsEngineBindings(WorkerScriptAnalyticsEngineBindingArgs.builder()
.name("MY_DATASET")
.dataset("dataset1")
.build())
.build());
}
}

Import

$ pulumi import cloudflare:index/workerScript:WorkerScript example <account_id>/<script_name>

Properties

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

The account identifier to target for the resource.

Link copied to clipboard
val content: Output<String>

The script content.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val module: Output<Boolean>?

Whether to upload Worker as a module.

Link copied to clipboard
val name: Output<String>

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

Link copied to clipboard
Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
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 urn: Output<String>