pub struct WorkerBuilder<S: State = Empty> { /* private fields */ }Expand description
Use builder syntax to set the inputs and finish with build().
Implementations§
Source§impl<S: State> WorkerBuilder<S>
impl<S: State> WorkerBuilder<S>
Sourcepub fn build(self) -> Workerwhere
S: IsComplete,
pub fn build(self) -> Workerwhere
S: IsComplete,
Finish building and return the requested object
Sourcepub fn permissions(self, value: String) -> WorkerBuilder<SetPermissions<S>>where
S::Permissions: IsUnset,
pub fn permissions(self, value: String) -> WorkerBuilder<SetPermissions<S>>where
S::Permissions: IsUnset,
Required.
Permission profile name that defines the permissions granted to this worker. This references a profile defined in the stack’s permission definitions.
Sourcepub fn code(self, value: WorkerCode) -> WorkerBuilder<SetCode<S>>where
S::Code: IsUnset,
pub fn code(self, value: WorkerCode) -> WorkerBuilder<SetCode<S>>where
S::Code: IsUnset,
Required.
Code for the worker, either a pre-built image or source code to be built.
Sourcepub fn memory_mb(self, value: u32) -> WorkerBuilder<SetMemoryMb<S>>where
S::MemoryMb: IsUnset,
pub fn memory_mb(self, value: u32) -> WorkerBuilder<SetMemoryMb<S>>where
S::MemoryMb: IsUnset,
Optional (Some / Option setters).
Default: default_memory_mb().
Memory allocated to the worker in megabytes (MB). Default: 256
Platform-specific constraints:
- AWS Lambda: 128–10240 MB in 1 MB increments
- GCP Cloud Run: 128–32768 MB
- Azure Container Apps: fixed CPU/memory pairs — 512, 1024, 1536, 2048, 2560, 3072, 3584, 4096 MB. Values below 512 are automatically rounded up at deploy time.
Sourcepub fn maybe_memory_mb(
self,
value: Option<u32>,
) -> WorkerBuilder<SetMemoryMb<S>>where
S::MemoryMb: IsUnset,
pub fn maybe_memory_mb(
self,
value: Option<u32>,
) -> WorkerBuilder<SetMemoryMb<S>>where
S::MemoryMb: IsUnset,
Optional (Some / Option setters).
Default: default_memory_mb().
Memory allocated to the worker in megabytes (MB). Default: 256
Platform-specific constraints:
- AWS Lambda: 128–10240 MB in 1 MB increments
- GCP Cloud Run: 128–32768 MB
- Azure Container Apps: fixed CPU/memory pairs — 512, 1024, 1536, 2048, 2560, 3072, 3584, 4096 MB. Values below 512 are automatically rounded up at deploy time.
Sourcepub fn timeout_seconds(self, value: u32) -> WorkerBuilder<SetTimeoutSeconds<S>>where
S::TimeoutSeconds: IsUnset,
pub fn timeout_seconds(self, value: u32) -> WorkerBuilder<SetTimeoutSeconds<S>>where
S::TimeoutSeconds: IsUnset,
Sourcepub fn maybe_timeout_seconds(
self,
value: Option<u32>,
) -> WorkerBuilder<SetTimeoutSeconds<S>>where
S::TimeoutSeconds: IsUnset,
pub fn maybe_timeout_seconds(
self,
value: Option<u32>,
) -> WorkerBuilder<SetTimeoutSeconds<S>>where
S::TimeoutSeconds: IsUnset,
Sourcepub fn environment(
self,
value: HashMap<String, String>,
) -> WorkerBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
pub fn environment(
self,
value: HashMap<String, String>,
) -> WorkerBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
Sourcepub fn maybe_environment(
self,
value: Option<HashMap<String, String>>,
) -> WorkerBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
pub fn maybe_environment(
self,
value: Option<HashMap<String, String>>,
) -> WorkerBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
Sourcepub fn ingress(self, value: Ingress) -> WorkerBuilder<SetIngress<S>>where
S::Ingress: IsUnset,
pub fn ingress(self, value: Ingress) -> WorkerBuilder<SetIngress<S>>where
S::Ingress: IsUnset,
Sourcepub fn maybe_ingress(
self,
value: Option<Ingress>,
) -> WorkerBuilder<SetIngress<S>>where
S::Ingress: IsUnset,
pub fn maybe_ingress(
self,
value: Option<Ingress>,
) -> WorkerBuilder<SetIngress<S>>where
S::Ingress: IsUnset,
Sourcepub fn commands_enabled(
self,
value: bool,
) -> WorkerBuilder<SetCommandsEnabled<S>>where
S::CommandsEnabled: IsUnset,
pub fn commands_enabled(
self,
value: bool,
) -> WorkerBuilder<SetCommandsEnabled<S>>where
S::CommandsEnabled: IsUnset,
Sourcepub fn maybe_commands_enabled(
self,
value: Option<bool>,
) -> WorkerBuilder<SetCommandsEnabled<S>>where
S::CommandsEnabled: IsUnset,
pub fn maybe_commands_enabled(
self,
value: Option<bool>,
) -> WorkerBuilder<SetCommandsEnabled<S>>where
S::CommandsEnabled: IsUnset,
Sourcepub fn concurrency_limit(
self,
value: u32,
) -> WorkerBuilder<SetConcurrencyLimit<S>>where
S::ConcurrencyLimit: IsUnset,
pub fn concurrency_limit(
self,
value: u32,
) -> WorkerBuilder<SetConcurrencyLimit<S>>where
S::ConcurrencyLimit: IsUnset,
Sourcepub fn maybe_concurrency_limit(
self,
value: Option<u32>,
) -> WorkerBuilder<SetConcurrencyLimit<S>>where
S::ConcurrencyLimit: IsUnset,
pub fn maybe_concurrency_limit(
self,
value: Option<u32>,
) -> WorkerBuilder<SetConcurrencyLimit<S>>where
S::ConcurrencyLimit: IsUnset,
Sourcepub fn readiness_probe(
self,
value: ReadinessProbe,
) -> WorkerBuilder<SetReadinessProbe<S>>where
S::ReadinessProbe: IsUnset,
pub fn readiness_probe(
self,
value: ReadinessProbe,
) -> WorkerBuilder<SetReadinessProbe<S>>where
S::ReadinessProbe: IsUnset,
Sourcepub fn maybe_readiness_probe(
self,
value: Option<ReadinessProbe>,
) -> WorkerBuilder<SetReadinessProbe<S>>where
S::ReadinessProbe: IsUnset,
pub fn maybe_readiness_probe(
self,
value: Option<ReadinessProbe>,
) -> WorkerBuilder<SetReadinessProbe<S>>where
S::ReadinessProbe: IsUnset,
Source§impl<S: State> WorkerBuilder<S>
impl<S: State> WorkerBuilder<S>
Sourcepub fn link<R: ?Sized>(self, resource: &R) -> Self
pub fn link<R: ?Sized>(self, resource: &R) -> Self
Links the worker to another resource with specified permissions.
Accepts a reference to any type R where &R can be converted into ResourceRef.
Sourcepub fn trigger(self, trigger: WorkerTrigger) -> Self
pub fn trigger(self, trigger: WorkerTrigger) -> Self
Adds a trigger to the worker. Workers can have multiple triggers. Each trigger will independently invoke the worker when its conditions are met.
§Examples
let worker = Worker::new("my-worker".to_string())
.code(WorkerCode::Image { image: "test:latest".to_string() })
.permissions("execution".to_string())
.trigger(WorkerTrigger::queue(&queue1))
.trigger(WorkerTrigger::queue(&queue2))
.build();