#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Administrator {
#[prost(message, optional, tag="1")]
pub creation_date: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag="2")]
pub change_date: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag="3")]
pub user: ::core::option::Option<User>,
#[prost(string, repeated, tag="8")]
pub roles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(oneof="administrator::Resource", tags="4, 5, 6, 7")]
pub resource: ::core::option::Option<administrator::Resource>,
}
pub mod administrator {
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Resource {
#[prost(bool, tag="4")]
Instance(bool),
#[prost(message, tag="5")]
Organization(super::Organization),
#[prost(message, tag="6")]
Project(super::Project),
#[prost(message, tag="7")]
ProjectGrant(super::ProjectGrant),
}
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct User {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub preferred_login_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub display_name: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub organization_id: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Organization {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Project {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub organization_id: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProjectGrant {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub project_name: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub organization_id: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub granted_organization_id: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdministratorSearchFilter {
#[prost(oneof="administrator_search_filter::Filter", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11")]
pub filter: ::core::option::Option<administrator_search_filter::Filter>,
}
pub mod administrator_search_filter {
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Filter {
#[prost(message, tag="1")]
CreationDate(super::super::super::filter::v2beta::TimestampFilter),
#[prost(message, tag="2")]
ChangeDate(super::super::super::filter::v2beta::TimestampFilter),
#[prost(message, tag="3")]
InUserIdsFilter(super::super::super::filter::v2beta::InIDsFilter),
#[prost(message, tag="4")]
UserOrganizationId(super::super::super::filter::v2beta::IdFilter),
#[prost(message, tag="5")]
UserPreferredLoginName(super::UserPreferredLoginNameFilter),
#[prost(message, tag="6")]
UserDisplayName(super::UserDisplayNameFilter),
#[prost(message, tag="7")]
Resource(super::ResourceFilter),
#[prost(message, tag="8")]
Role(super::RoleFilter),
#[prost(message, tag="9")]
And(super::AndFilter),
#[prost(message, tag="10")]
Or(super::OrFilter),
#[prost(message, tag="11")]
Not(::prost::alloc::boxed::Box<super::NotFilter>),
}
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserPreferredLoginNameFilter {
#[prost(string, tag="1")]
pub preferred_login_name: ::prost::alloc::string::String,
#[prost(enumeration="super::super::filter::v2beta::TextFilterMethod", tag="2")]
pub method: i32,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserDisplayNameFilter {
#[prost(string, tag="1")]
pub display_name: ::prost::alloc::string::String,
#[prost(enumeration="super::super::filter::v2beta::TextFilterMethod", tag="2")]
pub method: i32,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceFilter {
#[prost(oneof="resource_filter::Resource", tags="1, 2, 3, 4")]
pub resource: ::core::option::Option<resource_filter::Resource>,
}
pub mod resource_filter {
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Resource {
#[prost(bool, tag="1")]
Instance(bool),
#[prost(string, tag="2")]
OrganizationId(::prost::alloc::string::String),
#[prost(string, tag="3")]
ProjectId(::prost::alloc::string::String),
#[prost(string, tag="4")]
ProjectGrantId(::prost::alloc::string::String),
}
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoleFilter {
#[prost(string, tag="1")]
pub role_key: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AndFilter {
#[prost(message, repeated, tag="1")]
pub queries: ::prost::alloc::vec::Vec<AdministratorSearchFilter>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrFilter {
#[prost(message, repeated, tag="1")]
pub queries: ::prost::alloc::vec::Vec<AdministratorSearchFilter>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NotFilter {
#[prost(message, optional, boxed, tag="1")]
pub query: ::core::option::Option<::prost::alloc::boxed::Box<AdministratorSearchFilter>>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AdministratorFieldName {
Unspecified = 0,
UserId = 1,
CreationDate = 2,
ChangeDate = 3,
}
impl AdministratorFieldName {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ADMINISTRATOR_FIELD_NAME_UNSPECIFIED",
Self::UserId => "ADMINISTRATOR_FIELD_NAME_USER_ID",
Self::CreationDate => "ADMINISTRATOR_FIELD_NAME_CREATION_DATE",
Self::ChangeDate => "ADMINISTRATOR_FIELD_NAME_CHANGE_DATE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ADMINISTRATOR_FIELD_NAME_UNSPECIFIED" => Some(Self::Unspecified),
"ADMINISTRATOR_FIELD_NAME_USER_ID" => Some(Self::UserId),
"ADMINISTRATOR_FIELD_NAME_CREATION_DATE" => Some(Self::CreationDate),
"ADMINISTRATOR_FIELD_NAME_CHANGE_DATE" => Some(Self::ChangeDate),
_ => None,
}
}
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAdministratorsRequest {
#[prost(message, optional, tag="1")]
pub pagination: ::core::option::Option<super::super::filter::v2beta::PaginationRequest>,
#[prost(enumeration="AdministratorFieldName", optional, tag="2")]
pub sorting_column: ::core::option::Option<i32>,
#[prost(message, repeated, tag="3")]
pub filters: ::prost::alloc::vec::Vec<AdministratorSearchFilter>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAdministratorsResponse {
#[prost(message, optional, tag="1")]
pub pagination: ::core::option::Option<super::super::filter::v2beta::PaginationResponse>,
#[prost(message, repeated, tag="2")]
pub administrators: ::prost::alloc::vec::Vec<Administrator>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAdministratorRequest {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAdministratorResponse {
#[prost(message, optional, tag="1")]
pub administrator: ::core::option::Option<Administrator>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAdministratorRequest {
#[prost(string, tag="1")]
pub user_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub resource: ::core::option::Option<ResourceType>,
#[prost(string, repeated, tag="3")]
pub roles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceType {
#[prost(oneof="resource_type::Resource", tags="1, 2, 3, 4")]
pub resource: ::core::option::Option<resource_type::Resource>,
}
pub mod resource_type {
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProjectGrant {
#[prost(string, tag="1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub project_grant_id: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Resource {
#[prost(bool, tag="1")]
Instance(bool),
#[prost(string, tag="2")]
OrganizationId(::prost::alloc::string::String),
#[prost(string, tag="3")]
ProjectId(::prost::alloc::string::String),
#[prost(message, tag="4")]
ProjectGrant(ProjectGrant),
}
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CreateAdministratorResponse {
#[prost(message, optional, tag="1")]
pub creation_date: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateAdministratorRequest {
#[prost(string, tag="1")]
pub user_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub resource: ::core::option::Option<ResourceType>,
#[prost(string, repeated, tag="3")]
pub roles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateAdministratorResponse {
#[prost(message, optional, tag="1")]
pub change_date: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteAdministratorRequest {
#[prost(string, tag="1")]
pub user_id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub resource: ::core::option::Option<ResourceType>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteAdministratorResponse {
#[prost(message, optional, tag="1")]
pub deletion_date: ::core::option::Option<::pbjson_types::Timestamp>,
}
include!("zitadel.internal_permission.v2beta.tonic.rs");