#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AuthzPolicy {
#[prost(message, repeated, tag = "1")]
pub requirements: ::prost::alloc::vec::Vec<Requirement>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Requirement {
#[prost(string, tag = "1")]
pub action: ::prost::alloc::string::String,
#[prost(oneof = "requirement::Scope", tags = "2, 3, 4")]
pub scope: ::core::option::Option<requirement::Scope>,
}
pub mod requirement {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Scope {
#[prost(message, tag = "2")]
Resource(super::ResourceScope),
#[prost(message, tag = "3")]
Organization(super::OrganizationScope),
#[prost(message, tag = "4")]
Workspace(super::WorkspaceScope),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceScope {
#[prost(string, tag = "1")]
pub field: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OrganizationScope {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WorkspaceScope {}