#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtraValue {
#[prost(string, repeated, tag="1")]
pub items: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LocalSubjectAccessReview {
#[prost(message, optional, tag="1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag="2")]
pub spec: ::core::option::Option<SubjectAccessReviewSpec>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<SubjectAccessReviewStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NonResourceAttributes {
#[prost(string, optional, tag="1")]
pub path: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub verb: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NonResourceRule {
#[prost(string, repeated, tag="1")]
pub verbs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag="2")]
pub non_resource_ur_ls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceAttributes {
#[prost(string, optional, tag="1")]
pub namespace: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub verb: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub version: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub resource: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub subresource: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="7")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceRule {
#[prost(string, repeated, tag="1")]
pub verbs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag="2")]
pub api_groups: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag="3")]
pub resources: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag="4")]
pub resource_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelfSubjectAccessReview {
#[prost(message, optional, tag="1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag="2")]
pub spec: ::core::option::Option<SelfSubjectAccessReviewSpec>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<SubjectAccessReviewStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelfSubjectAccessReviewSpec {
#[prost(message, optional, tag="1")]
pub resource_attributes: ::core::option::Option<ResourceAttributes>,
#[prost(message, optional, tag="2")]
pub non_resource_attributes: ::core::option::Option<NonResourceAttributes>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelfSubjectRulesReview {
#[prost(message, optional, tag="1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag="2")]
pub spec: ::core::option::Option<SelfSubjectRulesReviewSpec>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<SubjectRulesReviewStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelfSubjectRulesReviewSpec {
#[prost(string, optional, tag="1")]
pub namespace: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubjectAccessReview {
#[prost(message, optional, tag="1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag="2")]
pub spec: ::core::option::Option<SubjectAccessReviewSpec>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<SubjectAccessReviewStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubjectAccessReviewSpec {
#[prost(message, optional, tag="1")]
pub resource_attributes: ::core::option::Option<ResourceAttributes>,
#[prost(message, optional, tag="2")]
pub non_resource_attributes: ::core::option::Option<NonResourceAttributes>,
#[prost(string, optional, tag="3")]
pub user: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="4")]
pub groups: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map="string, message", tag="5")]
pub extra: ::std::collections::HashMap<::prost::alloc::string::String, ExtraValue>,
#[prost(string, optional, tag="6")]
pub uid: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubjectAccessReviewStatus {
#[prost(bool, optional, tag="1")]
pub allowed: ::core::option::Option<bool>,
#[prost(bool, optional, tag="4")]
pub denied: ::core::option::Option<bool>,
#[prost(string, optional, tag="2")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub evaluation_error: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubjectRulesReviewStatus {
#[prost(message, repeated, tag="1")]
pub resource_rules: ::prost::alloc::vec::Vec<ResourceRule>,
#[prost(message, repeated, tag="2")]
pub non_resource_rules: ::prost::alloc::vec::Vec<NonResourceRule>,
#[prost(bool, optional, tag="3")]
pub incomplete: ::core::option::Option<bool>,
#[prost(string, optional, tag="4")]
pub evaluation_error: ::core::option::Option<::prost::alloc::string::String>,
}
impl crate::Resource for LocalSubjectAccessReview {
const API_VERSION: &'static str = "authorization.k8s.io/v1";
const GROUP: &'static str = "authorization.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "LocalSubjectAccessReview";
const NAME: &'static str = "localsubjectaccessreviews";
}
impl crate::HasMetadata for LocalSubjectAccessReview {
type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::HasMetadata>::Metadata> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::HasMetadata>::Metadata> {
self.metadata.as_mut()
}
}
impl crate::HasSpec for LocalSubjectAccessReview {
type Spec = crate::api::authorization::v1::SubjectAccessReviewSpec;
fn spec(&self) -> Option<&<Self as crate::HasSpec>::Spec> {
self.spec.as_ref()
}
fn spec_mut(&mut self) -> Option<&mut <Self as crate::HasSpec>::Spec> {
self.spec.as_mut()
}
}
impl crate::HasStatus for LocalSubjectAccessReview {
type Status = crate::api::authorization::v1::SubjectAccessReviewStatus;
fn status(&self) -> Option<&<Self as crate::HasStatus>::Status> {
self.status.as_ref()
}
fn status_mut(&mut self) -> Option<&mut <Self as crate::HasStatus>::Status> {
self.status.as_mut()
}
}
impl crate::Resource for SelfSubjectAccessReview {
const API_VERSION: &'static str = "authorization.k8s.io/v1";
const GROUP: &'static str = "authorization.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "SelfSubjectAccessReview";
const NAME: &'static str = "selfsubjectaccessreviews";
}
impl crate::HasMetadata for SelfSubjectAccessReview {
type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::HasMetadata>::Metadata> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::HasMetadata>::Metadata> {
self.metadata.as_mut()
}
}
impl crate::HasSpec for SelfSubjectAccessReview {
type Spec = crate::api::authorization::v1::SelfSubjectAccessReviewSpec;
fn spec(&self) -> Option<&<Self as crate::HasSpec>::Spec> {
self.spec.as_ref()
}
fn spec_mut(&mut self) -> Option<&mut <Self as crate::HasSpec>::Spec> {
self.spec.as_mut()
}
}
impl crate::HasStatus for SelfSubjectAccessReview {
type Status = crate::api::authorization::v1::SubjectAccessReviewStatus;
fn status(&self) -> Option<&<Self as crate::HasStatus>::Status> {
self.status.as_ref()
}
fn status_mut(&mut self) -> Option<&mut <Self as crate::HasStatus>::Status> {
self.status.as_mut()
}
}
impl crate::Resource for SelfSubjectRulesReview {
const API_VERSION: &'static str = "authorization.k8s.io/v1";
const GROUP: &'static str = "authorization.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "SelfSubjectRulesReview";
const NAME: &'static str = "selfsubjectrulesreviews";
}
impl crate::HasMetadata for SelfSubjectRulesReview {
type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::HasMetadata>::Metadata> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::HasMetadata>::Metadata> {
self.metadata.as_mut()
}
}
impl crate::HasSpec for SelfSubjectRulesReview {
type Spec = crate::api::authorization::v1::SelfSubjectRulesReviewSpec;
fn spec(&self) -> Option<&<Self as crate::HasSpec>::Spec> {
self.spec.as_ref()
}
fn spec_mut(&mut self) -> Option<&mut <Self as crate::HasSpec>::Spec> {
self.spec.as_mut()
}
}
impl crate::HasStatus for SelfSubjectRulesReview {
type Status = crate::api::authorization::v1::SubjectRulesReviewStatus;
fn status(&self) -> Option<&<Self as crate::HasStatus>::Status> {
self.status.as_ref()
}
fn status_mut(&mut self) -> Option<&mut <Self as crate::HasStatus>::Status> {
self.status.as_mut()
}
}
impl crate::Resource for SubjectAccessReview {
const API_VERSION: &'static str = "authorization.k8s.io/v1";
const GROUP: &'static str = "authorization.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "SubjectAccessReview";
const NAME: &'static str = "subjectaccessreviews";
}
impl crate::HasMetadata for SubjectAccessReview {
type Metadata = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::HasMetadata>::Metadata> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::HasMetadata>::Metadata> {
self.metadata.as_mut()
}
}
impl crate::HasSpec for SubjectAccessReview {
type Spec = crate::api::authorization::v1::SubjectAccessReviewSpec;
fn spec(&self) -> Option<&<Self as crate::HasSpec>::Spec> {
self.spec.as_ref()
}
fn spec_mut(&mut self) -> Option<&mut <Self as crate::HasSpec>::Spec> {
self.spec.as_mut()
}
}
impl crate::HasStatus for SubjectAccessReview {
type Status = crate::api::authorization::v1::SubjectAccessReviewStatus;
fn status(&self) -> Option<&<Self as crate::HasStatus>::Status> {
self.status.as_ref()
}
fn status_mut(&mut self) -> Option<&mut <Self as crate::HasStatus>::Status> {
self.status.as_mut()
}
}