/** * 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 { ReplicaSet } from "@k8slens/kube-object"; export class ReplicaSetApi extends KubeApi { constructor(deps: KubeApiDependencies, opts?: DerivedKubeApiOptions) { super(deps, { ...(opts ?? {}), objectConstructor: ReplicaSet, }); } async getReplicas(params: NamespacedResourceDescriptor): Promise { const { status } = await this.getResourceScale(params); return status.replicas; } scale(params: NamespacedResourceDescriptor, replicas: number) { return this.scaleResource(params, { spec: { replicas } }); } }