pub enum Permissions {
String(String),
Map(BTreeMap<String, String>),
}Expand description
Flexible permissions: can be a string (“write-all”) or a map.
The map variant uses BTreeMap (not HashMap) so the rendered
Display output ({ contents: read, id-token: write }) is sorted by
scope name and byte-deterministic across runs. META_PERMISSIONS is
emitted into JSON / SARIF / taudit map text directly, and a HashMap’s
randomised iteration order otherwise leaks into every artifact. The
substring check at the workflow- and job-permissions emission sites
(perm_string.contains("id-token: write")) still works — BTreeMap
produces the same key: value shape, just sorted.
Variants§
Trait Implementations§
Source§impl Clone for Permissions
impl Clone for Permissions
Source§fn clone(&self) -> Permissions
fn clone(&self) -> Permissions
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Permissions
impl Debug for Permissions
Source§impl<'de> Deserialize<'de> for Permissions
impl<'de> Deserialize<'de> for Permissions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Permissions
impl RefUnwindSafe for Permissions
impl Send for Permissions
impl Sync for Permissions
impl Unpin for Permissions
impl UnsafeUnpin for Permissions
impl UnwindSafe for Permissions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more