#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CertificateSigningRequest {
#[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<CertificateSigningRequestSpec>,
#[prost(message, optional, tag="3")]
pub status: ::core::option::Option<CertificateSigningRequestStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CertificateSigningRequestCondition {
#[prost(string, optional, tag="1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="4")]
pub last_update_time: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
#[prost(message, optional, tag="5")]
pub last_transition_time: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CertificateSigningRequestList {
#[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<CertificateSigningRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CertificateSigningRequestSpec {
#[prost(bytes="vec", optional, tag="1")]
pub request: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
#[prost(string, optional, tag="7")]
pub signer_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag="8")]
pub expiration_seconds: ::core::option::Option<i32>,
#[prost(string, repeated, tag="5")]
pub usages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub username: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub uid: ::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="6")]
pub extra: ::std::collections::HashMap<::prost::alloc::string::String, ExtraValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CertificateSigningRequestStatus {
#[prost(message, repeated, tag="1")]
pub conditions: ::prost::alloc::vec::Vec<CertificateSigningRequestCondition>,
#[prost(bytes="vec", optional, tag="2")]
pub certificate: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtraValue {
#[prost(string, repeated, tag="1")]
pub items: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl crate::Resource for CertificateSigningRequest {
const API_VERSION: &'static str = "certificates.k8s.io/v1";
const GROUP: &'static str = "certificates.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "CertificateSigningRequest";
const NAME: &'static str = "certificatesigningrequests";
}
impl crate::HasMetadata for CertificateSigningRequest {
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 CertificateSigningRequest {
type Spec = crate::api::certificates::v1::CertificateSigningRequestSpec;
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 CertificateSigningRequest {
type Status = crate::api::certificates::v1::CertificateSigningRequestStatus;
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 CertificateSigningRequest {
type Condition = crate::api::certificates::v1::CertificateSigningRequestCondition;
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()))
}
}