pub struct Object<P, U> where
P: Clone,
U: Clone, {
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
sourceimpl<'de, P, U> Deserialize<'de> for Object<P, U> where
P: Clone,
U: Clone,
P: Deserialize<'de>,
U: Deserialize<'de>,
U: Default,
impl<'de, P, U> Deserialize<'de> for Object<P, U> where
P: Clone,
U: Clone,
P: Deserialize<'de>,
U: Deserialize<'de>,
U: Default,
sourcefn 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>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<P, U> Resource for Object<P, U> where
P: Clone,
U: Clone,
impl<P, U> Resource for Object<P, U> where
P: Clone,
U: Clone,
type DynamicType = ApiResource
type DynamicType = ApiResource
Type information for types that do not know their resource information at compile time. Read more
sourcefn group(dt: &ApiResource) -> Cow<'_, str>
fn group(dt: &ApiResource) -> Cow<'_, str>
Returns group of this object
sourcefn version(dt: &ApiResource) -> Cow<'_, str>
fn version(dt: &ApiResource) -> Cow<'_, str>
Returns version of this object
sourcefn kind(dt: &ApiResource) -> Cow<'_, str>
fn kind(dt: &ApiResource) -> Cow<'_, str>
Returns kind of this object
sourcefn api_version(dt: &ApiResource) -> Cow<'_, str>
fn api_version(dt: &ApiResource) -> Cow<'_, str>
Returns apiVersion of this object
sourcefn meta(&self) -> &ObjectMeta
fn meta(&self) -> &ObjectMeta
Metadata that all persisted resources must have
sourcefn meta_mut(&mut self) -> &mut ObjectMeta
fn meta_mut(&mut self) -> &mut ObjectMeta
Metadata that all persisted resources must have
sourcefn url_path(dt: &Self::DynamicType, namespace: Option<&str>) -> String
fn url_path(dt: &Self::DynamicType, namespace: Option<&str>) -> String
Creates a url path for http requests for this resource
sourcefn object_ref(&self, dt: &Self::DynamicType) -> ObjectReference
fn object_ref(&self, dt: &Self::DynamicType) -> ObjectReference
Generates an object reference for the resource
sourcefn controller_owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>
fn controller_owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>
Generates a controller owner reference pointing to this resource Read more
Auto Trait Implementations
impl<P, U> RefUnwindSafe for Object<P, U> where
P: RefUnwindSafe,
U: RefUnwindSafe,
impl<P, U> Send for Object<P, U> where
P: Send,
U: Send,
impl<P, U> Sync for Object<P, U> where
P: Sync,
U: Sync,
impl<P, U> Unpin for Object<P, U> where
P: Unpin,
U: Unpin,
impl<P, U> UnwindSafe for Object<P, U> where
P: UnwindSafe,
U: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more