Skip to main content

Class: CustomResourceDefinition

Extends

Constructors

new CustomResourceDefinition()

new CustomResourceDefinition(json: KubeCRD, cluster?: string): CustomResourceDefinition

Parameters

ParameterType
jsonKubeCRD
cluster?string

Returns

CustomResourceDefinition

Inherited from

KubeObject.constructor

Defined in

src/lib/k8s/KubeObject.ts:100

Properties

PropertyModifierTypeDefault valueDescriptionOverridesInherited fromDefined in
_clusterNamepublicstringundefined--KubeObject._clusterNamesrc/lib/k8s/KubeObject.ts:50
jsonDatapublicKubeCRDundefined--KubeObject.jsonDatasrc/lib/k8s/KubeObject.ts:47
_internalApiEndpoint?staticApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>undefined--KubeObject._internalApiEndpointsrc/lib/k8s/KubeObject.ts:67
apiNamestaticstring'customresourcedefinitions'Name of the resource, plural, used in APIKubeObject.apiName-src/lib/k8s/crd.ts:69
apiVersionstaticstring[]undefinedGroup and version of the resource formatted as "GROUP/VERSION", e.g. "policy.k8s.io/v1".KubeObject.apiVersion-src/lib/k8s/crd.ts:70
isNamespacedstaticbooleanfalseWhether the object is namespaced.KubeObject.isNamespaced-src/lib/k8s/crd.ts:71
isScalablereadonlybooleanundefinedWhether the object is scalable, and should have a ScaleButton-KubeObject.isScalablesrc/lib/k8s/KubeObject.ts:65
kindstaticstring'CustomResourceDefinition'The kind of the object. Corresponding to the resource kind in Kubernetes.KubeObject.kind-src/lib/k8s/crd.ts:68
readOnlyFieldsstaticstring[]undefinedReadonly field defined as JSONPath pathsKubeObject.readOnlyFields-src/lib/k8s/crd.ts:73

Accessors

cluster

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

Parameters

ParameterType
clusterstring

Returns

string

Inherited from

KubeObject.cluster

Defined in

src/lib/k8s/KubeObject.ts:105


detailsRoute

get detailsRoute(): string

Returns

string

Inherited from

KubeObject.detailsRoute

Defined in

src/lib/k8s/KubeObject.ts:117


isNamespaced

get isNamespaced(): boolean

Returns

boolean

Inherited from

KubeObject.isNamespaced

Defined in

src/lib/k8s/KubeObject.ts:225


isNamespacedScope

get isNamespacedScope(): boolean

Returns

boolean

Defined in

src/lib/k8s/crd.ts:116


isScalable

get isScalable(): boolean

Returns

boolean

Inherited from

KubeObject.isScalable

Defined in

src/lib/k8s/KubeObject.ts:229


kind

get kind(): any

Returns

any

Inherited from

KubeObject.kind

Defined in

src/lib/k8s/KubeObject.ts:179


listRoute

get listRoute(): string

Returns

string

Inherited from

KubeObject.listRoute

Defined in

src/lib/k8s/KubeObject.ts:171


metadata

get metadata(): KubeMetadata

Returns

KubeMetadata

Inherited from

KubeObject.metadata

Defined in

src/lib/k8s/KubeObject.ts:221


plural

get plural(): string

Returns

string

Defined in

src/lib/k8s/crd.ts:91


pluralName

get pluralName(): string

Returns

string

Inherited from

KubeObject.pluralName

Defined in

src/lib/k8s/KubeObject.ts:166


spec

get spec(): object

Returns

object

group
group: string;
names
names: object;
names.categories?
optional categories: string[];
names.kind
kind: string;
names.listKind
listKind: string;
names.plural
plural: string;
names.singular
singular: string;
scope
scope: string;
version
version: string;
versions
versions: object[];

Defined in

src/lib/k8s/crd.ts:83


status

get status(): undefined | object

Returns

undefined | object

Defined in

src/lib/k8s/crd.ts:87


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>

Inherited from

KubeObject.apiEndpoint

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

Inherited from

KubeObject.apiGroupName

Defined in

src/lib/k8s/KubeObject.ts:133


className

get static className(): string

Returns

string

Inherited from

KubeObject.className

Defined in

src/lib/k8s/KubeObject.ts:113


detailsRoute

get static detailsRoute(): string

Returns

string

Overrides

KubeObject.detailsRoute

Defined in

