Skip to main content

Class: KubeObject<T>

Extended by

Type Parameters

Type ParameterDefault type
T extends KubeObjectInterface | KubeEventany

Constructors

new KubeObject()

new KubeObject<T>(json: T, cluster?: string): KubeObject<T>

Parameters

ParameterType
jsonT
cluster?string

Returns

KubeObject<T>

Defined in

src/lib/k8s/KubeObject.ts:100

Properties

PropertyModifierTypeDefault valueDescriptionDefined in
_clusterNamepublicstringundefined-src/lib/k8s/KubeObject.ts:50
jsonDatapublicTundefined-src/lib/k8s/KubeObject.ts:47
_internalApiEndpoint?staticApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>undefined-src/lib/k8s/KubeObject.ts:67
apiNamereadonlystringundefinedName of the resource, plural, used in APIsrc/lib/k8s/KubeObject.ts:56
apiVersionreadonlystring | string[]undefinedGroup and version of the resource formatted as "GROUP/VERSION", e.g. "policy.k8s.io/v1".src/lib/k8s/KubeObject.ts:59
isNamespacedreadonlybooleanundefinedWhether the object is namespaced.src/lib/k8s/KubeObject.ts:62
isScalablereadonlybooleanundefinedWhether the object is scalable, and should have a ScaleButtonsrc/lib/k8s/KubeObject.ts:65
kindreadonlystringundefinedThe kind of the object. Corresponding to the resource kind in Kubernetes.src/lib/k8s/KubeObject.ts:53
readOnlyFieldsstaticstring[][]Readonly field defined as JSONPath pathssrc/lib/k8s/KubeObject.ts:49

Accessors

cluster

get cluster(): string
set cluster(cluster: string): void

Parameters

ParameterType
clusterstring

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:105


detailsRoute

get detailsRoute(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:117


isNamespaced

get isNamespaced(): boolean

Returns

boolean

Defined in

src/lib/k8s/KubeObject.ts:225


isScalable

get isScalable(): boolean

Returns

boolean

Defined in

src/lib/k8s/KubeObject.ts:229


kind

get kind(): any

Returns

any

Defined in

src/lib/k8s/KubeObject.ts:179


listRoute

get listRoute(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:171


metadata

get metadata(): KubeMetadata

Returns

KubeMetadata

Defined in

src/lib/k8s/KubeObject.ts:221


pluralName

get pluralName(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:166


apiEndpoint

get static apiEndpoint(): ApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>
set static apiEndpoint(endpoint: ApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>): void

Parameters

ParameterType
endpointApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>

Returns

ApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>

Defined in

src/lib/k8s/KubeObject.ts:69


apiGroupName

get static apiGroupName(): undefined | string

Get name of the API group of this resource for example will return batch for CronJob

For core group, like Pods, it will return undefined

API group reference https://kubernetes.io/docs/reference/using-api/#api-groups

Returns

undefined | string

Defined in

src/lib/k8s/KubeObject.ts:133


className

get static className(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:113


detailsRoute

get static detailsRoute(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:121


listRoute

get static listRoute(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:175


pluralName

get static pluralName(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:160

Methods

_class()

_class(): typeof KubeObject

Returns

typeof KubeObject

Defined in

src/lib/k8s/KubeObject.ts:481


delete()

delete(force?: boolean): Promise<any>

Parameters

ParameterType
force?boolean

Returns

Promise<any>

Defined in

src/lib/k8s/KubeObject.ts:485


getAge()

getAge(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:213


getAuthorization()

getAuthorization(verb: string, reqResourseAttrs?: AuthRequestResourceAttrs): Promise<any>

Parameters

ParameterType
verbstring
reqResourseAttrs?AuthRequestResourceAttrs

Returns

Promise<any>

Defined in

src/lib/k8s/KubeObject.ts:631


getCreationTs()

getCreationTs(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:209


getDetailsLink(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:183


getEditableObject()

getEditableObject(): object

Returns

object

Defined in

src/lib/k8s/KubeObject.ts:233


getListLink(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:197


getName()

getName(): string

Returns

string

Defined in

src/lib/k8s/KubeObject.ts:201


getNamespace()

getNamespace(): undefined | string

Returns

undefined | string

Defined in

src/lib/k8s/KubeObject.ts:205


getValue()

getValue(prop: string): any

Parameters

ParameterType
propstring

Returns

any

Defined in

src/lib/k8s/KubeObject.ts:217


patch()

patch(body: RecursivePartial<T>): Promise<any>

Parameters

ParameterType
bodyRecursivePartial<T>

Returns

Promise<any>

Defined in

src/lib/k8s/KubeObject.ts:539


scale()

scale(numReplicas: number): Promise<any>

Parameters

ParameterType
numReplicasnumber

Returns

Promise<any>

Defined in

src/lib/k8s/KubeObject.ts:510


update()

update(data: KubeObjectInterface): Promise<KubeObjectInterface>

Parameters

ParameterType
dataKubeObjectInterface

Returns

Promise<KubeObjectInterface>

Defined in

src/lib/k8s/KubeObject.ts:502


apiGet()

static apiGet<K>(
this: (...args: any) => K & typeof KubeObject,
onGet: (...args: any) => void,
name: string,
namespace?: string,
onError?: (err: null | ApiError, cluster?: string) => void,
opts?: object): (...args: any[]) => Promise<CancelFunction>

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

ParameterType
this(...args: any) => K & typeof KubeObject
onGet(...args: any) => void
namestring
namespace?string
onError?(err: null | ApiError, cluster?: string) => void
opts?object
opts.cluster?string
opts.queryParams?QueryParameters

Returns

Function

Parameters
ParameterType
...argsany[]
Returns

Promise<CancelFunction>

Defined in

src/lib/k8s/KubeObject.ts:439


apiList()

static apiList<K>(
this: (...args: any) => K & typeof KubeObject,
onList: (arg: K[]) => void,
onError?: (err: ApiError, cluster?: string) => void,
opts?: ApiListSingleNamespaceOptions): (...args: any[]) => Promise<CancelFunction>

Returns the API endpoint for this object.

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

ParameterTypeDescription
this(...args: any) => K & typeof KubeObject-
onList(arg: K[]) => voidCallback function to be called when the list is retrieved.
onError?(err: ApiError, cluster?: string) => voidCallback function to be called when an error occurs.
opts?ApiListSingleNamespaceOptionsOptions to be passed to the API endpoint.

Returns

Function

The API endpoint for this object.

Parameters
ParameterType
...argsany[]
Returns

Promise<CancelFunction>

Defined in

src/lib/k8s/KubeObject.ts:263


create()

static create<Args, T>(this: (...args: Args) => T, ...item: Args): T

Type Parameters

Type Parameter
Args extends any[]
T extends KubeObject<any>

Parameters

ParameterType
this(...args: Args) => T
...itemArgs

Returns

T

Defined in

src/lib/k8s/KubeObject.ts:432


fetchAuthorization()

static fetchAuthorization(reqResourseAttrs?: AuthRequestResourceAttrs, cluster?: string): Promise<any>

Performs a request to check if the user has the given permission.

Parameters

ParameterType
reqResourseAttrs?AuthRequestResourceAttrs
cluster?string

Returns

Promise<any>

The result of the access request.

Defined in

src/lib/k8s/KubeObject.ts:556


getAuthorization()

static getAuthorization(
verb: string,
reqResourseAttrs?: AuthRequestResourceAttrs,
cluster?: string): Promise<any>

Parameters

ParameterType
verbstring
reqResourseAttrs?AuthRequestResourceAttrs
cluster?string

Returns

Promise<any>

Defined in

src/lib/k8s/KubeObject.ts:584


getBaseObject()

static getBaseObject(): Omit<KubeObjectInterface, "metadata"> & object

Returns

Omit<KubeObjectInterface, "metadata"> & object

Defined in

src/lib/k8s/KubeObject.ts:675


getErrorMessage()

static getErrorMessage(err: null | ApiError): null | "Error: Not found" | "Error: No permissions" | "Error"

Parameters

ParameterType
errnull | ApiError

Returns

null | "Error: Not found" | "Error: No permissions" | "Error"

Defined in

src/lib/k8s/KubeObject.ts:660


isClassOf()

static isClassOf<K>(this: K, maybeInstance: KubeObject<any>): maybeInstance is InstanceType<K>

Type guard to check if a KubeObject instance belongs to this class. Compares API group name and kind to determine if the instance matches. This works even if class definitions are duplicated and should be used instead of instanceof.

Type Parameters

Type Parameter
K extends typeof KubeObject

Parameters

ParameterTypeDescription
thisK-
maybeInstanceKubeObject<any>The KubeObject instance to check.

Returns

maybeInstance is InstanceType<K>

True if the instance is of this class type, with narrowed type.

Defined in

src/lib/k8s/KubeObject.ts:151


put()

static put(data: KubeObjectInterface): Promise<KubeObjectInterface>

Parameters

ParameterType
dataKubeObjectInterface

Returns

Promise<KubeObjectInterface>

Defined in

src/lib/k8s/KubeObject.ts:506


useApiGet()

static useApiGet<K>(
this: (...args: any) => K & typeof KubeObject,
onGet: (item: null | K) => any,
name: string,
namespace?: string,
onError?: (err: null | ApiError, cluster?: string) => void,
opts?: object): void

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

ParameterType
this(...args: any) => K & typeof KubeObject
onGet(item: null | K) => any
namestring
namespace?string
onError?(err: null | ApiError, cluster?: string) => void
opts?object
opts.cluster?string
opts.queryParams?QueryParameters

Returns

void

Defined in

src/lib/k8s/KubeObject.ts:464


useApiList()

static useApiList<K>(
this: (...args: any) => K & typeof KubeObject,
onList: (...arg: any[]) => any,
onError?: (err: ApiError, cluster?: string) => void,
opts?: ApiListOptions): void

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

ParameterType
this(...args: any) => K & typeof KubeObject
onList(...arg: any[]) => any
onError?(err: ApiError, cluster?: string) => void
opts?ApiListOptions

Returns

void

Defined in

src/lib/k8s/KubeObject.ts:296


useGet()

static useGet<K>(
this: (...args: any) => K,
name: string,
namespace?: string,
opts?: object): [null | K, null | ApiError] & QueryResponse<K, ApiError>

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

ParameterType
this(...args: any) => K
namestring
namespace?string
opts?object
opts.cluster?string
opts.queryParams?QueryParameters

Returns

[null | K, null | ApiError] & QueryResponse<K, ApiError>

Defined in

src/lib/k8s/KubeObject.ts:414


useList()

static useList<K>(this: (...args: any) => K & typeof KubeObject, __namedParameters: object & QueryParameters): [null | K[], null | ApiError] & QueryListResponse<(undefined | null | ListResponse<K>)[], K, ApiError>

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

ParameterType
this(...args: any) => K & typeof KubeObject
__namedParametersobject & QueryParameters

Returns

[null | K[], null | ApiError] & QueryListResponse<(undefined | null | ListResponse<K>)[], K, ApiError>

Defined in

src/lib/k8s/KubeObject.ts:365