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: ObjectMeta
Resource metadata
Contains information common to most resources about the Resource, including the object name, annotations, labels and more.
spec: P
The 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 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> UnwindSafe for Object<P, U>where
P: UnwindSafe,
U: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)