src/lib/k8s/crd.ts:79


listRoute

get static listRoute(): string

Returns

string

Overrides

KubeObject.listRoute

Defined in

src/lib/k8s/crd.ts:75


pluralName

get static pluralName(): string

Returns

string

Inherited from

KubeObject.pluralName

Defined in

src/lib/k8s/KubeObject.ts:160

Methods

_class()

_class(): typeof KubeObject

Returns

typeof KubeObject

Inherited from

KubeObject._class

Defined in

src/lib/k8s/KubeObject.ts:481


delete()

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

Parameters

ParameterType
force?boolean

Returns

Promise<any>

Inherited from

KubeObject.delete

Defined in

src/lib/k8s/KubeObject.ts:485


getAge()

getAge(): string

Returns

string

Inherited from

KubeObject.getAge

Defined in

src/lib/k8s/KubeObject.ts:213


getAuthorization()

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

Parameters

ParameterType
verbstring
reqResourseAttrs?AuthRequestResourceAttrs

Returns

Promise<any>

Inherited from

KubeObject.getAuthorization

Defined in

src/lib/k8s/KubeObject.ts:631


getCategories()

getCategories(): string[]

Returns

string[]

Defined in

src/lib/k8s/crd.ts:135


getCreationTs()

getCreationTs(): string

Returns

string

Inherited from

KubeObject.getCreationTs

Defined in

src/lib/k8s/KubeObject.ts:209


getDetailsLink(): string

Returns

string

Inherited from

KubeObject.getDetailsLink

Defined in

src/lib/k8s/KubeObject.ts:183


getEditableObject()

getEditableObject(): object

Returns

object

Inherited from

KubeObject.getEditableObject

Defined in

src/lib/k8s/KubeObject.ts:233


getListLink(): string

Returns

string

Inherited from

KubeObject.getListLink

Defined in

src/lib/k8s/KubeObject.ts:197


getMainAPIGroup()

getMainAPIGroup(): [string, string, string]

Returns

[string, string, string]

Defined in

src/lib/k8s/crd.ts:95


getName()

getName(): string

Returns

string

Inherited from

KubeObject.getName

Defined in

src/lib/k8s/KubeObject.ts:201


getNamespace()

getNamespace(): undefined | string

Returns

undefined | string

Inherited from

KubeObject.getNamespace

Defined in

src/lib/k8s/KubeObject.ts:205


getValue()

getValue(prop: string): any

Parameters

ParameterType
propstring

Returns

any

Inherited from

KubeObject.getValue

Defined in

src/lib/k8s/KubeObject.ts:217


makeCRClass()

makeCRClass(): typeof KubeObject

Returns

typeof KubeObject

Defined in

src/lib/k8s/crd.ts:120


patch()

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

Parameters

ParameterType
bodyRecursivePartial<KubeCRD>

Returns

Promise<any>

Inherited from

KubeObject.patch

Defined in

src/lib/k8s/KubeObject.ts:539


scale()

scale(numReplicas: number): Promise<any>

Parameters

ParameterType
numReplicasnumber

Returns

Promise<any>

Inherited from

KubeObject.scale

Defined in

src/lib/k8s/KubeObject.ts:510


update()

update(data: KubeObjectInterface): Promise<KubeObjectInterface>

Parameters

ParameterType
dataKubeObjectInterface

Returns

Promise<KubeObjectInterface>

Inherited from

KubeObject.update

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>

Inherited from

KubeObject.apiGet

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>

Inherited from

KubeObject.apiList

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

Inherited from

KubeObject.create

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.

Inherited from

KubeObject.fetchAuthorization

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>

Inherited from

KubeObject.getAuthorization

Defined in

src/lib/k8s/KubeObject.ts:584


getBaseObject()

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

Returns

Omit<KubeObjectInterface, "metadata"> & object

Inherited from

KubeObject.getBaseObject

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"

Inherited from

KubeObject.getErrorMessage

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.

Inherited from

KubeObject.isClassOf

Defined in

src/lib/k8s/KubeObject.ts:151


put()

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

Parameters

ParameterType
dataKubeObjectInterface

Returns

Promise<KubeObjectInterface>

Inherited from

KubeObject.put

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

Inherited from

KubeObject.useApiGet

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

Inherited from

KubeObject.useApiList

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>

Inherited from

KubeObject.useGet

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>

Inherited from

KubeObject.useList

Defined in

src/lib/k8s/KubeObject.ts:365