pub struct Policy {
pub triggerables: Option<HashMap<String, Value>>,
pub triggerables_v2: Option<HashMap<String, Value>>,
pub s3_inputs: Option<Vec<Value>>,
pub allowed_s3_keys: Option<Vec<PolicyAllowedS3KeysInner>>,
pub execution_mode: Option<ExecutionMode>,
pub on_behalf_of: Option<String>,
pub on_behalf_of_email: Option<String>,
pub sandbox: Option<bool>,
pub frontend_sdk_scopes: Option<Vec<String>>,
}Fields§
§triggerables: Option<HashMap<String, Value>>§triggerables_v2: Option<HashMap<String, Value>>§s3_inputs: Option<Vec<Value>>§allowed_s3_keys: Option<Vec<PolicyAllowedS3KeysInner>>§execution_mode: Option<ExecutionMode>Who the app’s runnables execute as. Optional, and what omitting it means depends on the operation: creating an app defaults it to publisher (runs on behalf of the app’s publisher and requires an authenticated viewer), while updating one keeps the mode the app is already deployed under. Either way anonymous, which makes the app publicly executable, is never assumed
on_behalf_of: Option<String>§on_behalf_of_email: Option<String>§sandbox: Option<bool>Publisher opt-in to app sandbox isolation (alpha). When true the app is isolated from each viewer’s Windmill session. When false/absent the app runs same-origin with the viewer’s full session (the default, pre-isolation behavior).
frontend_sdk_scopes: Option<Vec<String>>Raw apps: author-declared scopes for the frontend SDK token. Takes effect only when sandbox is also true — an unsandboxed bundle runs with the viewer’s own session, so no token is advertised or minted for it and this list stays inert. On a sandboxed app a non-empty list lets viewers mint (after consenting) a short-lived token carrying their own identity restricted to these scopes, handed to the app bundle so windmill-client calls run as the viewer. Must be a subset of the server’s curated allowlist (jobs:run, jobs:read, users:read, resources:read, variables:read).