Worker Script Args
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 oraccount_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());
}
}
Content copied to clipboard
Import
$ pulumi import cloudflare:index/workerScript:WorkerScript example <account_id>/<script_name>
Content copied to clipboard
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)