WorkerScriptArgs

data class WorkerScriptArgs(val accountId: Output<String>? = null, val analyticsEngineBindings: Output<List<WorkerScriptAnalyticsEngineBindingArgs>>? = null, val content: Output<String>? = null, val kvNamespaceBindings: Output<List<WorkerScriptKvNamespaceBindingArgs>>? = null, val module: Output<Boolean>? = null, val name: Output<String>? = null, val plainTextBindings: Output<List<WorkerScriptPlainTextBindingArgs>>? = null, val queueBindings: Output<List<WorkerScriptQueueBindingArgs>>? = null, val r2BucketBindings: Output<List<WorkerScriptR2BucketBindingArgs>>? = null, val secretTextBindings: Output<List<WorkerScriptSecretTextBindingArgs>>? = null, val serviceBindings: Output<List<WorkerScriptServiceBindingArgs>>? = null, val webassemblyBindings: Output<List<WorkerScriptWebassemblyBindingArgs>>? = null) : ConvertibleToJava<WorkerScriptArgs>

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>

Constructors

Link copied to clipboard
constructor(accountId: Output<String>? = null, analyticsEngineBindings: Output<List<WorkerScriptAnalyticsEngineBindingArgs>>? = null, content: Output<String>? = null, kvNamespaceBindings: Output<List<WorkerScriptKvNamespaceBindingArgs>>? = null, module: Output<Boolean>? = null, name: Output<String>? = null, plainTextBindings: Output<List<WorkerScriptPlainTextBindingArgs>>? = null, queueBindings: Output<List<WorkerScriptQueueBindingArgs>>? = null, r2BucketBindings: Output<List<WorkerScriptR2BucketBindingArgs>>? = null, secretTextBindings: Output<List<WorkerScriptSecretTextBindingArgs>>? = null, serviceBindings: Output<List<WorkerScriptServiceBindingArgs>>? = null, webassemblyBindings: Output<List<WorkerScriptWebassemblyBindingArgs>>? = null)

Properties

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

The account identifier to target for the resource.

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

The script content.

Link copied to clipboard
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

Functions

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