Skip to main content

Class: PodGroup

Defined in: lib/k8s/podGroup.ts:153

Extends​

Constructors​

Constructor​

new PodGroup(json: KubePodGroup, cluster?: string): PodGroup;

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

Parameters​

ParameterType
jsonKubePodGroup
cluster?string

Returns​

PodGroup

Inherited from​

KubeObject.constructor

Properties​

PropertyModifierTypeDefault valueDescriptionOverridesInherited fromDefined in
_clusterNamepublicstringundefined--KubeObject._clusterNamelib/k8s/KubeObject.ts:59
jsonDatapublicKubePodGroupundefined--KubeObject.jsonDatalib/k8s/KubeObject.ts:56
_internalApiEndpoint?static| ApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>undefined--KubeObject._internalApiEndpointlib/k8s/KubeObject.ts:76
apiNamestaticstring'podgroups'Name of the resource, plural, used in APIKubeObject.apiName-lib/k8s/podGroup.ts:155
apiVersionstaticstring[]undefinedGroup and version of the resource formatted as "GROUP/VERSION", e.g. "policy.k8s.io/v1".KubeObject.apiVersion-lib/k8s/podGroup.ts:156
isNamespacedstaticbooleantrueWhether the object is namespaced.KubeObject.isNamespaced-lib/k8s/podGroup.ts:161
isScalablereadonlybooleanundefinedWhether the object is scalable, and should have a ScaleButton-KubeObject.isScalablelib/k8s/KubeObject.ts:74
kindstaticstring'PodGroup'The kind of the object. Corresponding to the resource kind in Kubernetes.KubeObject.kind-lib/k8s/podGroup.ts:154
readOnlyFieldsstaticstring[][]Readonly field defined as JSONPath paths-KubeObject.readOnlyFieldslib/k8s/KubeObject.ts:58

Accessors​

cluster​

Get Signature​

get cluster(): string;

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

Returns​

string

Set Signature​

set cluster(cluster: string): void;

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

Parameters​
ParameterType
clusterstring
Returns​

void

Inherited from​

KubeObject.cluster


detailsRoute​

Get Signature​

get detailsRoute(): string;

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

Returns​

string

Inherited from​

KubeObject.detailsRoute


disruptionMode​

Get Signature​

get disruptionMode(): "PodGroup" | "Pod" | undefined;

Defined in: lib/k8s/podGroup.ts:226

Which pods a disruption affects: 'Pod' one at a time, or 'PodGroup' all together.

Returns​

"PodGroup" | "Pod" | undefined


isNamespaced​

Get Signature​

get isNamespaced(): boolean;

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

Returns​

boolean

Inherited from​

KubeObject.isNamespaced


isScalable​

Get Signature​

get isScalable(): boolean;

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

Returns​

boolean

Inherited from​

KubeObject.isScalable


kind​

Get Signature​

get kind(): any;

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

Returns​

any

Inherited from​

KubeObject.kind


listRoute​

Get Signature​

get listRoute(): string;

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

Returns​

string

Inherited from​

KubeObject.listRoute


metadata​

Get Signature​

get metadata(): KubeMetadata;

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

Returns​

KubeMetadata

Inherited from​

KubeObject.metadata


minCount​

Get Signature​

get minCount(): number | undefined;

Defined in: lib/k8s/podGroup.ts:206

Pods that must be schedulable together, when the gang policy is used.

Returns​

number | undefined


parentCompositePodGroupName​

Get Signature​

get parentCompositePodGroupName(): string | undefined;

Defined in: lib/k8s/podGroup.ts:231

The composite group this group belongs to, when nested.

Returns​

string | undefined


pluralName​

Get Signature​

get pluralName(): string;

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

Returns​

string

Inherited from​

KubeObject.pluralName


podGroupTemplateName​

Get Signature​

get podGroupTemplateName(): string | undefined;

Defined in: lib/k8s/podGroup.ts:218

Name of the template within the Workload this group was created from, if any.

Returns​

string | undefined


policyKind​

Get Signature​

get policyKind(): string | undefined;

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

Which scheduling policy this group uses, e.g. 'Gang' or 'Basic'.

Returns​

string | undefined


schedulingCondition​

Get Signature​

get schedulingCondition(): 
| KubeCondition
| undefined;

Defined in: lib/k8s/podGroup.ts:236

The scheduling condition, under whichever name the served version uses.

Returns​

| KubeCondition | undefined


spec​

Get Signature​

get spec(): PodGroupSpec;

Defined in: lib/k8s/podGroup.ts:192

Returns​

PodGroupSpec


status​

Get Signature​

get status(): 
| {
conditions?: KubeCondition[];
}
| undefined;

Defined in: lib/k8s/podGroup.ts:196

Returns​

| { conditions?: KubeCondition[]; } | undefined


workloadName​

Get Signature​

get workloadName(): string | undefined;

Defined in: lib/k8s/podGroup.ts:211

Name of the Workload this group was templated from, if any.

Returns​

string | undefined


apiEndpoint​

Get Signature​

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

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

Returns​

| ApiClient<KubeObjectInterface> | ApiWithNamespaceClient<KubeObjectInterface>

Set Signature​

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

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

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

