Class Bindings

java.lang.Object
dev.gmitch215.bytebox.gradle.Bindings

public class Bindings extends Object
The bindings { } block.

Names are optional. The first binding of a type takes the type's own name and each repeat gains a number, so a project declaring one of each never writes a name down and a project declaring two KV namespaces gets KV and KV_2.

 bindings {
 	kv()                                    // KV
 	kv()                                    // KV_2
 	kv("SESSIONS") { id = "abc123" }        // an explicit name and a remote id
 	d1()                                    // DB
 	r2()                                    // BLOB
 	durableObject("Counter")                // DO_COUNTER
 }
Since:
1.0.0
  • Constructor Details

    • Bindings

      public Bindings()
  • Method Details

    • getAll

      public List<Binding> getAll()
      Returns every binding declared so far, in declaration order.
      Returns:
      every binding declared so far, in declaration order
    • add

      public void add(BindingType... types)
      Declares several bindings at once, each taking its default name.
      Parameters:
      types - the types, repeated as often as the Worker needs them
    • kv

      public void kv()
      Declares a KV namespace named KV.
    • kv

      public void kv(String name)
      Parameters:
      name - the binding name
    • kv

      public void kv(String name, org.gradle.api.Action<Bindings.KvSpec> spec)
      Parameters:
      name - the binding name
      spec - id and previewId
    • d1

      public void d1()
      Declares a D1 database named DB.
    • d1

      public void d1(String name)
      Parameters:
      name - the binding name
    • d1

      public void d1(String name, org.gradle.api.Action<Bindings.D1Spec> spec)
      Parameters:
      name - the binding name
      spec - databaseName, databaseId, migrationsDir
    • r2

      public void r2()
      Declares an R2 bucket named BLOB.
    • r2

      public void r2(String name)
      Parameters:
      name - the binding name
    • r2

      public void r2(String name, org.gradle.api.Action<Bindings.R2Spec> spec)
      Parameters:
      name - the binding name
      spec - bucketName and jurisdiction
    • ai

      public void ai()
      Declares the Workers AI binding, named AI.
    • queue

      public void queue()
      Declares a Queue producer named QUEUE.
    • queue

      public void queue(String name)
      Parameters:
      name - the binding name, which is also the queue name unless one is given
    • queue

      public void queue(String name, String queue)
      Parameters:
      name - the binding name
      queue - the queue's own name
    • durableObject

      public void durableObject(String className)
      Declares a Durable Object namespace, named DO_ and the class name upper-snaked.
      Parameters:
      className - the Durable Object class, simple name or fully qualified
    • durableObject

      public void durableObject(String className, String scriptName)
      Declares a Durable Object living in another Worker.
      Parameters:
      className - the Durable Object class
      scriptName - the Worker that defines it
    • assets

      public void assets()
      Declares a static assets binding named ASSETS, serving ./public.
    • assets

      public void assets(String directory)
      Parameters:
      directory - the directory to serve
    • service

      public void service(String service)
      Declares a service binding to another Worker.
      Parameters:
      service - the Worker's name, which is also the binding name
    • service

      public void service(String name, String service)
      Parameters:
      name - the binding name
      service - the Worker's name
    • vectorize

      public void vectorize(String indexName)
      Declares a Vectorize index named VECTORIZE.
    • vectorize

      public void vectorize(String name, String indexName)
      Parameters:
      name - the binding name
      indexName - the index's own name
    • hyperdrive

      public void hyperdrive(String id)
      Declares a Hyperdrive configuration named HYPERDRIVE.
      Parameters:
      id - the configuration id
    • analytics

      public void analytics(String dataset)
      Declares an Analytics Engine dataset named ANALYTICS.
      Parameters:
      dataset - the dataset name
    • email

      public void email(String destination)
      Declares an email sending binding named EMAIL.
      Parameters:
      destination - the verified destination address
    • images

      public void images()
      Declares the Images binding, named IMAGES.
    • browser

      public void browser()
      Declares the Browser Rendering binding, named BROWSER.
    • versionMetadata

      public void versionMetadata()
      Declares the version metadata binding, named CF_VERSION_METADATA.
    • workflow

      public void workflow(String className)
      Declares a Workflow named WORKFLOW.
      Parameters:
      className - the class extending Cloudflare's workflow entrypoint
    • rateLimit

      public void rateLimit(int namespaceId, int limit, int periodSeconds)
      Declares a rate limiter named RATELIMIT.
      Parameters:
      namespaceId - the rate limit namespace
      limit - how many requests are allowed
      periodSeconds - the window, 10 or 60
    • any

      public void any(BindingType type, String name, Map<String,String> identifiers)
      Declares a binding of any type, for one this block has no method for yet.
      Parameters:
      type - the type
      name - the binding name, or null for the default
      identifiers - the Wrangler keys