Skip to main content

FunctionBuilder

Struct FunctionBuilder 

Source
pub struct FunctionBuilder<S: State = Empty> { /* private fields */ }
Expand description

Use builder syntax to set the inputs and finish with build().

Implementations§

Source§

impl<S: State> FunctionBuilder<S>

Source

pub fn build(self) -> Function
where S: IsComplete,

Finish building and return the requested object

Source

pub fn permissions(self, value: String) -> FunctionBuilder<SetPermissions<S>>
where S::Permissions: IsUnset,

Required.

Permission profile name that defines the permissions granted to this function. This references a profile defined in the stack’s permission definitions.

Source

pub fn code(self, value: FunctionCode) -> FunctionBuilder<SetCode<S>>
where S::Code: IsUnset,

Required.

Code for the function, either a pre-built image or source code to be built.

Source

pub fn memory_mb(self, value: u32) -> FunctionBuilder<SetMemoryMb<S>>
where S::MemoryMb: IsUnset,

Optional (Some / Option setters). Default: default_memory_mb().

Memory allocated to the function in megabytes (MB). Constraints: 128‑32768 MB (platform-specific limits may apply) Default: 256

Source

pub fn maybe_memory_mb( self, value: Option<u32>, ) -> FunctionBuilder<SetMemoryMb<S>>
where S::MemoryMb: IsUnset,

Optional (Some / Option setters). Default: default_memory_mb().

Memory allocated to the function in megabytes (MB). Constraints: 128‑32768 MB (platform-specific limits may apply) Default: 256

Source

pub fn timeout_seconds( self, value: u32, ) -> FunctionBuilder<SetTimeoutSeconds<S>>
where S::TimeoutSeconds: IsUnset,

Optional (Some / Option setters). Default: default_timeout_seconds().

Maximum execution time for the function in seconds. Constraints: 1‑3600 seconds (platform-specific limits may apply) Default: 30

Source

pub fn maybe_timeout_seconds( self, value: Option<u32>, ) -> FunctionBuilder<SetTimeoutSeconds<S>>
where S::TimeoutSeconds: IsUnset,

Optional (Some / Option setters). Default: default_timeout_seconds().

Maximum execution time for the function in seconds. Constraints: 1‑3600 seconds (platform-specific limits may apply) Default: 30

Source

pub fn environment( self, value: HashMap<String, String>, ) -> FunctionBuilder<SetEnvironment<S>>
where S::Environment: IsUnset,

Optional (Some / Option setters). Default: <HashMap<String, String> as Default>::default().

Key-value pairs to set as environment variables for the function.

Source

pub fn maybe_environment( self, value: Option<HashMap<String, String>>, ) -> FunctionBuilder<SetEnvironment<S>>
where S::Environment: IsUnset,

Optional (Some / Option setters). Default: <HashMap<String, String> as Default>::default().

Key-value pairs to set as environment variables for the function.

Source

pub fn ingress(self, value: Ingress) -> FunctionBuilder<SetIngress<S>>
where S::Ingress: IsUnset,

Optional (Some / Option setters). Default: default_ingress().

Controls network accessibility of the function.

Source

pub fn maybe_ingress( self, value: Option<Ingress>, ) -> FunctionBuilder<SetIngress<S>>
where S::Ingress: IsUnset,

Optional (Some / Option setters). Default: default_ingress().

Controls network accessibility of the function.

Source

pub fn arc_enabled(self, value: bool) -> FunctionBuilder<SetArcEnabled<S>>
where S::ArcEnabled: IsUnset,

Optional (Some / Option setters). Default: default_arc_enabled().

Whether the function can be invoked via ARC (Alien Remote Call) protocol from the control plane. When enabled, the necessary queue infrastructure is automatically created for the target platform.

Source

pub fn maybe_arc_enabled( self, value: Option<bool>, ) -> FunctionBuilder<SetArcEnabled<S>>
where S::ArcEnabled: IsUnset,

Optional (Some / Option setters). Default: default_arc_enabled().

Whether the function can be invoked via ARC (Alien Remote Call) protocol from the control plane. When enabled, the necessary queue infrastructure is automatically created for the target platform.

Source

pub fn concurrency_limit( self, value: u32, ) -> FunctionBuilder<SetConcurrencyLimit<S>>
where S::ConcurrencyLimit: IsUnset,

Optional (Some / Option setters). Maximum number of concurrent executions allowed for the function. None means platform default applies.

Source

pub fn maybe_concurrency_limit( self, value: Option<u32>, ) -> FunctionBuilder<SetConcurrencyLimit<S>>
where S::ConcurrencyLimit: IsUnset,

Optional (Some / Option setters). Maximum number of concurrent executions allowed for the function. None means platform default applies.

Source

pub fn readiness_probe( self, value: ReadinessProbe, ) -> FunctionBuilder<SetReadinessProbe<S>>
where S::ReadinessProbe: IsUnset,

Optional (Some / Option setters). Optional readiness probe configuration. Only applicable for functions with Public ingress. When configured, the probe will be executed after provisioning/update to verify the function is ready.

Source

pub fn maybe_readiness_probe( self, value: Option<ReadinessProbe>, ) -> FunctionBuilder<SetReadinessProbe<S>>
where S::ReadinessProbe: IsUnset,

Optional (Some / Option setters). Optional readiness probe configuration. Only applicable for functions with Public ingress. When configured, the probe will be executed after provisioning/update to verify the function is ready.

Source§

impl<S: State> FunctionBuilder<S>

Links the function to another resource with specified permissions. Accepts a reference to any type R where &R can be converted into ResourceRef.

Source

pub fn trigger(self, trigger: FunctionTrigger) -> Self

Adds a trigger to the function. Functions can have multiple triggers. Each trigger will independently invoke the function when its conditions are met.

§Examples
let function = Function::new("my-function".to_string())
    .code(FunctionCode::Image { image: "test:latest".to_string() })
    .permissions("execution".to_string())
    .trigger(FunctionTrigger::queue(&queue1))
    .trigger(FunctionTrigger::queue(&queue2))
    .build();

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more