@taiyi-io/api-connector-ts
    Preparing search index...

    Class TaiyiConnector

    提供与Taiyi Control服务进行交互的方法,包括认证、发送命令、查询访问记录等,系统状态查询与初始化接口可以直接调用,其他接口需要先认证才能调用。 调用者需要实现 SetTokenHandler 和 GetTokenHandler,为 TaiyiConnector 提供令牌的存取能力。如果需要在校验信息失效时,进行特殊处理,可以通过可选的 bindAuthExpiredEvent 方法注册回调。

    ...
    //构建 TaiyiConnector 实例
    const connector = new TaiyiConnector(backendHost, backendPort, deviceID);
    //绑定令牌存取回调
    connector.bindCallback(store.id, storeAllocatedTokens, retrieveAllocatedTokens, handleStoreStatusChanged);
    //可选:绑定校验过期回调
    connector.bindAuthExpiredEvent(handleAuthExpired);
    const authResult = await connector.authenticateByToken(token);
    if (authResult.unauthenticated) {
    throw new Error("校验失败");
    } else if (authResult.error) {
    //其他错误
    throw new Error(authResult.error);
    }
    const tokens = authResult.data;
    console.log("令牌校验成功,当前用户 %s, 角色 %s", tokens.user, tokens.roles);
    //从第13个记录开始,查询10条记录
    const result = await connector.queryGuests(13, 10);
    if (result.error) {
    throw new Error(result.error);
    }
    //PaginationResult
    const data = result.data;
    console.log(
    "返回结果 %s, 总记录数 %d",
    JSON.stringify(data.records),
    data.total
    );
    Index

    Constructors

    Accessors

    Methods

    activateLicense addAddressPool addComputeNode addComputePool addExternalAddressRange addExternalInterface addGroup addImportSource addInternalAddressRange addInternalInterface addLicense addNode addRemoteContainer addResourceContainer addSSHKey addStoragePool addSystem addUser addVolume addWhiteList authenticateByPassword authenticateByToken bindAuthExpiredEvent bindCallback changeComputePoolStrategy changeRemoteContainerFlag changeResourceContainerFlag changeUserGroup changeUserSecret clearTasks clearWarnings couldHasMoreGuests couldHasMoreNodes countUnreadWarnings countWarnings createDiskFile createGuest createISOFile createSnapshot deleteComputePool deleteDiskFile deleteGuest deleteISOFile deleteSnapshot deleteVolume disableNode ejectMedia enableNode executeTask fetchAllSSHKeys fetchAllSystems generateUserToken getActivatedLicense getAddressPool getComputePool getConfig getDiskFile getDiskFileURL getGroupRoles getGuest getISOFile getISOFileURL getLicense getMonitorRules getNode getResourcePermissions getSnapshot getStoragePool getSystem getSystemStatus getTask hasRole initializeSystem insertMedia invalidateAccess isFeatureEnabled loadTokens logoutDevice markAllWarningsAsRead markAllWarningsAsUnread markWarningsAsRead modifyAddressPool modifyAutoStart modifyComputePool modifyConfig modifyDiskFile modifyExternalInterfaceMAC modifyGroupRoles modifyGuestCPU modifyGuestHostname modifyGuestMemory modifyImportSource modifyInternalInterfaceMAC modifyISOFile modifyPassword modifyRemoteContainer modifyRemoteStorageStrategy modifyResourceContainer modifyResourceStorageStrategy modifySystem openMonitorChannel queryAccesses queryAddressPools queryClusterStatus queryClusterUsage queryComputeNodes queryComputePools queryDevices queryDiskFiles queryGroupMembers queryGroups queryGuests queryImportSources queryImportTargets queryISOFiles queryLicenses queryLogs queryNetworkGraph queryNodes queryNodesUsage queryPoolsUsage queryResourcePools queryResourceStatistic queryResourceUsages querySnapshots querySSHKeys queryStoragePools querySystems queryTasks queryUserRoles queryUsers queryUserTokens queryWarnings queryWhiteList release removeAddressPool removeComputeNode removeExternalAddressRange removeExternalInterface removeGroup removeImportSource removeInternalAddressRange removeInternalInterface removeLicense removeNode removeRemoteContainer removeResourceContainer removeSSHKey removeStoragePool removeSystem removeUser removeWarnings removeWhiteList resetMonitor resetMonitorRules resetSystems resetUserSecret restartService restoreSnapshot revokeAccess revokeUserToken setMonitorRules setResourcePermissions setSystemResource startGuest startHeartBeat startTask stopGuest sumWarnings tryAddExternalInterface tryAddInternalInterface tryAddRemoteContainer tryAddVolume tryCreateDiskImage tryCreateGuest tryCreateSnapshot tryDeleteGuest tryDeleteSnapshot tryDeleteVolume tryEjectMedia tryImportGuestsToNode tryInsertMedia tryInstallDiskImage tryMigrateToNode tryModifyAutoStart tryModifyExternalInterfaceMAC tryModifyGuestCPU tryModifyGuestHostname tryModifyGuestMemory tryModifyInternalInterfaceMAC tryModifyPassword tryModifyRemoteContainer tryReloadResourceStorage tryRemoveExternalInterface tryRemoveInternalInterface tryRemoveRemoteContainer tryResetMonitor tryResizeDisk tryRestoreSnapshot tryShrinkDisk tryStartGuest tryStopGuest trySyncDiskFiles trySyncISOFiles updateDiskVolumeSize updateWhiteList waitTask

    Constructors

    • 构造函数

      Parameters

      • backendHost: string

        后端Control服务地址

      • backendPort: number = 5851

        后端Control服务端口,默认值为5851

      • device: string

        设备标识

      Returns TaiyiConnector

    Accessors

    • get authenticated(): boolean

      获取认证状态

      Returns boolean

      认证状态

    • get id(): string

      获取连接标识

      Returns string

      连接标识

    • get user(): string

      获取用户标识

      Returns string

      用户标识

    Methods

    • 添加地址池

      Parameters

      • id: string

        地址池ID

      • mode: InterfaceMode

        接口模式

      • isV6: boolean

        是否为IPv6

      • Optionaldescription: string

        描述

      Returns Promise<BackendResult<void>>

      操作结果

      地址池相关接口全部会重新设计

    • 添加计算节点到资源池

      Parameters

      • poolID: string

        资源池ID

      • nodeID: string

        节点ID

      Returns Promise<BackendResult<void>>

      操作结果

    • 添加外部地址范围

      Parameters

      • poolID: string

        地址池ID

      • beginAddress: string

        起始地址

      • endAddress: string

        结束地址

      Returns Promise<BackendResult<void>>

      操作结果

      地址池相关接口全部会重新设计

    • 添加外部接口

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      添加结果

    • 添加导入源

      Parameters

      • vendor: VMWareESXi

        供应商类型

      • url: string

        导入源URL

      • token: string

        认证token

      • secret: string

        认证secret

      Returns Promise<BackendResult<void>>

      添加结果

    • 添加内部地址范围

      Parameters

      • poolID: string

        地址池ID

      • beginAddress: string

        起始地址

      • endAddress: string

        结束地址

      Returns Promise<BackendResult<void>>

      操作结果

      地址池相关接口全部会重新设计

    • 添加内部接口

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      添加结果

    • 添加远程容器

      Parameters

      • poolID: string

        存储池ID

      • container: VolumeContainer

        容器配置

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      操作结果

    • 添加用户

      Parameters

      • user: string

        用户名

      • group: string

        用户组

      • password: string

        密码

      Returns Promise<BackendResult<void>>

      添加结果

    • 添加卷

      Parameters

      • guestID: string

        云主机ID

      • volume: VolumeSpec

        磁盘卷配置

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      添加结果

    • 改变远程容器标志

      Parameters

      • poolID: string

        存储池ID

      • index: number

        容器索引

      • enabled: boolean

        是否启用

      Returns Promise<BackendResult<void>>

      操作结果

    • 更改节点本地存储池容器标志,用于启用和禁用容器

      Parameters

      • nodeID: string

        节点ID

      • poolID: string

        池ID

      • index: number

        容器索引

      • enabled: boolean

        是否启用

      Returns Promise<BackendResult<void>>

      更改结果

    • 修改用户组

      Parameters

      • userId: string

        用户ID

      • groupId: string

        用户组ID

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改用户密码

      Parameters

      • user: string

        用户名

      • password: string

        新密码

      Returns Promise<BackendResult<void>>

      修改结果

    • 检查是否可以创建更多云主机

      Returns Promise<boolean>

      是否可以创建更多云主机

    • 检查是否可以添加更多节点

      Returns Promise<boolean>

      是否可以添加更多节点

    • 创建云主机,成功返回云主机ID

      Parameters

      • poolID: string

        计算资源池

      • system: string

        目标系统

      • config: GuestConfig

        云主机配置

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<string>>

      云主机ID

    • 创建快照

      Parameters

      • guestID: string

        云主机ID

      • label: string

        标签

      • Optionaldescription: string

        快照描述

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      创建结果

    • 删除云主机

      Parameters

      • guestID: string

        云主机ID

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      删除结果

    • 删除快照

      Parameters

      • guestID: string

        云主机ID

      • snapshotID: string

        快照ID

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      删除结果

    • 删除卷

      Parameters

      • guestID: string

        云主机ID

      • tag: string

        卷标签

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      删除结果

    • 弹出介质

      Parameters

      • guestID: string

        云主机ID

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      操作结果

    • 生成用户令牌

      Parameters

      • user: string

        用户标识

      • Optionaldescription: string

        描述

      • OptionalexpireInMonths: number

        过期时间(月)

      Returns Promise<BackendResult<string>>

      用户令牌

    • 获取磁盘文件URL

      Parameters

      • fileID: string

        文件ID

      Returns string

      文件URL

    • 获取ISO文件URL

      Parameters

      • fileID: string

        文件ID

      Returns string

      文件URL

    • 检查用户是否具有指定角色

      Parameters

      Returns boolean

      是否具有角色

    • 初始化系统

      Parameters

      • user: string

        用户标识

      • password: string

        密码

      Returns Promise<BackendResult<void>>

      初始化结果

    • 插入介质

      Parameters

      • guestID: string

        云主机ID

      • mediaId: string

        光盘ISO文件ID

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      操作结果

    • 修改地址池

      Parameters

      • id: string

        地址池ID

      • mode: InterfaceMode

        接口模式

      • Optionaldescription: string

        描述

      Returns Promise<BackendResult<void>>

      操作结果

      地址池相关接口全部会重新设计

    • 修改自动启动

      Parameters

      • guestID: string

        云主机ID

      • enable: boolean

        是否启用自动启动

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改外部接口MAC地址

      Parameters

      • guestID: string

        云主机ID

      • device: string

        目标设备(当前MAC)

      • macAddress: string

        MAC地址

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改云主机CPU

      Parameters

      • guestID: string

        云主机ID

      • cores: number

        CPU核心数

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改云主机主机名

      Parameters

      • guestID: string

        云主机ID

      • hostname: string

        主机名

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改云主机内存

      Parameters

      • guestID: string

        云主机ID

      • memoryMB: number

        内存大小(MB)

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改导入源

      Parameters

      • id: string

        导入源ID

      • url: string

        导入源URL

      • token: string

        认证token

      • secret: string

        认证secret

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改内部接口MAC地址

      Parameters

      • guestID: string

        云主机ID

      • device: string

        目标设备(当前MAC)

      • macAddress: string

        MAC地址

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改密码

      Parameters

      • guestID: string

        云主机ID

      • user: string

        用户名

      • password: string

        新密码

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      修改结果

    • 修改远程容器

      Parameters

      • poolID: string

        存储池ID

      • index: number

        容器索引

      • container: VolumeContainer

        容器配置

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      操作结果

    • 修改节点本地存储池容器

      Parameters

      • nodeID: string

        节点ID

      • poolID: string

        池ID

      • index: number

        容器索引

      • container: VolumeContainer

        容器配置

      Returns Promise<BackendResult<void>>

      修改结果

    • 删除地址池

      Parameters

      • poolID: string

        地址池ID

      Returns Promise<BackendResult<void>>

      操作结果

      地址池相关接口全部会重新设计

    • 从资源池移除计算节点

      Parameters

      • poolID: string

        资源池ID

      • nodeID: string

        节点ID

      Returns Promise<BackendResult<void>>

      操作结果

    • 删除外部地址范围

      Parameters

      • poolID: string

        地址池ID

      • beginAddress: string

        起始地址

      • endAddress: string

        结束地址

      Returns Promise<BackendResult<void>>

      操作结果

      地址池相关接口全部会重新设计

    • 移除外部接口

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      移除结果

    • 删除内部地址范围

      Parameters

      • poolID: string

        地址池ID

      • beginAddress: string

        起始地址

      • endAddress: string

        结束地址

      Returns Promise<BackendResult<void>>

      操作结果

      地址池相关接口全部会重新设计

    • 移除内部接口

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      移除结果

    • 删除远程容器

      Parameters

      • poolID: string

        存储池ID

      • index: number

        容器索引

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      操作结果

    • 删除节点本地存储池容器

      Parameters

      • nodeID: string

        节点ID

      • poolID: string

        池ID

      • index: number

        容器索引

      Returns Promise<BackendResult<void>>

      删除结果

    • 重置监控

      Parameters

      • guestID: string

        云主机ID

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      重置结果

    • 恢复快照

      Parameters

      • guestID: string

        云主机ID

      • snapshotID: string

        快照ID

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      恢复结果

    • 撤销用户令牌

      Parameters

      • user: string

        用户名

      • serial: string

        序列号

      Returns Promise<BackendResult<void>>

      撤销结果

    • 启动云主机

      Parameters

      • guestID: string

        云主机ID

      • Optionalmedia: string

        ISO镜像ID(可选)

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      启动结果

    • 计划刷新令牌,访问令牌过期时间提前90秒,自动触发刷新令牌

      Returns void

    • 停止云主机

      Parameters

      • guestID: string

        云主机ID

      • reboot: boolean

        是否重启云主机

      • force: boolean

        是否强制执行

      • timeoutSeconds: number = 300

        超时时间(秒),默认300秒

      Returns Promise<BackendResult<void>>

      停止结果

    • 尝试添加外部接口,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试添加内部接口,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试创建云主机,成功返回任务ID

      Parameters

      • poolID: string

        计算资源池

      • system: string

        目标系统

      • config: GuestConfig

        云主机配置

      Returns Promise<BackendResult<string>>

      任务id

    • 尝试创建快照,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • label: string

        标签

      • Optionaldescription: string

        快照描述

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试删除云主机,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      Returns Promise<BackendResult<string>>

      任务id

    • 尝试删除快照,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • snapshotID: string

        快照ID

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试删除卷,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • tag: string

        卷标签

      Returns Promise<BackendResult<string>>

      任务id

    • 尝试弹出介质,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试导入云主机到节点

      Parameters

      • sourceID: string

        导入源ID

      • targetIDs: string[]

        目标云主机ID列表

      • targetNode: string

        目标节点ID

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试插入介质,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • mediaId: string

        光盘ISO文件ID

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试安装磁盘镜像,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • volumeTag: string

        卷标签

      • fileID: string

        文件ID

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试迁移云主机到节点

      Parameters

      • targetNode: string

        目标节点ID

      • guests: string[]

        云主机ID列表

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试修改自动启动,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • enable: boolean

        是否启用自动启动

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试修改外部接口MAC地址

      Parameters

      • guestID: string

        云主机ID

      • device: string

        目标设备(当前MAC)

      • macAddress: string

        MAC地址

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试修改云主机CPU,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • cores: number

        CPU核心数

      Returns Promise<BackendResult<string>>

      任务id

    • 尝试修改云主机主机名,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • hostname: string

        主机名

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试修改云主机内存,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • memoryMB: number

        内存大小(MB)

      Returns Promise<BackendResult<string>>

      任务id

    • 尝试修改内部接口MAC地址

      Parameters

      • guestID: string

        云主机ID

      • device: string

        目标设备(当前MAC)

      • macAddress: string

        MAC地址

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试修改密码,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • user: string

        用户名

      • password: string

        新密码

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试重新加载资源节点存储

      Parameters

      • nodeID: string

        节点ID

      • poolID: string

        节点存储标识

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试移除外部接口,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试移除内部接口,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • macAddress: string

        MAC地址

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试删除远程容器,成功返回任务ID

      Parameters

      • poolID: string

        存储池ID

      • index: number

        容器索引

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试重置监控,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      Returns Promise<BackendResult<string>>

      包含任务id的结果

    • 尝试调整磁盘大小,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • volumeTag: string

        卷标签

      • sizeInMB: number

        大小(MB)

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试恢复快照,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • snapshotID: string

        快照ID

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试收缩磁盘,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • volumeTag: string

        卷标签

      Returns Promise<BackendResult<string>>

      任务ID

    • 尝试启动云主机,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • Optionalmedia: string

        ISO镜像ID(可选)

      Returns Promise<BackendResult<string>>

      任务id

    • 尝试停止云主机,成功返回任务ID

      Parameters

      • guestID: string

        云主机ID

      • reboot: boolean

        是否重启云主机

      • force: boolean

        是否强制执行

      Returns Promise<BackendResult<string>>

      任务id

    • 更新磁盘卷大小

      Parameters

      • fileID: string

        文件ID

      • sizeInMB: number

        大小(MB)

      Returns Promise<BackendResult<void>>

      更新结果

    • 更新白名单

      Parameters

      • index: number

        白名单索引

      • address: string

        新的白名单地址

      Returns Promise<BackendResult<void>>

      更新结果

    • 等待任务完成

      Parameters

      • taskID: string

        任务ID

      • timeoutSeconds: number = 300

        超时时间(秒)

      • intervalSeconds: number = 1

        检查间隔(秒)

      Returns Promise<BackendResult<TaskData>>

      任务数据