UNPKG

@yuntools/ali-ecs

Version:

阿里云 ECS 模块封装,支持 ESM,CJS 导入,提供 TypeScript 类型定义

38 lines 1.66 kB
import Ecs from '@alicloud/ecs20140526'; import { EcsNodeDetail, EcsNodeStatus, EcsNodeInfo, GetNodeMap } from './types.js'; /** * 阿里云 ECS 服务接口 * 最多支持 100 个实例 */ export declare class EcsClient { protected readonly id: string; protected readonly secret: string; endpoint: string; client: Ecs; debug: boolean; nextToken: string; /** ip -> instanceId */ nodeIp2IdCache: Map<string, string>; /** instanceId -> node */ id2NodeCache: Map<string, import("@alicloud/ecs20140526").DescribeInstancesResponseBodyInstancesInstance>; cacheTime: number; cacheTTLSec: number; constructor(id: string, secret: string, endpoint?: string); /** 根据公网 IP 数组获取 Ecs 实例状态信息 */ getNodeStatusByIps(ips: string[], regionId?: string): Promise<GetNodeMap<EcsNodeStatus>>; /** 根据公网 IP 数组获取 Ecs 实例信息 */ getNodeInfoByIps(ips: string[], regionId?: string): Promise<GetNodeMap<EcsNodeInfo>>; /** 根据公网 IP 获取 Ecs 实例 ID */ getInstanceIdByIp(ip: string): Promise<string | undefined>; /** 根据公网 IP 数组获取 Ecs 实例信息 */ getInstancesByIps(ips: string[], regionId?: string): Promise<GetNodeMap<EcsNodeDetail>>; /** 根据公网 IP 获取 Ecs 实例信息 */ getInstanceByIp(ip: string, regionId?: string): Promise<EcsNodeDetail | undefined>; cleanCache(force?: boolean): void; updateInstancedCache(instances: EcsNodeDetail[]): void; private _cleanCache; private _getInstanceByIpFromCache; private createClient; private saveNodesToCache; } //# sourceMappingURL=ecs.d.ts.map