#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Endpoint {
#[prost(string, repeated, tag = "1")]
pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub conditions: ::core::option::Option<EndpointConditions>,
#[prost(string, optional, tag = "3")]
pub hostname: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub target_ref: ::core::option::Option<super::super::core::v1::ObjectReference>,
#[prost(btree_map = "string, string", tag = "5")]
pub deprecated_topology:
::prost::alloc::collections::BTreeMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub node_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub zone: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "8")]
pub hints: ::core::option::Option<EndpointHints>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EndpointConditions {
#[prost(bool, optional, tag = "1")]
pub ready: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "2")]
pub serving: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "3")]
pub terminating: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndpointHints {
#[prost(message, repeated, tag = "1")]
pub for_zones: ::prost::alloc::vec::Vec<ForZone>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndpointPort {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub protocol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "3")]
pub port: ::core::option::Option<i32>,
#[prost(string, optional, tag = "4")]
pub app_protocol: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndpointSlice {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(string, optional, tag = "4")]
pub address_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub endpoints: ::prost::alloc::vec::Vec<Endpoint>,
#[prost(message, repeated, tag = "3")]
pub ports: ::prost::alloc::vec::Vec<EndpointPort>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndpointSliceList {
#[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<EndpointSlice>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ForZone {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
}
impl crate::Resource for EndpointSlice {
const API_VERSION: &'static str = "discovery.k8s.io/v1";
const GROUP: &'static str = "discovery.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "EndpointSlice";
const URL_PATH_SEGMENT: &'static str = "endpointslices";
type Scope = crate::NamespaceResourceScope;
}
impl crate::Metadata for EndpointSlice {
type Ty = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::Metadata>::Ty> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::Metadata>::Ty> {
self.metadata.as_mut()
}
}