UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

113 lines (112 loc) 5.47 kB
/** * @packageDocumentation * @module api */ import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { KubernetesResource, KubernetesResourceList, Status } from '../core/public-api'; import { K8sApiResourceService } from './k8s-api-resource.service'; import { PageVisibilityService } from './page-visibility.service'; import { ErebusResourceDeleteParams, ErebusResourceListParams, ErebusResourceParams, ErebusResourcePatchParams, ErebusResourceWriteParams, GlobalResourceDeleteParams, GlobalResourceListParams, GlobalResourceParams, GlobalResourcePatchParams, GlobalResourceWriteParams, WatchAPIResponse, WatchErebusResourceListParams, WatchErebusResourceParams, WatchGlobalResourceListParams, WatchGlobalResourceParams, ErebusResourceBatchDeleteParams } from './types'; import * as i0 from "@angular/core"; export declare const TIMEOUT_SECONDS = 59; export declare const SEARCH_URL_PREFIX = "/acp/v1/resources/search"; export declare class K8sApiService<R extends string = string> { private readonly http; private readonly k8sApiResource; private readonly pageVisibility; private readonly globalNamespace; constructor(http: HttpClient, k8sApiResource: K8sApiResourceService, pageVisibility: PageVisibilityService, globalNamespace: string); /** * 获取 Global 集群单个资源对象 */ getGlobalResource<T extends KubernetesResource>(params: GlobalResourceParams<R>): Observable<T>; /** * 监听 Global 集群单个资源对象 */ watchGlobalResource<T extends KubernetesResource>(params: WatchGlobalResourceParams<R>): Observable<T>; /** * 监听 Global 集群资源列表变化 */ watchGlobalResourceChange<T extends KubernetesResource>(seedVersion: string, params: WatchGlobalResourceListParams<R>): Observable<WatchAPIResponse<T>>; /** * 获取 Global 集群资源对象列表,包含分页信息 */ getGlobalResourceList<T extends KubernetesResource>(params: GlobalResourceListParams<R>): Observable<KubernetesResourceList<T>>; /** * 创建 Global 集群资源 */ postGlobalResource<T extends KubernetesResource>(params: GlobalResourceWriteParams<T, R>): Observable<T>; /** * 完整覆盖更新 Global 集群单个资源对象 */ putGlobalResource<T extends KubernetesResource>(params: GlobalResourceWriteParams<T, R>): Observable<T>; /** * 增量更新 Global 集群单个资源对象的部分属性 */ patchGlobalResource<T extends KubernetesResource>(params: GlobalResourcePatchParams<T, R>): Observable<T>; /** * 删除 Global 集群单个资源 */ deleteGlobalResource<S extends KubernetesResource = Status, T extends KubernetesResource = S extends Status ? KubernetesResource : S>(params: GlobalResourceDeleteParams<T, R>): Observable<S>; /** * 获取业务集群单个资源对象 */ getResource<T extends KubernetesResource>(params: ErebusResourceParams<R>): Observable<T>; /** * 监听业务集群单个资源对象 */ watchResource<T extends KubernetesResource>(params: WatchErebusResourceParams<R>): Observable<T>; /** * 监听资源列表变化 */ watchResourceChange<T extends KubernetesResource>(seedVersion: string, params: WatchErebusResourceListParams<R>): Observable<WatchAPIResponse<T>>; /** * 获取业务集群资源对象列表,包含分页信息 */ getResourceList<T extends KubernetesResource>(params: ErebusResourceListParams<R>): Observable<KubernetesResourceList<T>>; /** * 创建业务集群资源 */ postResource<T extends KubernetesResource>(params: ErebusResourceWriteParams<T, R>): Observable<T>; /** * 完整覆盖更新业务集群单个资源对象 */ putResource<T extends KubernetesResource>(params: ErebusResourceWriteParams<T, R>): Observable<T>; /** * 增量更新业务集群单个资源对象的部分属性 */ patchResource<T extends KubernetesResource>(params: ErebusResourcePatchParams<T, R>): Observable<T>; /** * 删除业务集群单个资源 */ deleteResource<S extends KubernetesResource = Status, T extends KubernetesResource = S extends Status ? KubernetesResource : S>(params: ErebusResourceDeleteParams<T, R>): Observable<S>; /** * 批量删除业务集群的资源 */ batchDeleteResource<S extends KubernetesResource = Status, T extends KubernetesResource = S extends Status ? KubernetesResource : S>(params: ErebusResourceBatchDeleteParams<R>): Observable<T>; private _getResourceDefinition; private _getApiPath; private _getNamespace; private _getName; /** * k8s list api 返回的结果里,items 缺失 kind 和 apiVersion 字段 * 规则如 Service 类型对应 kind: ServiceList,去掉最后四个字符可得到资源的 kind * @internal */ private _getNormalizedList; private _getResource; private _watchResource; private _keepWatchResourceChange; private _watchResourceChange; private _getResourceList; private _postResource; private _putResource; private _patchResource; private _deleteResource; private _batchDeleteResource; private readonly _getHeaders; private _getDowngradePolling; static ɵfac: i0.ɵɵFactoryDeclaration<K8sApiService<any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<K8sApiService<any>>; }