mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
|
|
import type { DerivedKubeApiOptions, KubeApiDependencies, NamespacedResourceDescriptor } from "../kube-api";
|
|
import { KubeApi } from "../kube-api";
|
|
import { ReplicationController } from "@k8slens/kube-object";
|
|
import type { Scale } from "@k8slens/kube-object";
|
|
|
|
export class ReplicationControllerApi extends KubeApi<ReplicationController> {
|
|
constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) {
|
|
super(deps, {
|
|
...(opts ?? {}),
|
|
objectConstructor: ReplicationController,
|
|
});
|
|
}
|
|
|
|
protected getScaleApiUrl(params: NamespacedResourceDescriptor) {
|
|
return `${this.formatUrlForNotListing(params)}/scale`;
|
|
}
|
|
|
|
getScale(params: NamespacedResourceDescriptor): Promise<Scale> {
|
|
return this.request.get(this.getScaleApiUrl(params));
|
|
}
|
|
|
|
scale(params: NamespacedResourceDescriptor, replicas: number): Promise<Scale> {
|
|
return this.scaleResource(params, { spec: { replicas } });
|
|
}
|
|
}
|