void

Inherited from​

KubeObject.apiEndpoint


apiGroupName​

Get Signature​

get static apiGroupName(): string | undefined;

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

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

Inherited from​

KubeObject.apiGroupName


className​

Get Signature​

get static className(): string;

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

Returns​

string

Inherited from​

KubeObject.className


detailsRoute​

Get Signature​

get static detailsRoute(): string;

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

Returns​

string

Inherited from​

KubeObject.detailsRoute


listRoute​

Get Signature​

get static listRoute(): string;

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

Returns​

string

Inherited from​

KubeObject.listRoute


pluralName​

Get Signature​

get static pluralName(): string;

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

Returns​

string

Inherited from​

KubeObject.pluralName

Methods​

_class()​

_class(): typeof KubeObject;

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

Returns​

typeof KubeObject

Inherited from​

KubeObject._class


delete()​

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

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

Parameters​

ParameterType
force?boolean

Returns​

Promise<any>

Inherited from​

KubeObject.delete


getAge()​

getAge(): string;

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

Returns​

string

Inherited from​

KubeObject.getAge


getAuthorization()​

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

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

Parameters​

ParameterType
verbstring
reqResourseAttrs?AuthRequestResourceAttrs

Returns​

Promise<any>

Inherited from​

KubeObject.getAuthorization


getCreationTs()​

getCreationTs(): string;

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

Returns​

string

Inherited from​

KubeObject.getCreationTs


getDetailsLink(): string;

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

Returns​

string

Inherited from​

KubeObject.getDetailsLink


getEditableObject()​

getEditableObject(): object;

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

Returns​

object

Inherited from​

KubeObject.getEditableObject


getListLink(): string;

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

Returns​

string

Inherited from​

KubeObject.getListLink


getName()​

getName(): string;

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

Returns​

string

Inherited from​

KubeObject.getName


getNamespace()​

getNamespace(): string | undefined;

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

Returns​

string | undefined

Inherited from​

KubeObject.getNamespace


getValue()​

getValue(prop: string): any;

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

Parameters​

ParameterType
propstring

Returns​

any

Inherited from​

KubeObject.getValue


patch()​

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

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

Parameters​

ParameterType
bodyRecursivePartial<T>

Returns​

Promise<any>

Inherited from​

KubeObject.patch


patchUpdate()​

patchUpdate(original: KubeObjectInterface, modified: KubeObjectInterface): Promise<KubeObjectInterface>;

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

Updates a resource using JSON Patch (RFC 6902), sending only the diff between the original and modified objects. This avoids 409 Conflict errors on resources that are frequently updated by controllers (e.g. HPA).

Parameters​

ParameterType
originalKubeObjectInterface
modifiedKubeObjectInterface

Returns​

Promise<KubeObjectInterface>

Inherited from​

KubeObject.patchUpdate


scale()​

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

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

Parameters​

ParameterType
numReplicasnumber

Returns​

Promise<any>

Inherited from​

KubeObject.scale


update()​

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

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

Parameters​

ParameterType
dataKubeObjectInterface

Returns​

Promise<KubeObjectInterface>

Inherited from​

KubeObject.update


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:491

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

Inherited from​

KubeObject.apiGet


apiList()​

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

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

Builds a list request for this object's API endpoint.

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​

A parameterless function that starts the list request and resolves to a CancelFunction for stopping it.

() => Promise<CancelFunction>

Inherited from​

KubeObject.apiList


create()​

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

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

Type Parameters​

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

Parameters​

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

Returns​

T

Inherited from​

KubeObject.create


fetchAuthorization()​

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

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

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


getAuthorization()​

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

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

Parameters​

ParameterType
verbstring
reqResourseAttrs?AuthRequestResourceAttrs
cluster?string

Returns​

Promise<any>

Inherited from​

KubeObject.getAuthorization


getBaseObject()​

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

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

Returns​

Omit<KubeObjectInterface, "metadata"> & object

Inherited from​

KubeObject.getBaseObject


getErrorMessage()​

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

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

Parameters​

ParameterType
errApiError | null

Returns​

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

Inherited from​

KubeObject.getErrorMessage


isClassOf()​

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

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

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.

Inherited from​

KubeObject.isClassOf


isEnabled()​

static isEnabled(cluster: string): Promise<boolean>;

Defined in: lib/k8s/podGroup.ts:174

Whether the cluster serves the workload aware scheduling APIs, which requires the GenericWorkload feature gate to be enabled.

This asks for each candidate version directly instead of using apiDiscovery, because discovery only reports the first version of each group and scheduling.k8s.io also serves v1.

Parameters​

ParameterTypeDescription
clusterstringThe cluster to check.

Returns​

Promise<boolean>

true when the PodGroup resource is served.


put()​

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

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

Parameters​

ParameterType
dataKubeObjectInterface

Returns​

Promise<KubeObjectInterface>

Inherited from​

KubeObject.put


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:516

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

Inherited from​

KubeObject.useApiGet


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:308

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


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:463

Type Parameters​

Type Parameter
K extends KubeObject<any>

Parameters​

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

Returns​

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

Inherited from​

KubeObject.useGet


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:379

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>

Inherited from​

KubeObject.useList