#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExemptPriorityLevelConfiguration {
#[prost(int32, optional, tag="1")]
pub nominal_concurrency_shares: ::core::option::Option<i32>,
#[prost(int32, optional, tag="2")]
pub lendable_percent: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlowDistinguisherMethod {
#[prost(string, optional, tag="1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlowSchema {
#[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<FlowSchemaSpec>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<FlowSchemaStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlowSchemaCondition {
#[prost(string, optional, tag="1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="3")]
pub last_transition_time: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
#[prost(string, optional, tag="4")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlowSchemaList {
#[prost(message, optional, tag="1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag="2")]
pub items: ::prost::alloc::vec::Vec<FlowSchema>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlowSchemaSpec {
#[prost(message, optional, tag="1")]
pub priority_level_configuration: ::core::option::Option<PriorityLevelConfigurationReference>,
#[prost(int32, optional, tag="2")]
pub matching_precedence: ::core::option::Option<i32>,
#[prost(message, optional, tag="3")]
pub distinguisher_method: ::core::option::Option<FlowDistinguisherMethod>,
#[prost(message, repeated, tag="4")]
pub rules: ::prost::alloc::vec::Vec<PolicyRulesWithSubjects>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlowSchemaStatus {
#[prost(message, repeated, tag="1")]
pub conditions: ::prost::alloc::vec::Vec<FlowSchemaCondition>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupSubject {
#[prost(string, optional, tag="1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LimitResponse {
#[prost(string, optional, tag="1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub queuing: ::core::option::Option<QueuingConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LimitedPriorityLevelConfiguration {
#[prost(int32, optional, tag="1")]
pub assured_concurrency_shares: ::core::option::Option<i32>,
#[prost(message, optional, tag="2")]
pub limit_response: ::core::option::Option<LimitResponse>,
#[prost(int32, optional, tag="3")]
pub lendable_percent: ::core::option::Option<i32>,
#[prost(int32, optional, tag="4")]
pub borrowing_limit_percent: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NonResourcePolicyRule {
#[prost(string, repeated, tag="1")]
pub verbs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag="6")]
pub non_resource_ur_ls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PolicyRulesWithSubjects {
#[prost(message, repeated, tag="1")]
pub subjects: ::prost::alloc::vec::Vec<Subject>,
#[prost(message, repeated, tag="2")]
pub resource_rules: ::prost::alloc::vec::Vec<ResourcePolicyRule>,
#[prost(message, repeated, tag="3")]
pub non_resource_rules: ::prost::alloc::vec::Vec<NonResourcePolicyRule>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriorityLevelConfiguration {
#[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<PriorityLevelConfigurationSpec>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<PriorityLevelConfigurationStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriorityLevelConfigurationCondition {
#[prost(string, optional, tag="1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="3")]
pub last_transition_time: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
#[prost(string, optional, tag="4")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriorityLevelConfigurationList {
#[prost(message, optional, tag="1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag="2")]
pub items: ::prost::alloc::vec::Vec<PriorityLevelConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriorityLevelConfigurationReference {
#[prost(string, optional, tag="1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriorityLevelConfigurationSpec {
#[prost(string, optional, tag="1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub limited: ::core::option::Option<LimitedPriorityLevelConfiguration>,
#[prost(message, optional, tag="3")]
pub exempt: ::core::option::Option<ExemptPriorityLevelConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriorityLevelConfigurationStatus {
#[prost(message, repeated, tag="1")]
pub conditions: ::prost::alloc::vec::Vec<PriorityLevelConfigurationCondition>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueuingConfiguration {
#[prost(int32, optional, tag="1")]
pub queues: ::core::option::Option<i32>,
#[prost(int32, optional, tag="2")]
pub hand_size: ::core::option::Option<i32>,
#[prost(int32, optional, tag="3")]
pub queue_length_limit: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourcePolicyRule {
#[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(bool, optional, tag="4")]
pub cluster_scope: ::core::option::Option<bool>,
#[prost(string, repeated, tag="5")]
pub namespaces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceAccountSubject {
#[prost(string, optional, tag="1")]
pub namespace: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Subject {
#[prost(string, optional, tag="1")]
pub kind: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub user: ::core::option::Option<UserSubject>,
#[prost(message, optional, tag="3")]
pub group: ::core::option::Option<GroupSubject>,
#[prost(message, optional, tag="4")]
pub service_account: ::core::option::Option<ServiceAccountSubject>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserSubject {
#[prost(string, optional, tag="1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
}
impl crate::Resource for FlowSchema {
const API_VERSION: &'static str = "flowcontrol.apiserver.k8s.io/v1beta2";
const GROUP: &'static str = "flowcontrol.apiserver.k8s.io";
const VERSION: &'static str = "v1beta2";
const KIND: &'static str = "FlowSchema";
const NAME: &'static str = "flowschemas";
}
impl crate::HasMetadata for FlowSchema {
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 FlowSchema {
type Spec = crate::api::flowcontrol::v1beta2::FlowSchemaSpec;
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 FlowSchema {
type Status = crate::api::flowcontrol::v1beta2::FlowSchemaStatus;
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::HasConditions for FlowSchema {
type Condition = crate::api::flowcontrol::v1beta2::FlowSchemaCondition;
fn conditions(&self) -> Option<&[<Self as crate::HasConditions>::Condition]> {
self.status.as_ref().map(|s| s.conditions.as_slice())
}
fn conditions_mut(&mut self) -> Option<&mut Vec<<Self as crate::HasConditions>::Condition>> {
self.status
.as_mut()
.and_then(|s| Some(s.conditions.as_mut()))
}
}
impl crate::Resource for PriorityLevelConfiguration {
const API_VERSION: &'static str = "flowcontrol.apiserver.k8s.io/v1beta2";
const GROUP: &'static str = "flowcontrol.apiserver.k8s.io";
const VERSION: &'static str = "v1beta2";
const KIND: &'static str = "PriorityLevelConfiguration";
const NAME: &'static str = "prioritylevelconfigurations";
}
impl crate::HasMetadata for PriorityLevelConfiguration {
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 PriorityLevelConfiguration {
type Spec = crate::api::flowcontrol::v1beta2::PriorityLevelConfigurationSpec;
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 PriorityLevelConfiguration {
type Status = crate::api::flowcontrol::v1beta2::PriorityLevelConfigurationStatus;
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::HasConditions for PriorityLevelConfiguration {
type Condition = crate::api::flowcontrol::v1beta2::PriorityLevelConfigurationCondition;
fn conditions(&self) -> Option<&[<Self as crate::HasConditions>::Condition]> {
self.status.as_ref().map(|s| s.conditions.as_slice())
}
fn conditions_mut(&mut self) -> Option<&mut Vec<<Self as crate::HasConditions>::Condition>> {
self.status
.as_mut()
.and_then(|s| Some(s.conditions.as_mut()))
}
}