#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpIngressPath {
#[prost(string, optional, tag = "1")]
pub path: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub path_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub backend: ::core::option::Option<IngressBackend>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpIngressRuleValue {
#[prost(message, repeated, tag = "1")]
pub paths: ::prost::alloc::vec::Vec<HttpIngressPath>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IpBlock {
#[prost(string, optional, tag = "1")]
pub cidr: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub except: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ingress {
#[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<IngressSpec>,
#[prost(message, optional, tag = "3")]
pub status: ::core::option::Option<IngressStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressBackend {
#[prost(message, optional, tag = "4")]
pub service: ::core::option::Option<IngressServiceBackend>,
#[prost(message, optional, tag = "3")]
pub resource: ::core::option::Option<super::super::core::v1::TypedLocalObjectReference>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressClass {
#[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<IngressClassSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressClassList {
#[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<IngressClass>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressClassParametersReference {
#[prost(string, optional, tag = "1")]
pub a_pi_group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub kind: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub scope: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub namespace: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressClassSpec {
#[prost(string, optional, tag = "1")]
pub controller: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub parameters: ::core::option::Option<IngressClassParametersReference>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressList {
#[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<Ingress>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressLoadBalancerIngress {
#[prost(string, optional, tag = "1")]
pub ip: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub hostname: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub ports: ::prost::alloc::vec::Vec<IngressPortStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressLoadBalancerStatus {
#[prost(message, repeated, tag = "1")]
pub ingress: ::prost::alloc::vec::Vec<IngressLoadBalancerIngress>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressPortStatus {
#[prost(int32, optional, tag = "1")]
pub port: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub protocol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub error: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressRule {
#[prost(string, optional, tag = "1")]
pub host: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub ingress_rule_value: ::core::option::Option<IngressRuleValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressRuleValue {
#[prost(message, optional, tag = "1")]
pub http: ::core::option::Option<HttpIngressRuleValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressServiceBackend {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub port: ::core::option::Option<ServiceBackendPort>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressSpec {
#[prost(string, optional, tag = "4")]
pub ingress_class_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "1")]
pub default_backend: ::core::option::Option<IngressBackend>,
#[prost(message, repeated, tag = "2")]
pub tls: ::prost::alloc::vec::Vec<IngressTls>,
#[prost(message, repeated, tag = "3")]
pub rules: ::prost::alloc::vec::Vec<IngressRule>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressStatus {
#[prost(message, optional, tag = "1")]
pub load_balancer: ::core::option::Option<IngressLoadBalancerStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressTls {
#[prost(string, repeated, tag = "1")]
pub hosts: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub secret_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkPolicy {
#[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<NetworkPolicySpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkPolicyEgressRule {
#[prost(message, repeated, tag = "1")]
pub ports: ::prost::alloc::vec::Vec<NetworkPolicyPort>,
#[prost(message, repeated, tag = "2")]
pub to: ::prost::alloc::vec::Vec<NetworkPolicyPeer>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkPolicyIngressRule {
#[prost(message, repeated, tag = "1")]
pub ports: ::prost::alloc::vec::Vec<NetworkPolicyPort>,
#[prost(message, repeated, tag = "2")]
pub from: ::prost::alloc::vec::Vec<NetworkPolicyPeer>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkPolicyList {
#[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<NetworkPolicy>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkPolicyPeer {
#[prost(message, optional, tag = "1")]
pub pod_selector:
::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
#[prost(message, optional, tag = "2")]
pub namespace_selector:
::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
#[prost(message, optional, tag = "3")]
pub ip_block: ::core::option::Option<IpBlock>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkPolicyPort {
#[prost(string, optional, tag = "1")]
pub protocol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub port: ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
#[prost(int32, optional, tag = "3")]
pub end_port: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkPolicySpec {
#[prost(message, optional, tag = "1")]
pub pod_selector:
::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
#[prost(message, repeated, tag = "2")]
pub ingress: ::prost::alloc::vec::Vec<NetworkPolicyIngressRule>,
#[prost(message, repeated, tag = "3")]
pub egress: ::prost::alloc::vec::Vec<NetworkPolicyEgressRule>,
#[prost(string, repeated, tag = "4")]
pub policy_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceBackendPort {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "2")]
pub number: ::core::option::Option<i32>,
}
impl crate::Resource for Ingress {
const API_VERSION: &'static str = "networking.k8s.io/v1";
const GROUP: &'static str = "networking.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "Ingress";
const URL_PATH_SEGMENT: &'static str = "ingresses";
type Scope = crate::NamespaceResourceScope;
}
impl crate::Metadata for Ingress {
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()
}
}
impl crate::HasSpec for Ingress {
type Spec = crate::api::networking::v1::IngressSpec;
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 Ingress {
type Status = crate::api::networking::v1::IngressStatus;
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 IngressClass {
const API_VERSION: &'static str = "networking.k8s.io/v1";
const GROUP: &'static str = "networking.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "IngressClass";
const URL_PATH_SEGMENT: &'static str = "ingressclasses";
type Scope = crate::ClusterResourceScope;
}
impl crate::Metadata for IngressClass {
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()
}
}
impl crate::HasSpec for IngressClass {
type Spec = crate::api::networking::v1::IngressClassSpec;
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::Resource for NetworkPolicy {
const API_VERSION: &'static str = "networking.k8s.io/v1";
const GROUP: &'static str = "networking.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "NetworkPolicy";
const URL_PATH_SEGMENT: &'static str = "networkpolicies";
type Scope = crate::NamespaceResourceScope;
}
impl crate::Metadata for NetworkPolicy {
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()
}
}
impl crate::HasSpec for NetworkPolicy {
type Spec = crate::api::networking::v1::NetworkPolicySpec;
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()
}
}