pub struct Object<P, U>{
pub types: Option<TypeMeta>,
pub metadata: ObjectMeta,
pub spec: P,
pub status: Option<U>,
}Expand description
A standard Kubernetes object with .spec and .status.
This is a convenience struct provided for serialization/deserialization. It is slightly stricter than [’DynamicObject`] in that it enforces the spec/status convention, and as such will not in general work with all api-discovered resources.
This can be used to tie existing resources to smaller, local struct variants to optimize for memory use. E.g. if you are only interested in a few fields, but you store tons of them in memory with reflectors.
Fields§
§types: Option<TypeMeta>The type fields, not always present
metadata: ObjectMetaResource metadata
Contains information common to most resources about the Resource, including the object name, annotations, labels and more.
spec: PThe Spec struct of a resource. I.e. PodSpec, DeploymentSpec, etc.
This defines the desired state of the Resource as specified by the user.
status: Option<U>The Status of a resource. I.e. PodStatus, DeploymentStatus, etc.
This publishes the state of the Resource as observed by the controller.
Use U = NotUsed when a status does not exist.
Implementations§
Trait Implementations§
Source§impl<'de, P, U> Deserialize<'de> for Object<P, U>
impl<'de, P, U> Deserialize<'de> for Object<P, U>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<P, U> Resource for Object<P, U>
impl<P, U> Resource for Object<P, U>
Source§type DynamicType = ApiResource
type DynamicType = ApiResource
Source§type Scope = DynamicResourceScope
type Scope = DynamicResourceScope
Source§fn api_version(dt: &ApiResource) -> Cow<'_, str>
fn api_version(dt: &ApiResource) -> Cow<'_, str>
Source§fn meta(&self) -> &ObjectMeta
fn meta(&self) -> &ObjectMeta
Source§fn meta_mut(&mut self) -> &mut ObjectMeta
fn meta_mut(&mut self) -> &mut ObjectMeta
Source§fn metadata_api() -> bool
fn metadata_api() -> bool
Source§fn url_path(dt: &Self::DynamicType, namespace: Option<&str>) -> String
fn url_path(dt: &Self::DynamicType, namespace: Option<&str>) -> String
Source§fn object_ref(&self, dt: &Self::DynamicType) -> ObjectReference
fn object_ref(&self, dt: &Self::DynamicType) -> ObjectReference
Source§fn controller_owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>
fn controller_owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>
Source§fn owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>
fn owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>
Auto Trait Implementations§
impl<P, U> Freeze for Object<P, U>
impl<P, U> RefUnwindSafe for Object<P, U>where
P: RefUnwindSafe,
U: RefUnwindSafe,
impl<P, U> Send for Object<P, U>
impl<P, U> Sync for Object<P, U>
impl<P, U> Unpin for Object<P, U>
impl<P, U> UnsafeUnpin for Object<P, U>where
P: UnsafeUnpin,
U: UnsafeUnpin,
impl<P, U> UnwindSafe for Object<P, U>where
P: UnwindSafe,
U: UnwindSafe,
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer