Skip to main content

Class: KubeObject<T>

Defined in: lib/k8s/KubeObject.ts:46

Extended by

Type Parameters

Type ParameterDefault type
T extends | KubeObjectInterface | KubeEventany

Constructors

Constructor

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

Defined in: lib/k8s/KubeObject.ts:100

Parameters

ParameterType
jsonT
cluster?string

Returns

KubeObject<T>

Properties

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

Accessors

cluster

Get Signature

get cluster(): string;

Defined in: lib/k8s/KubeObject.ts:105

Returns

string

Set Signature

set cluster(cluster: string): void;

Defined in: lib/k8s/KubeObject.ts:109

Parameters
ParameterType
clusterstring
Returns

void


detailsRoute

Get Signature

get detailsRoute(): string;

Defined in: lib/k8s/KubeObject.ts:117

Returns

string


isNamespaced

Get Signature

get isNamespaced(): boolean;

Defined in: lib/k8s/KubeObject.ts:225

Returns

boolean


isScalable

Get Signature

get isScalable(): boolean;

Defined in: lib/k8s/KubeObject.ts:229

Returns

boolean


kind

Get Signature

get kind(): any;

Defined in: lib/k8s/KubeObject.ts:179

Returns

any


listRoute

Get Signature

get listRoute(): string;

Defined in: lib/k8s/KubeObject.ts:171

Returns

string


metadata

Get Signature

get metadata(): KubeMetadata;

Defined in: lib/k8s/KubeObject.ts:221

Returns

KubeMetadata


pluralName

Get Signature

get pluralName(): string;

Defined in: lib/k8s/KubeObject.ts:166

Returns

string


apiEndpoint

Get Signature

get static apiEndpoint(): 
| ApiClient<KubeObjectInterface>
| ApiWithNamespaceClient<KubeObjectInterface>;

Defined in: lib/k8s/KubeObject.ts:69

Returns

| ApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>

Set Signature

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

Defined in: lib/k8s/KubeObject.ts:96

Parameters
ParameterType
endpoint| ApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>
Returns

void


apiGroupName

Get Signature

get static apiGroupName(): string | undefined;

Defined in: lib/k8s/KubeObject.ts:133

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

string | undefined


className

Get Signature

get static className(): string;

Defined in: lib/k8s/KubeObject.ts:113

Returns

string


detailsRoute

Get Signature

get static detailsRoute(): string;

Defined in: lib/k8s/KubeObject.ts:121

Returns

string


listRoute

Get Signature

get static listRoute(): string;

Defined in: lib/k8s/KubeObject.ts:175

Returns

string


pluralName

Get Signature

get static pluralName(): string;

Defined in: lib/k8s/KubeObject.ts:160

Returns

string

Methods

_class()

_class(): typeof KubeObject;

Defined in: lib/k8s/KubeObject.ts:481

Returns

typeof KubeObject


delete()

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

Defined in: lib/k8s/KubeObject.ts:485

Parameters

ParameterType
force?boolean

Returns

Promise<any>


getAge()

getAge(): string;

Defined in: lib/k8s/KubeObject.ts:213

Returns

string


getAuthorization()

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

Defined in: lib/k8s/KubeObject.ts:633

Parameters

ParameterType
verbstring
reqResourseAttrs?AuthRequestResourceAttrs

Returns

Promise<any>


getCreationTs()

getCreationTs(): string;

Defined in: lib/k8s/KubeObject.ts:209

Returns

string


getDetailsLink(): string;

Defined in: lib/k8s/KubeObject.ts:183

Returns

string


getEditableObject()

getEditableObject(): object;

Defined in: lib/k8s/KubeObject.ts:233

Returns

object


getListLink(): string;

Defined in: lib/k8s/KubeObject.ts:197

Returns

string


getName()

getName(): string;

Defined in: lib/k8s/KubeObject.ts:201

Returns

string


getNamespace()

getNamespace(): string | undefined;

Defined in: lib/k8s/KubeObject.ts:205

Returns

string | undefined


getValue()

getValue(prop: string): any;

Defined in: lib/k8s/KubeObject.ts:217

Parameters

ParameterType
propstring

Returns

any


patch()

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

Defined in: lib/k8s/KubeObject.ts:541

Parameters

ParameterType
bodyRecursivePartial<T>

Returns

Promise<any>


scale()

scale(numReplicas: number): Promise<any>;

Defined in: lib/k8s/KubeObject.ts:512

Parameters

ParameterType
numReplicasnumber

Returns

Promise<any>


update()

update(data: KubeObjectInterface): Promise<KubeObjectInterface>;

Defined in: lib/k8s/KubeObject.ts:504

Parameters

ParameterType
dataKubeObjectInterface

Returns

Promise<KubeObjectInterface>


apiGet()

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

Defined in: lib/k8s/KubeObject.ts:439

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: ApiError | null, cluster?: string) => void
opts?{ cluster?: string; queryParams?: QueryParameters; }
opts.cluster?string
opts.queryParams?QueryParameters

Returns

(...args: any[]) => Promise


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;

Defined in: lib/k8s/KubeObject.ts:263

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

The API endpoint for this object.

(...args: any[]) => Promise


create()

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

Defined in: lib/k8s/KubeObject.ts:432

Type Parameters

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

Parameters

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

Returns

T


fetchAuthorization()

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

Defined in: lib/k8s/KubeObject.ts:558

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.


getAuthorization()

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

Defined in: lib/k8s/KubeObject.ts:586

Parameters

ParameterType
verbstring
reqResourseAttrs?AuthRequestResourceAttrs
cluster?string

Returns

Promise<any>


getBaseObject()

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

Defined in: lib/k8s/KubeObject.ts:677

Returns

Omit<KubeObjectInterface, "metadata"> & object


getErrorMessage()

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

Defined in: lib/k8s/KubeObject.ts:662

Parameters

ParameterType
errApiError | null

Returns

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


isClassOf()

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

Defined in: lib/k8s/KubeObject.ts:151

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-
maybeInstanceKubeObjectThe KubeObject instance to check.

Returns

maybeInstance is InstanceType<K>

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


put()

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

Defined in: lib/k8s/KubeObject.ts:508

Parameters

ParameterType
dataKubeObjectInterface

Returns

Promise<KubeObjectInterface>


useApiGet()

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

Defined in: lib/k8s/KubeObject.ts:464

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

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

Returns

void


useApiList()

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

Defined in: lib/k8s/KubeObject.ts:296

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


useGet()

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

Defined in: lib/k8s/KubeObject.ts:414

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

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

Returns

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


useList()

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

Defined in: lib/k8s/KubeObject.ts:365

Type Parameters

Type Parameter
K extends KubeObject<any>

Parameters

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

Returns

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