Struct kube_core::object::Object [−][src]
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
impl<'de, P, U> Deserialize<'de> for Object<P, U> where
P: Clone,
U: Clone,
P: Deserialize<'de>,
U: Deserialize<'de>,
U: Default,
[src]
impl<'de, P, U> Deserialize<'de> for Object<P, U> where
P: Clone,
U: Clone,
P: Deserialize<'de>,
U: Deserialize<'de>,
U: Default,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl<P, U> Resource for Object<P, U> where
P: Clone,
U: Clone,
[src]
impl<P, U> Resource for Object<P, U> where
P: Clone,
U: Clone,
[src]type DynamicType = ApiResource
type DynamicType = ApiResource
Type information for types that do not know their resource information at compile time. Read more
fn group(dt: &ApiResource) -> Cow<'_, str>
[src]
fn group(dt: &ApiResource) -> Cow<'_, str>
[src]Returns group of this object
fn version(dt: &ApiResource) -> Cow<'_, str>
[src]
fn version(dt: &ApiResource) -> Cow<'_, str>
[src]Returns version of this object
fn kind(dt: &ApiResource) -> Cow<'_, str>
[src]
fn kind(dt: &ApiResource) -> Cow<'_, str>
[src]Returns kind of this object
fn api_version(dt: &ApiResource) -> Cow<'_, str>
[src]
fn api_version(dt: &ApiResource) -> Cow<'_, str>
[src]Returns apiVersion of this object
fn meta(&self) -> &ObjectMeta
[src]
fn meta(&self) -> &ObjectMeta
[src]Metadata that all persisted resources must have
fn meta_mut(&mut self) -> &mut ObjectMeta
[src]
fn meta_mut(&mut self) -> &mut ObjectMeta
[src]Metadata that all persisted resources must have
Auto Trait Implementations
impl<P, U> RefUnwindSafe for Object<P, U> where
P: RefUnwindSafe,
U: RefUnwindSafe,
P: RefUnwindSafe,
U: RefUnwindSafe,
impl<P, U> Send for Object<P, U> where
P: Send,
U: Send,
P: Send,
U: Send,
impl<P, U> Sync for Object<P, U> where
P: Sync,
U: Sync,
P: Sync,
U: Sync,
impl<P, U> Unpin for Object<P, U> where
P: Unpin,
U: Unpin,
P: Unpin,
U: Unpin,
impl<P, U> UnwindSafe for Object<P, U> where
P: UnwindSafe,
U: UnwindSafe,
P: UnwindSafe,
U: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,