K8sObject

trait K8sObject[T]

Common operations for every Kubernetes resource's object

Type Params
T

Kubernetes resource type

Companion
object
class Object
trait Matchable
class Any

Value members

Abstract methods

def mapMetadata(f: ObjectMeta => ObjectMeta)(r: T): T

Maps the metadata of the object, constructing a new object with the modified metadata

Maps the metadata of the object, constructing a new object with the modified metadata

Value Params
f

Function returning the modified metadata

Gets the metadata of the object

Gets the metadata of the object

Concrete methods

def attachOwner(obj: T)(ownerName: String, ownerUid: String, ownerType: K8sResourceType): T

Attach another Kubernetes resource as the owner of the given one

Attach another Kubernetes resource as the owner of the given one

Value Params
obj

Object to attach the owner to

ownerName

Owner's name

ownerType

Owner's resource type

ownerUid

Owner's UID

Returns

The modified object with the attached owner

def generation(obj: T): Long

Gets the generation of the object stored in its metadata or 0 if it is not present (the resource was not uploaded yet)

Gets the generation of the object stored in its metadata or 0 if it is not present (the resource was not uploaded yet)

def getMetadata(obj: T): IO[K8sFailure, ObjectMeta]

Gets the metadata of the object or fails with UndefinedField if it is not present.

Gets the metadata of the object or fails with UndefinedField if it is not present.

def getName(obj: T): IO[K8sFailure, String]

Gets the name stored in the metadata of the object or fails with UndefinedField if it is not present.

Gets the name stored in the metadata of the object or fails with UndefinedField if it is not present.

def getUid(obj: T): IO[K8sFailure, String]

Gets the UID stored in the metadata of the object or fails with UndefinedField if it is not present.

Gets the UID stored in the metadata of the object or fails with UndefinedField if it is not present.

def isOwnedBy[OwnerT](obj: T)(owner: OwnerT)(implicit evidence$3: K8sObject[OwnerT], evidence$4: ResourceMetadata[OwnerT]): Boolean

Check if a resource is owned by an other one

Check if a resource is owned by an other one

Type Params
OwnerT

Owner resource type

Value Params
obj

Owned resource object to check

owner

Owner

Returns

True if owner owns obj

def tryAttachOwner[OwnerT](obj: T)(owner: OwnerT)(implicit evidence$1: K8sObject[OwnerT], evidence$2: ResourceMetadata[OwnerT]): IO[K8sFailure, T]

Try to attachOwner another Kubernetes resource as the owner of the given one, can fail with UndefinedField if some of the metadata fields are not present.

Try to attachOwner another Kubernetes resource as the owner of the given one, can fail with UndefinedField if some of the metadata fields are not present.