tenyun
Version:
Promise based and chained Tencent Cloud OpenAPI client for NodeJS
1,978 lines (1,833 loc) • 345 kB
TypeScript
/// <reference types="node" />
import { AxiosPromise, AxiosRequestConfig } from "axios";
/** k8s中标注,一般以数组的方式存在 */
declare interface Annotation {
/** map表中的Name */
Name: string;
/** map表中的Value */
Value: string;
}
/** 托管节点池运维窗口设置 */
declare interface AutoUpgradeOptions {
/** 自动升级开始时间 */
AutoUpgradeStartTime?: string | null;
/** 自动升级持续时间 */
Duration?: string | null;
/** 运维日期 */
WeeklyPeriod?: string[] | null;
}
/** 自动扩缩容的节点 */
declare interface AutoscalingAdded {
/** 正在加入中的节点数量 */
Joining?: number;
/** 初始化中的节点数量 */
Initializing?: number;
/** 正常的节点数量 */
Normal?: number;
/** 节点总数 */
Total?: number;
}
/** 原生节点池创建参数 */
declare interface CreateNativeNodePoolParam {
/** 节点池伸缩配置 */
Scaling: MachineSetScaling;
/** 子网列表 */
SubnetIds: string[];
/** 节点计费类型。PREPAID:包年包月;POSTPAID_BY_HOUR:按量计费(默认); */
InstanceChargeType: string;
/** 系统盘配置 */
SystemDisk: Disk;
/** 机型列表 */
InstanceTypes: string[];
/** 安全组列表 */
SecurityGroupIds?: string[];
/** 自动升级配置 */
UpgradeSettings?: MachineUpgradeSettings;
/** 是否开启自愈能力 */
AutoRepair?: boolean;
/** 包年包月机型计费配置 */
InstanceChargePrepaid?: InstanceChargePrepaid;
/** 节点池 Management 参数设置 */
Management?: ManagementConfig;
/** 故障自愈规则名称 */
HealthCheckPolicyName?: string;
/** 原生节点池hostName模式串 */
HostNamePattern?: string;
/** kubelet 自定义参数 */
KubeletArgs?: string[];
/** 预定义脚本 */
Lifecycle?: LifecycleConfig;
/** 运行时根目录 */
RuntimeRootDir?: string;
/** 是否开启弹性伸缩 */
EnableAutoscaling?: boolean;
/** 期望节点数 */
Replicas?: number;
/** 公网带宽设置 */
InternetAccessible?: InternetAccessible;
/** 原生节点池数据盘列表 */
DataDisks?: DataDisk[];
/** qgpu开关 */
QGPUEnable?: boolean;
/** 节点池ssh公钥id数组 */
KeyIds?: string[];
/** 节点池类型 */
MachineType?: string;
/** 原生节点池安装节点自动化助手开关 */
AutomationService?: boolean;
}
/** 描述了k8s节点数据盘相关配置与信息。 */
declare interface DataDisk {
/** 云盘类型 */
DiskType: string | null;
/** 文件系统(ext3/ext4/xfs) */
FileSystem: string | null;
/** 云盘大小(G) */
DiskSize: number | null;
/** 是否自动化格式盘并挂载 */
AutoFormatAndMount: boolean | null;
/** 挂载设备名或分区名 */
DiskPartition: string | null;
/** 挂载目录 */
MountTarget?: string | null;
/** 传入该参数用于创建加密云盘,取值固定为ENCRYPT */
Encrypt?: string | null;
/** 购买加密盘时自定义密钥,当传入该参数时, Encrypt入参不为空 */
KmsKeyId?: string | null;
/** 快照ID,如果传入则根据此快照创建云硬盘,快照类型必须为数据盘快照 */
SnapshotId?: string | null;
/** 云硬盘性能,单位:MB/s。使用此参数可给云硬盘购买额外的性能 */
ThroughputPerformance?: number | null;
}
/** 节点系统盘和数据盘配置 */
declare interface Disk {
/** 云盘类型 */
DiskType: string;
/** 云盘大小(G) */
DiskSize: number;
/** 是否自动化格式盘并挂载 */
AutoFormatAndMount?: boolean;
/** 文件系统 */
FileSystem?: string;
/** 挂载目录 */
MountTarget?: string;
/** 云盘ID */
DiskId?: string | null;
}
/** 第三方节点 */
declare interface ExternalNodeInfo {
/** 第三方节点名称 */
Name?: string;
/** CPU核数,单位:核 */
CPU?: number | null;
/** 节点内存容量,单位:`GB` */
Memory?: number | null;
/** 第三方节点kubelet版本信息 */
K8SVersion?: string | null;
}
/** 第三方节点池信息 */
declare interface ExternalNodePoolInfo {
/** 第三方节点Runtime配置 */
RuntimeConfig?: RuntimeConfig;
/** 节点数 */
NodesNum?: number;
}
/** 过滤器 */
declare interface Filter {
/** 属性名称, 若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。 */
Name: string;
/** 属性值, 若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。 */
Values: string[];
}
/** 机型名称与GPU相关的参数,包括驱动版本,CUDA版本,cuDNN版本,是否开启MIG以及是否开启Fabric等相关配置信息 */
declare interface GPUConfig {
/** 机型名称 */
InstanceType: string | null;
/** GPU相关的参数,包括驱动版本,CUDA版本,cuDNN版本,是否开启MIG以及是否开启Fabric等 */
GPUParams: GPUParams | null;
}
/** GPU相关的参数,包括驱动版本,CUDA版本,cuDNN版本,是否开启MIG以及是否开启Fabric */
declare interface GPUParams {
/** GPU驱动版本 */
Driver?: string | null;
/** CUDA版本 */
CUDA?: string | null;
/** CUDNN版本 */
CUDNN?: string | null;
/** 是否启用MIG特性 */
MIGEnable?: boolean | null;
/** 是否启用Fabric特性 */
Fabric?: boolean | null;
/** 自定义驱动下载地址 */
CustomGPUDriver?: string | null;
}
/** 健康检测规则 */
declare interface HealthCheckPolicy {
/** 健康检测策略名称 */
Name: string;
/** 健康检测策略规则列表 */
Rules: HealthCheckPolicyRule[];
}
/** 健康检测策略和节点池的绑定关系 */
declare interface HealthCheckPolicyBinding {
/** 健康检测策略名称 */
Name?: string;
/** 规则创建时间 */
CreatedAt?: string;
/** 关联节点池数组 */
NodePools?: string[];
}
/** 健康检测规则 */
declare interface HealthCheckPolicyRule {
/** 健康检测规则 */
Name: string;
/** 是否检测此项目 */
Enabled: boolean;
/** 是否启用修复 */
AutoRepairEnabled: boolean;
}
/** 健康检测模板 */
declare interface HealthCheckTemplate {
/** 健康检测项 */
Rules: HealthCheckTemplateRule[];
}
/** 健康检测模板规则 */
declare interface HealthCheckTemplateRule {
/** 健康检测项目名称 */
Name: string;
/** 健康检测规则描述 */
Description: string;
/** 修复动作 */
RepairAction: string;
/** 修复影响 */
RepairEffect: string;
/** 是否建议开启检测 */
ShouldEnable: boolean;
/** 是否建议修复 */
ShouldRepair: boolean;
/** 问题严重程度 */
Severity: string;
}
/** 集群的实例信息 */
declare interface Instance {
/** 实例ID */
InstanceId?: string;
/** 节点角色, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, 默认为WORKER */
InstanceRole?: string;
/** 实例异常(或者处于初始化中)的原因 */
FailedReason?: string | null;
/** 实例的状态- initializing创建中- running 运行中- failed 异常 */
InstanceState?: string;
/** 是否不可调度 */
Unschedulable?: boolean | null;
/** 添加时间 */
CreatedTime?: string;
/** 节点内网IP */
LanIP?: string | null;
/** 资源池ID */
NodePoolId?: string | null;
/** 原生节点参数 */
Native?: NativeNodeInfo | null;
/** 普通节点参数 */
Regular?: RegularNodeInfo | null;
/** 超级节点参数 */
Super?: SuperNodeInfo | null;
/** 第三方节点参数 */
External?: ExternalNodeInfo | null;
/** 节点类型 */
NodeType?: string | null;
}
/** 描述了k8s集群相关配置与信息。 */
declare interface InstanceAdvancedSettings {
/** 该节点属于podCIDR大小自定义模式时,可指定节点上运行的pod数量上限 */
DesiredPodNumber: number | null;
/** base64 编码的用户脚本,在初始化节点之前执行,目前只对添加已有节点生效 */
PreStartUserScript: string | null;
/** 运行时描述 */
RuntimeConfig?: RuntimeConfig | null;
/** base64 编码的用户脚本, 此脚本会在 k8s 组件运行后执行, 需要用户保证脚本的可重入及重试逻辑, 脚本及其生成的日志文件可在节点的 /data/ccs_userscript/ 路径查看, 如果要求节点需要在进行初始化完成后才可加入调度, 可配合 unschedulable 参数使用, 在 userScript 最后初始化完成后, 添加 kubectl uncordon nodename --kubeconfig=/root/.kube/config 命令使节点加入调度 */
UserScript?: string | null;
/** 节点相关的自定义参数信息 */
ExtraArgs?: InstanceExtraArgs | null;
}
/** 包年包月配置 */
declare interface InstanceChargePrepaid {
/** 后付费计费周期,单位(月):1,2,3,4,5,6,7, 8,9,10,11,12,24,36,48,60 */
Period?: number;
/** 预付费续费方式:- NOTIFY_AND_AUTO_RENEW:通知用户过期,且自动续费 - NOTIFY_AND_MANUAL_RENEW:通知用户过期,但不自动续费(默认)- DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知用户过期,也不自动续费 */
RenewFlag?: string;
}
/** 节点自定义参数 */
declare interface InstanceExtraArgs {
/** kubelet自定义参数,参数格式为["k1=v1", "k1=v2"], 例如["root-dir=/var/lib/kubelet","feature-gates=PodShareProcessNamespace=true,DynamicKubeletConfig=true"] */
Kubelet?: string[] | null;
}
/** 数值结构 */
declare interface IntOrString {
/** 数值类型,0是int, 1是字符串 */
Type: number | null;
/** 整数 */
IntVal?: number | null;
/** 字符串 */
StrVal?: string | null;
}
/** 公网带宽 */
declare interface InternetAccessible {
/** 带宽 */
MaxBandwidthOut: number;
/** 网络计费方式 */
ChargeType: string;
/** 带宽包 ID */
BandwidthPackageId?: string;
}
/** k8s中标签,一般以数组的方式存在 */
declare interface Label {
/** map表中的Name */
Name: string;
/** map表中的Value */
Value: string;
}
/** 节点池自定义脚本 */
declare interface LifecycleConfig {
/** 节点初始化前自定义脚本 */
PreInit?: string | null;
/** 节点初始化后自定义脚本 */
PostInit?: string | null;
}
/** 节点池弹性伸缩配置 */
declare interface MachineSetScaling {
/** 节点池最小副本数 */
MinReplicas?: number;
/** 节点池最大副本数 */
MaxReplicas?: number;
/** 节点池扩容策略。ZoneEquality:多可用区打散;ZonePriority:首选可用区优先; */
CreatePolicy?: string | null;
}
/** 托管节点池自动升级配置 */
declare interface MachineUpgradeSettings {
/** 是否开启自动升级 */
AutoUpgrade?: boolean;
/** 运维窗口 */
UpgradeOptions?: AutoUpgradeOptions;
/** 升级项 */
Components?: string[] | null;
/** 升级时,最大不可升级的节点数 */
MaxUnavailable?: IntOrString;
}
/** 托管节点池Management配置 */
declare interface ManagementConfig {
/** dns 配置 */
Nameservers?: string[] | null;
/** hosts 配置 */
Hosts?: string[] | null;
/** 内核参数配置 */
KernelArgs?: string[] | null;
}
/** 手动加入的节点 */
declare interface ManuallyAdded {
/** 加入中的节点数量 */
Joining?: number;
/** 初始化中的节点数量 */
Initializing?: number;
/** 正常的节点数量 */
Normal?: number;
/** 节点总数 */
Total?: number;
}
/** 节点信息 */
declare interface NativeNodeInfo {
/** 节点名称 */
MachineName?: string;
/** Machine 状态 */
MachineState?: string;
/** Machine 所在可用区 */
Zone?: string;
/** 节点计费类型。PREPAID:包年包月;POSTPAID_BY_HOUR:按量计费(默认); */
InstanceChargeType?: string;
/** 创建时间 */
CreatedAt?: string;
/** Machine 登录状态 */
LoginStatus?: string | null;
/** 是否开启缩容保护 */
IsProtectedFromScaleIn?: boolean | null;
/** Machine 名字 */
DisplayName?: string | null;
/** CPU核数,单位:核 */
CPU?: number;
/** GPU核数,单位:核 */
GPU?: number | null;
/** 自动续费标识 */
RenewFlag?: string;
/** 节点计费模式 */
PayMode?: string;
/** 节点内存容量,单位:`GB` */
Memory?: number;
/** 节点系统盘配置信息 */
SystemDisk?: Disk;
/** 公网带宽相关信息设置 */
InternetAccessible?: InternetAccessible;
/** 机型所属机型族 */
InstanceFamily?: string;
/** 节点内网 IP */
LanIp?: string;
/** 机型 */
InstanceType?: string;
/** 包年包月节点计费过期时间 */
ExpiredTime?: string | null;
/** 节点外网 IP */
WanIp?: string | null;
/** 节点密钥 ID 列表 */
KeyIds?: string[] | null;
/** 节点GPU相关配置 */
GPUParams?: GPUParams | null;
/** 数据盘列表 */
DataDisks?: DataDisk[] | null;
/** 安全组列表 */
SecurityGroupIDs?: string[] | null;
/** VPC 唯一 ID */
VpcId?: string;
/** 子网唯一 ID */
SubnetId?: string;
/** OS的名称 */
OsImage?: string | null;
/** **原生节点的 Machine 类型**- Native 表示 CXM 类型的原生节点- NativeCVM 表示 CVM 类型的原生节点 */
MachineType?: string;
/** **原生节点对应的实例 ID**- ins-q47ofw6 表示这个实例是一个 CVM 的实例- eks-f8mvyaep 表示这个实例是一个 CXM 的实例 */
InstanceId?: string | null;
}
/** 原生节点池信息 */
declare interface NativeNodePoolInfo {
/** 伸缩配置 */
Scaling?: MachineSetScaling;
/** 子网列表 */
SubnetIds?: string[];
/** 安全组列表 */
SecurityGroupIds?: string[] | null;
/** 自动升级配置 */
UpgradeSettings?: MachineUpgradeSettings;
/** 是否开启自愈能力 */
AutoRepair?: boolean | null;
/** 节点计费类型 */
InstanceChargeType?: string;
/** 包年包月机型计费配置 */
InstanceChargePrepaid?: InstanceChargePrepaid;
/** 系统盘配置 */
SystemDisk?: Disk;
/** 密钥 ID 列表 */
KeyIds?: string[] | null;
/** Machine 系统配置 */
Management?: ManagementConfig;
/** 故障自愈规则名称 */
HealthCheckPolicyName?: string | null;
/** 原生节点池hostName模式串 */
HostNamePattern?: string | null;
/** kubelet 自定义参数 */
KubeletArgs?: string[] | null;
/** 预定义脚本 */
Lifecycle?: LifecycleConfig;
/** 运行时根目录 */
RuntimeRootDir?: string;
/** 是否开启弹性伸缩 */
EnableAutoscaling?: boolean;
/** 机型列表 */
InstanceTypes?: string[];
/** 期望节点数 */
Replicas?: number;
/** 就绪 Machine 个数 */
ReadyReplicas?: number;
/** 公网带宽设置 */
InternetAccessible?: InternetAccessible;
/** 原生节点池数据盘 */
DataDisks?: DataDisk[] | null;
/** 原生节点机型 Native, NativeCVM */
MachineType?: string;
}
/** 节点统计列表 */
declare interface NodeCountSummary {
/** 手动管理的节点 */
ManuallyAdded?: ManuallyAdded | null;
/** 自动管理的节点 */
AutoscalingAdded?: AutoscalingAdded | null;
}
/** 节点池信息 */
declare interface NodePool {
/** 集群 ID */
ClusterId?: string;
/** 节点池 ID */
NodePoolId?: string;
/** 节点标签 */
Tags?: TagSpecification[] | null;
/** 节点污点 */
Taints?: Taint[] | null;
/** 是否开启删除保护 */
DeletionProtection?: boolean | null;
/** 节点是否不可调度 */
Unschedulable?: boolean | null;
/** 节点池类型 */
Type?: string;
/** 节点 Labels */
Labels?: Label[] | null;
/** 节点池状态 */
LifeState?: string;
/** 创建时间 */
CreatedAt?: string;
/** 节点池名称 */
Name?: string;
/** 原生节点池参数 */
Native?: NativeNodePoolInfo | null;
/** 节点 Annotation 列表 */
Annotations?: Annotation[] | null;
/** 超级节点池参数,在Type等于Super该字段才有值 */
Super?: SuperNodePoolInfo | null;
/** 普通节点池参数,在Type等于Regular该字段才有值 */
Regular?: RegularNodePoolInfo | null;
/** 第三方节点池参数,在Type等于External该字段才有值 */
External?: ExternalNodePoolInfo | null;
}
/** 普通节点信息 */
declare interface RegularNodeInfo {
/** 节点配置 */
InstanceAdvancedSettings?: InstanceAdvancedSettings | null;
/** 自动伸缩组ID */
AutoscalingGroupId?: string | null;
}
/** 普通节点池信息 */
declare interface RegularNodePoolInfo {
/** LaunchConfigurationId 配置 */
LaunchConfigurationId?: string;
/** AutoscalingGroupId 分组id */
AutoscalingGroupId?: string;
/** NodeCountSummary 节点列表 */
NodeCountSummary?: NodeCountSummary;
/** 状态信息 */
AutoscalingGroupStatus?: string | null;
/** 最大节点数量 */
MaxNodesNum?: number | null;
/** 最小节点数量 */
MinNodesNum?: number | null;
/** 期望的节点数量 */
DesiredNodesNum?: number | null;
/** 节点池osName */
NodePoolOs?: string | null;
/** 节点配置 */
InstanceAdvancedSettings?: InstanceAdvancedSettings | null;
}
/** 运行时配置 */
declare interface RuntimeConfig {
/** 运行时类型 */
RuntimeType?: string | null;
/** 运行时版本 */
RuntimeVersion?: string | null;
/** 运行时根目录 */
RuntimeRootDir?: string | null;
}
/** 排序信息 */
declare interface SortBy {
/** 排序指标 */
FieldName?: string;
/** 排序方式 */
OrderType?: string;
}
/** 超级节点信息 */
declare interface SuperNodeInfo {
/** 实例名称 */
Name?: string | null;
/** 自动续费标识 */
AutoRenewFlag?: number | null;
/** 资源类型 */
ResourceType?: string | null;
/** 节点的 CPU 规格,单位:核。 */
CPU?: number | null;
/** 节点上 Pod 的 CPU总和,单位:核。 */
UsedCPU?: number | null;
/** 节点的内存规格,单位:Gi。 */
Memory?: number | null;
/** 节点上 Pod 的内存总和,单位:Gi。 */
UsedMemory?: number | null;
/** 可用区 */
Zone?: string | null;
/** VPC 唯一 ID */
VpcId?: string | null;
/** 子网唯一 ID */
SubnetId?: string | null;
/** 生效时间 */
ActiveAt?: string | null;
/** 过期时间 */
ExpireAt?: string | null;
/** 可调度的单 Pod 最大 CPU 规格 */
MaxCPUScheduledPod?: number | null;
/** 实例属性 */
InstanceAttribute?: string | null;
}
/** 虚拟节点池信息 */
declare interface SuperNodePoolInfo {
/** 子网列表 */
SubnetIds?: string[] | null;
/** 安全组列表 */
SecurityGroupIds?: string[] | null;
}
/** 标签绑定的资源类型,当前支持类型:"cluster" */
declare interface Tag {
/** 标签键 */
Key?: string;
/** 标签值 */
Value?: string;
}
/** 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云主机实例。 */
declare interface TagSpecification {
/** 标签绑定的资源类型,当前支持类型:1.cluster:集群相关接口,TagSpecification 的 ResourceType 传参为 cluster2.machine:节点池相关接口,如:CreateNodePool, DescribeNodePools 等,TagSpecification 的 ResourceType 传参为 machine */
ResourceType?: string | null;
/** 标签对列表 */
Tags?: Tag[] | null;
}
/** kubernetes Taint */
declare interface Taint {
/** Taint的Key */
Key?: string;
/** Taint的Value */
Value?: string;
/** Taint的Effect */
Effect?: string;
}
/** 修改原生节点池参数 */
declare interface UpdateNativeNodePoolParam {
/** 伸缩配置 */
Scaling?: MachineSetScaling;
/** 子网列表 */
SubnetIds?: string[];
/** 安全组列表 */
SecurityGroupIds?: string[];
/** 自动升级配置 */
UpgradeSettings?: MachineUpgradeSettings;
/** 是否开启自愈能力 */
AutoRepair?: boolean;
/** 节点计费类型变更当前仅支持按量计费转包年包月:- PREPAID */
InstanceChargeType?: string;
/** 包年包月机型计费配置 */
InstanceChargePrepaid?: InstanceChargePrepaid;
/** 系统盘配置 */
SystemDisk?: Disk;
/** Machine 系统配置 */
Management?: ManagementConfig;
/** 故障自愈规则名称 */
HealthCheckPolicyName?: string;
/** 原生节点池hostName模式串 */
HostNamePattern?: string;
/** kubelet 自定义参数 */
KubeletArgs?: string[];
/** 预定义脚本 */
Lifecycle?: LifecycleConfig;
/** 运行时根目录 */
RuntimeRootDir?: string;
/** 是否开启弹性伸缩 */
EnableAutoscaling?: boolean;
/** 机型列表 */
InstanceTypes?: string[];
/** 期望节点数 */
Replicas?: number;
/** 是否更新存量节点 */
UpdateExistedNode?: boolean;
/** 数据盘列表 */
DataDisks?: DataDisk[];
/** ssh公钥id数组 */
KeyIds?: string[];
/** 节点池 GPU 配置 */
GPUConfigs?: GPUConfig[];
}
declare interface CreateHealthCheckPolicyRequest {
/** 集群ID */
ClusterId: string;
/** 健康检测策略 */
HealthCheckPolicy: HealthCheckPolicy;
}
declare interface CreateHealthCheckPolicyResponse {
/** 健康检测策略名称 */
HealthCheckPolicyName?: string;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface CreateNodePoolRequest {
/** 集群 ID */
ClusterId: string;
/** 节点池名称 */
Name: string;
/** 节点池类型 */
Type: string;
/** 节点 Labels */
Labels?: Label[];
/** 节点污点 */
Taints?: Taint[];
/** 节点标签 */
Tags?: TagSpecification[];
/** 是否开启删除保护 */
DeletionProtection?: boolean;
/** 节点是否默认不可调度 */
Unschedulable?: boolean;
/** 原生节点池创建参数(Type字段设置为Native时需填写) */
Native?: CreateNativeNodePoolParam;
/** 节点 Annotation 列表 */
Annotations?: Annotation[];
}
declare interface CreateNodePoolResponse {
/** 节点池 ID */
NodePoolId?: string;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DeleteClusterMachinesRequest {
/** 集群 ID */
ClusterId: string;
/** 节点名列表 */
MachineNames: string[];
/** 删除节点时是否缩容节点池,true为缩容 */
EnableScaleDown?: boolean;
/** 集群实例删除时的策略:terminate(销毁实例,仅支持按量计费云主机实例)retain(仅移除,保留实例) */
InstanceDeleteMode?: string;
}
declare interface DeleteClusterMachinesResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DeleteHealthCheckPolicyRequest {
/** 集群 ID */
ClusterId: string;
/** 健康检测策略名称 */
HealthCheckPolicyName: string;
}
declare interface DeleteHealthCheckPolicyResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DeleteNodePoolRequest {
/** 集群 ID */
ClusterId: string;
/** 节点池 ID */
NodePoolId: string;
}
declare interface DeleteNodePoolResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DescribeClusterInstancesRequest {
/** 集群ID */
ClusterId: string;
/** 偏移量,默认为0。关于Offset的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 */
Offset?: number;
/** 返回数量,默认为20,最大值为100。关于Limit的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 */
Limit?: number;
/** 过滤条件列表:InstanceIds(实例ID),InstanceType(实例类型:Regular,Native,Super,External),VagueIpAddress(模糊匹配IP),Labels(k8s节点label),NodePoolNames(节点池名称),VagueInstanceName(模糊匹配节点名),InstanceStates(节点状态),Unschedulable(是否封锁),NodePoolIds(节点池ID) */
Filters?: Filter[];
/** 排序信息 */
SortBy?: SortBy;
}
declare interface DescribeClusterInstancesResponse {
/** 集群中实例总数 */
TotalCount?: number;
/** 集群中实例列表 */
InstanceSet?: Instance[];
/** 错误信息集合 */
Errors?: string[];
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DescribeHealthCheckPoliciesRequest {
/** 集群 ID */
ClusterId: string;
/** · HealthCheckPolicyName 按照【健康检测策略名称】进行过滤。 类型:String 必选:否 */
Filters?: Filter[];
/** 最大输出条数,默认20,最大为100 */
Limit?: number;
/** 偏移量,默认0 */
Offset?: number;
}
declare interface DescribeHealthCheckPoliciesResponse {
/** 健康检测策略数组 */
HealthCheckPolicies?: HealthCheckPolicy[] | null;
/** 数组总数目 */
TotalCount?: number;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DescribeHealthCheckPolicyBindingsRequest {
/** 集群 ID */
ClusterId: string;
/** · HealthCheckPolicyName 按照【健康检测规则名称】进行过滤。 类型:String 必选:否 */
Filter?: Filter[];
/** 最大输出条数,默认20,最大为100 */
Limit?: number;
/** 偏移量,默认0 */
Offset?: number;
}
declare interface DescribeHealthCheckPolicyBindingsResponse {
/** 健康检测规则数组 */
HealthCheckPolicyBindings?: HealthCheckPolicyBinding[] | null;
/** 健康检测规则数量 */
TotalCount?: number;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DescribeHealthCheckTemplateRequest {
}
declare interface DescribeHealthCheckTemplateResponse {
/** 健康检测策略模板 */
HealthCheckTemplate?: HealthCheckTemplate;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface DescribeNodePoolsRequest {
/** 集群 ID */
ClusterId: string;
/** 查询过滤条件:· NodePoolsName 按照【节点池名】进行过滤。 类型:String 必选:否· NodePoolsId 按照【节点池id】进行过滤。 类型:String 必选:否· tags 按照【标签键值对】进行过滤。 类型:String 必选:否· tag:tag-key 按照【标签键值对】进行过滤。 类型:String 必选:否 */
Filters?: Filter[];
/** 偏移量,默认0 */
Offset?: number;
/** 最大输出条数,默认20,最大为100 */
Limit?: number;
}
declare interface DescribeNodePoolsResponse {
/** 节点池列表 */
NodePools?: NodePool[];
/** 资源总数 */
TotalCount?: number;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface ModifyHealthCheckPolicyRequest {
/** 集群 ID */
ClusterId: string;
/** 健康检测策略 */
HealthCheckPolicy: HealthCheckPolicy;
}
declare interface ModifyHealthCheckPolicyResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface ModifyNodePoolRequest {
/** 集群 ID */
ClusterId: string;
/** 节点池 ID */
NodePoolId: string;
/** 节点池名称 */
Name?: string;
/** 节点 Labels */
Labels?: Label[];
/** 节点污点 */
Taints?: Taint[];
/** 节点标签 */
Tags?: TagSpecification[];
/** 是否开启删除保护 */
DeletionProtection?: boolean;
/** 节点是否不可调度 */
Unschedulable?: boolean;
/** 原生节点池更新参数 */
Native?: UpdateNativeNodePoolParam;
/** 节点 Annotation 列表 */
Annotations?: Annotation[];
}
declare interface ModifyNodePoolResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface RebootMachinesRequest {
/** 集群 ID */
ClusterId: string;
/** 节点名字列表,一次请求,传入节点数量上限为100个 */
MachineNames: string[];
/** 实例的关闭模式。取值范围:soft_first:表示在正常关闭失败后进行强制关闭hard:直接强制关闭soft:仅软关机默认取值:soft。 */
StopType?: string;
}
declare interface RebootMachinesResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface SetMachineLoginRequest {
/** 集群 ID */
ClusterId: string;
/** 节点名称 */
MachineName: string;
/** 密钥 ID 列表 */
KeyIds?: string[];
}
declare interface SetMachineLoginResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface StartMachinesRequest {
/** 集群 ID */
ClusterId: string;
/** 节点名字列表,一次请求,传入节点数量上限为100个 */
MachineNames: string[];
}
declare interface StartMachinesResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface StopMachinesRequest {
/** 集群 ID */
ClusterId: string;
/** 节点名字列表,一次请求,传入节点数量上限为100个 */
MachineNames: string[];
/** 实例的关闭模式。取值范围:soft_first:表示在正常关闭失败后进行强制关闭hard:直接强制关闭soft:仅软关机 */
StopType?: string;
}
declare interface StopMachinesResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare namespace V20180525 {
type VersionHeader = { headers: { 'X-TC-Version': '2018-05-25' } }
/** addon的具体描述 */
interface Addon {
/** addon名称 */
AddonName?: string;
/** addon的版本 */
AddonVersion?: string;
/** addon的参数,是一个json格式的base64转码后的字符串 */
RawValues?: string;
/** addon的状态:- Installing:安装中- Upgrading:升级中- Terminating:删除中- Succeeded:安装/升级成功- InstallFailed:安装失败- UpgradFailed:升级失败 */
Phase?: string;
/** addon失败的原因 */
Reason?: string;
/** addon的创建时间 */
CreateTime?: string;
}
/** 注释 */
interface AnnotationValue {
/** 注释键 */
Name: string;
/** 注释值 */
Value: string;
}
/** app所支持的chart */
interface AppChart {
/** chart名称 */
Name?: string;
/** chart的标签 */
Label?: string;
/** chart的版本 */
LatestVersion?: string;
}
/** 集群关联的伸缩组最大实例数最小值实例数 */
interface AutoScalingGroupRange {
/** 伸缩组最小实例数 */
MinSize?: number;
/** 伸缩组最大实例数 */
MaxSize?: number;
}
/** 自动变配集群等级 */
interface AutoUpgradeClusterLevel {
/** 是否开启自动变配集群等级 */
IsAutoUpgrade: boolean;
}
/** 自动扩缩容的节点 */
interface AutoscalingAdded {
/** 正在加入中的节点数量 */
Joining?: number;
/** 初始化中的节点数量 */
Initializing?: number;
/** 正常的节点数量 */
Normal?: number;
/** 节点总数 */
Total?: number;
}
/** 仓储仓库信息 */
interface BackupStorageLocation {
/** 备份仓库名称 */
Name?: string;
/** 存储仓库所属地域,比如COS广州(ap-guangzhou) */
StorageRegion?: string;
/** 存储服务提供方,默认腾讯云 */
Provider?: string;
/** 对象存储桶名称,如果是COS必须是tke-backup-前缀开头 */
Bucket?: string;
/** 对象存储桶路径 */
Path?: string;
/** 存储仓库状态- Available: 可用- Unavailable: 不可用 */
State?: string;
/** 详细状态信息 */
Message?: string;
/** 最后一次检查时间 */
LastValidationTime?: string;
}
/** cuDNN的版本信息 */
interface CUDNN {
/** cuDNN的名字 */
Name: string;
/** cuDNN的版本 */
Version: string;
/** cuDNN的Dev名字 */
DevName?: string;
/** cuDNN的Doc名字 */
DocName?: string;
}
/** cloudrun安全特性能力 */
interface Capabilities {
/** 启用安全能力项列表 */
Add?: string[] | null;
/** 禁用安全能力向列表 */
Drop?: string[] | null;
}
/** EKS Instance CBS volume */
interface CbsVolume {
/** 腾讯云cbs盘Id */
CbsDiskId: string;
/** cbs volume 数据卷名称 */
Name: string;
}
/** 集群信息结构体 */
interface Cluster {
/** 集群ID */
ClusterId?: string;
/** 集群名称 */
ClusterName?: string;
/** 集群描述 */
ClusterDescription?: string;
/** 集群版本(默认值为1.10.5) */
ClusterVersion?: string;
/** 集群系统。centos7.2x86_64 或者 ubuntu16.04.1 LTSx86_64,默认取值为ubuntu16.04.1 LTSx86_64 */
ClusterOs?: string;
/** 集群类型,托管集群:MANAGED_CLUSTER,独立集群:INDEPENDENT_CLUSTER。 */
ClusterType?: string;
/** 集群网络相关参数 */
ClusterNetworkSettings?: ClusterNetworkSettings;
/** 集群当前node数量 */
ClusterNodeNum?: number;
/** 集群所属的项目ID */
ProjectId?: number;
/** 标签描述列表。 */
TagSpecification?: TagSpecification[] | null;
/** 集群状态 (Trading 集群开通中,Creating 创建中,Running 运行中,Deleting 删除中,Idling 闲置中,Recovering 唤醒中,Scaling 规模调整中,Upgrading 升级中,WaittingForConnect 等待注册,Trading 集群开通中,Isolated 欠费隔离中,Pause 集群升级暂停,NodeUpgrading 节点升级中,RuntimeUpgrading 节点运行时升级中,MasterScaling Master扩缩容中,ClusterLevelUpgrading 调整规格中,ResourceIsolate 隔离中,ResourceIsolated 已隔离,ResourceReverse 冲正中,Abnormal 异常) */
ClusterStatus?: string;
/** 集群属性(包括集群不同属性的MAP,属性字段包括NodeNameType (lan-ip模式和hostname 模式,默认无lan-ip模式)) */
Property?: string;
/** 集群当前master数量 */
ClusterMaterNodeNum?: number;
/** 集群使用镜像id */
ImageId?: string;
/** OsCustomizeType 系统定制类型 */
OsCustomizeType?: string;
/** 集群运行环境docker或container */
ContainerRuntime?: string;
/** 创建时间 */
CreatedTime?: string;
/** 删除保护开关 */
DeletionProtection?: boolean;
/** 集群是否开启第三方节点支持 */
EnableExternalNode?: boolean;
/** 集群等级,针对托管集群生效 */
ClusterLevel?: string;
/** 自动变配集群等级,针对托管集群生效 */
AutoUpgradeClusterLevel?: boolean;
/** 是否开启QGPU共享 */
QGPUShareEnable?: boolean;
/** 运行时版本 */
RuntimeVersion?: string;
/** 集群当前etcd数量 */
ClusterEtcdNodeNum?: number;
/** 本地专用集群Id */
CdcId?: string;
}
/** 集群高级配置 */
interface ClusterAdvancedSettings {
/** 是否启用集群节点自动扩缩容(创建集群流程不支持开启此功能) */
AsEnabled?: boolean;
/** 是否开启审计开关 */
AuditEnabled?: boolean;
/** 审计日志上传到的topic */
AuditLogTopicId?: string;
/** 审计日志上传到的logset日志集 */
AuditLogsetId?: string;
/** 自定义模式下的基础pod数量 */
BasePodNumber?: number;
/** 启用 CiliumMode 的模式,空值表示不启用,“clusterIP” 表示启用 Cilium 支持 ClusterIP */
CiliumMode?: string;
/** 集群使用的runtime类型,包括"docker"和"containerd"两种类型,默认为"docker" */
ContainerRuntime?: string;
/** 是否启用 DataPlaneV2(cilium替代kube-proxy) */
DataPlaneV2?: boolean;
/** 是否启用集群删除保护 */
DeletionProtection?: boolean;
/** 是否开节点podCIDR大小的自定义模式 */
EnableCustomizedPodCIDR?: boolean;
/** 元数据拆分存储Etcd配置 */
EtcdOverrideConfigs?: EtcdOverrideConfig[];
/** 集群自定义参数 */
ExtraArgs?: ClusterExtraArgs;
/** 是否启用IPVS */
IPVS?: boolean;
/** 集群VPC-CNI模式下是否是双栈集群,默认false,表明非双栈集群。 */
IsDualStack?: boolean;
/** 集群VPC-CNI模式是否为非固定IP,默认: FALSE 固定IP。 */
IsNonStaticIpMode?: boolean;
/** 集群的网络代理模型,目前tke集群支持的网络代理模式有三种:iptables,ipvs,ipvs-bpf,此参数仅在使用ipvs-bpf模式时使用,三种网络模式的参数设置关系如下:iptables模式:IPVS和KubeProxyMode都不设置ipvs模式: 设置IPVS为true, KubeProxyMode不设置ipvs-bpf模式: 设置KubeProxyMode为kube-proxy-bpf使用ipvs-bpf的网络模式需要满足以下条件:1. 集群版本必须为1.14及以上;2. 系统镜像必须是: Tencent Linux 2.4; */
KubeProxyMode?: string;
/** 集群网络类型,默认为GR。- GR: 全局路由- VPC-CNI: VPC-CNI模式- CiliumOverlay: CiliumOverlay模式 */
NetworkType?: string;
/** 集群中节点NodeName类型(包括 hostname,lan-ip两种形式,默认为lan-ip。如果开启了hostname模式,创建节点时需要设置HostName参数,并且InstanceName需要和HostName一致) */
NodeNameType?: string;
/** 是否开启QGPU共享 */
QGPUShareEnable?: boolean;
/** 运行时版本 */
RuntimeVersion?: string;
/** 区分共享网卡多IP模式和独立网卡模式,共享网卡多 IP 模式填写"tke-route-eni",独立网卡模式填写"tke-direct-eni",默认为共享网卡模式 */
VpcCniType?: string;
}
/** 集群关联的伸缩组信息 */
interface ClusterAsGroup {
/** 伸缩组ID */
AutoScalingGroupId?: string;
/** 伸缩组状态(开启 enabled 开启中 enabling 关闭 disabled 关闭中 disabling 更新中 updating 删除中 deleting 开启缩容中 scaleDownEnabling 关闭缩容中 scaleDownDisabling) */
Status?: string;
/** 节点是否设置成不可调度 */
IsUnschedulable?: boolean;
/** 伸缩组的label列表 */
Labels?: Label[];
/** 创建时间 */
CreatedTime?: string;
}
/** 集群伸缩组属性 */
interface ClusterAsGroupAttribute {
/** 伸缩组ID */
AutoScalingGroupId?: string;
/** 是否开启 */
AutoScalingGroupEnabled?: boolean;
/** 伸缩组最大最小实例数 */
AutoScalingGroupRange?: AutoScalingGroupRange;
}
/** 集群弹性伸缩配置 */
interface ClusterAsGroupOption {
/** 是否开启缩容 */
IsScaleDownEnabled?: boolean | null;
/** 多伸缩组情况下扩容选择算法(random 随机选择,most-pods 最多类型的Pod least-waste 最少的资源浪费,默认为random) */
Expander?: string;
/** 最大并发缩容数 */
MaxEmptyBulkDelete?: number | null;
/** 集群扩容后多少分钟开始判断缩容(默认为10分钟) */
ScaleDownDelay?: number | null;
/** 节点连续空闲多少分钟后被缩容(默认为 10分钟) */
ScaleDownUnneededTime?: number | null;
/** 节点资源使用量低于多少(百分比)时认为空闲(默认: 50(百分比)) */
ScaleDownUtilizationThreshold?: number | null;
/** 含有本地存储Pod的节点是否不缩容(默认: true) */
SkipNodesWithLocalStorage?: boolean | null;
/** 含有kube-system namespace下非DaemonSet管理的Pod的节点是否不缩容 (默认: true) */
SkipNodesWithSystemPods?: boolean | null;
/** 计算资源使用量时是否默认忽略DaemonSet的实例(默认值: False,不忽略) */
IgnoreDaemonSetsUtilization?: boolean | null;
/** CA做健康性判断的个数,默认3,即超过OkTotalUnreadyCount个数后,CA会进行健康性判断。 */
OkTotalUnreadyCount?: number | null;
/** 未就绪节点的最大百分比,此后CA会停止操作 */
MaxTotalUnreadyPercentage?: number | null;
/** 表示未准备就绪的节点在有资格进行缩减之前应该停留多长时间 */
ScaleDownUnreadyTime?: number | null;
/** CA删除未在Kubernetes中注册的节点之前等待的时间 */
UnregisteredNodeRemovalTime?: number | null;
}
/** 描述集群的基本配置信息 */
interface ClusterBasicSettings {
/** 集群操作系统,支持设置公共镜像(字段传相应镜像Name)和自定义镜像(字段传相应镜像ID),详情参考:https://cloud.tencent.com/document/product/457/68289 */
ClusterOs?: string;
/** 集群版本,默认值为1.10.5 */
ClusterVersion?: string;
/** 集群名称 */
ClusterName?: string;
/** 集群描述 */
ClusterDescription?: string;
/** 私有网络ID,形如vpc-e55paxnt。创建托管空集群时必传。 */
VpcId?: string;
/** 集群内新增资源所属项目ID。 */
ProjectId?: number;
/** 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到集群实例。 */
TagSpecification?: TagSpecification[];
/** 容器的镜像版本,"DOCKER_CUSTOMIZE"(容器定制版),"GENERAL"(普通版本,默认值) */
OsCustomizeType?: string;
/** 是否开启节点的默认安全组(默认: 否,Alpha特性) */
NeedWorkSecurityGroup?: boolean;
/** 控制面子网信息,仅在以下场景使用时要求必填。- 容器网络插件为CiliumOverlay时,TKE会从该子网获取2个IP用来创建内网负载均衡。- 创建支持CDC的托管集群,且网络插件为VPC-CNI时,要求预留至少12个IP。 */
SubnetId?: string;
/** 集群等级,针对托管集群生效 */
ClusterLevel?: string;
/** 自动变配集群等级,针对托管集群生效 */
AutoUpgradeClusterLevel?: AutoUpgradeClusterLevel;
}
/** 集群容器网络相关参数 */
interface ClusterCIDRSettings {
/** 用于分配集群容器和服务 IP 的 CIDR,不得与 VPC CIDR 冲突,也不得与同 VPC 内其他集群 CIDR 冲突。且网段范围必须在内网网段内,例如:10.1.0.0/14, 192.168.0.1/18,172.16.0.0/16。 */
ClusterCIDR?: string;
/** 是否忽略 ClusterCIDR 冲突错误, 默认不忽略 */
IgnoreClusterCIDRConflict?: boolean;
/** 集群中每个Node上最大的Pod数量。取值范围16~256。不为2的幂值时会向上取最接近的2的幂值。 */
MaxNodePodNum?: number;
/** 集群最大的service数量。取值范围32~32768,不为2的幂值时会向上取最接近的2的幂值。默认值256 */
MaxClusterServiceNum?: number;
/** 用于分配集群服务 IP 的 CIDR,不得与 VPC CIDR 冲突,也不得与同 VPC 内其他集群 CIDR 冲突。且网段范围必须在内网网段内,例如:10.1.0.0/14, 192.168.0.1/18,172.16.0.0/16。 */
ServiceCIDR?: string;
/** VPC-CNI网络模式下,弹性网卡的子网Id。 */
EniSubnetIds?: string[];
/** VPC-CNI网络模式下,弹性网卡IP的回收时间,取值范围[300,15768000) */
ClaimExpiredSeconds?: number;
/** 是否忽略 ServiceCIDR 冲突错误, 仅在 VPC-CNI 模式生效,默认不忽略 */
IgnoreServiceCIDRConflict?: boolean;
}
/** 集群创建过程 */
interface ClusterCondition {
/** 集群创建过程类型 */
Type?: string;
/** 集群创建过程状态 */
Status?: string;
/** 最后一次探测到该状态的时间 */
LastProbeTime?: string;
/** 最后一次转换到该过程的时间 */
LastTransitionTime?: string;
/** 转换到该过程的简明原因 */
Reason?: string;
/** 转换到该过程的更多信息 */
Message?: string;
}
/** 接入k8s 的认证信息 */
interface ClusterCredential {
/** CA 根证书 */
CACert: string;
/** 认证用的Token */
Token?: string;
}
/** 集群master自定义参数 */
interface ClusterExtraArgs {
/** etcd自定义参数,只支持独立集群 */
Etcd?: string[] | null;
/** kube-apiserver自定义参数,参数格式为["k1=v1", "k1=v2"], 例如["max-requests-inflight=500","feature-gates=PodShareProcessNamespace=true,DynamicKubeletConfig=true"] */
KubeAPIServer?: string[] | null;
/** kube-controller-manager自定义参数 */
KubeControllerManager?: string[] | null;
/** kube-scheduler自定义参数 */
KubeScheduler?: string[] | null;
}
/** 弹性容器集群内网访问LB信息 */
interface ClusterInternalLB {
/** 是否开启内网访问LB */
Enabled: boolean;
/** 内网访问LB关联的子网Id */
SubnetId?: string | null;
}
/** 托管集群等级属性 */
interface ClusterLevelAttribute {
/** 集群等级 */
Name?: string;
/** 等级名称 */
Alias?: string;
/** 节点数量 */
NodeCount?: number;
/** Pod数量 */
PodCount?: number;
/** Configmap数量 */
ConfigMapCount?: number;
/** ReplicaSets数量 */
RSCount?: number;
/** CRD数量 */
CRDCount?: number;
/** 是否启用 */
Enable?: boolean;
/** 其他资源数量 */
OtherCount?: number;
}
/** 集群等级变配记录 */
interface ClusterLevelChangeRecord {
/** 记录ID */
ID?: string;
/** 集群ID */
ClusterID?: string;
/** 变配状态:trading 发货中,upgrading 变配中,success 变配成功,failed 变配失败。 */
Status?: string;
/** 状态描述 */
Message?: string;
/** 变配前规模 */
OldLevel?: string;
/** 变配后规模 */
NewLevel?: string;
/** 变配触发类型:manual 手动,auto 自动 */
TriggerType?: string;
/** 创建时间 */
CreatedAt?: string;
/** 开始时间 */
StartedAt?: string;
/** 结束时间 */
EndedAt?: string;
}
/** 集群网络相关的参数 */
interface ClusterNetworkSettings {
/** 用于分配集群容器和服务 IP 的 CIDR,不得与 VPC CIDR 冲突,也不得与同 VPC 内其他集群 CIDR 冲突 */
ClusterCIDR?: string;
/** 是否忽略 ClusterCIDR 冲突错误, 默认不忽略 */
IgnoreClusterCIDRConflict?: boolean;
/** 集群中每个Node上最大的Pod数量(默认为256) */
MaxNodePodNum?: number;
/** 集群最大的service数量(默认为256) */
MaxClusterServiceNum?: number;
/** 是否启用IPVS(默认不开启) */
Ipvs?: boolean;
/** 集群的VPCID(如果创建空集群,为必传值,否则自动设置为和集群的节点保持一致) */
VpcId?: string;
/** 网络插件是否启用CNI(默认开启) */
Cni?: boolean;
/** service的网络模式,当前参数只适用于ipvs+bpf模式 */
KubeProxyMode?: string;
/** 用于分配service的IP range,不得与 VPC CIDR 冲突,也不得与同 VPC 内其他集群 CIDR 冲突 */
ServiceCIDR?: string;
/** 集群关联的容器子网 */
Subnets?: string[] | null;
/** 是否忽略 ServiceCIDR 冲突错误, 仅在 VPC-CNI 模式生效,默认不忽略 */
IgnoreServiceCIDRConflict?: boolean;
/** 集群VPC-CNI模式是否为非双栈集群,默认false,非双栈。 */
IsDualStack?: boolean;
/** 用于分配service的IP range,由系统自动分配 */
Ipv6ServiceCIDR?: string;
/** 集群Cilium Mode配置- clusterIP */
CiliumMode?: string;
/** 控制面子网信息,仅在以下场景返回。- 容器网络插件为CiliumOverlay。- 支持CDC的托管集群,且网络插件为VPC-CNI。 */
SubnetId?: string;
/** 是否启用了 DataPlaneV2(cilium替代kube-proxy) */
DataPlaneV2?: boolean;
}
/** 集群属性 */
interface ClusterProperty {
/** 节点hostname命名模式 */
NodeNameType?: string;
}
/** 弹性容器集群公网访问负载均衡信息 */
interface ClusterPublicLB {
/** 是否开启公网访问LB */
Enabled: boolean;
/** 允许访问的来源CIDR列表 */
AllowFromCidrs?: string[];
/** 安全策略放通单个IP或CIDR(例如: "192.168.1.0/24",默认为拒绝所有) */
SecurityPolicies?: string[];
/** 外网访问相关的扩展参数,格式为json */
ExtraParam?: string;
/** 新内外网功能,需要传递安全组 */
SecurityGroup?: string;
}
/** 集群状态信息 */
interface ClusterStatus {
/** 集群Id */
ClusterId?: string;
/** 集群状态 */
ClusterState?: string;
/** 集群下机器实例的状态 */
ClusterInstanceState?: string;
/** 集群是否开启监控 */
ClusterBMonitor?: boolean;
/** 集群创建中的节点数,-1表示获取节点状态超时,-2表示获取节点状态失败 */
ClusterInitNodeNum?: number;
/** 集群运行中的节点数,-1表示获取节点状态超时,-2表示获取节点状态失败 */
ClusterRunningNodeNum?: number;
/** 集群异常的节点数,-1表示获取节点状态超时,-2表示获取节点状态失败 */
ClusterFailedNodeNum?: number;
/** 集群已关机的节点数,-1表示获取节点状态超时,-2表示获取节点状态失败 */
ClusterClosedNodeNum?: number;
/** 集群关机中的节点数,-1表示获取节点状态超时,-2表示获取节点状态失败 */
ClusterClosingNodeNum?: number;
/** 集群是否开启删除保护 */
ClusterDeletionProtection?: boolean;
/** 集群是否可审计 */
ClusterAuditEnabled?: boolean;
}
/** 集群版本信息 */
interface ClusterVersion {
/** 集群ID */
ClusterId?: string;
/** 集群主版本号列表,例如1.18.4 */
Versions?: string[];
}
/** 账户UIN与客户端证书CommonName的映射 */
interface CommonName {
/** 子账户UIN */
SubaccountUin?: string;
/** 子账户客户端证书中的CommonName字段 */
CN?: string;
}
/** EKS Instance Container容器 */
interface Container {
/** 镜像 */
Image: string;
/** 容器名 */
Name: string;
/** 容器启动参数 */
Args?: string[];
/** 容器启动命令 */
Commands?: string[];
/** CPU,制改容器最多可使用的核数,该值不可超过容器实例的总核数。单位:核。 */
Cpu?: number;
/** 当前状态 */
CurrentState?: ContainerState;
/** 容器内操作系统的环境变量 */
EnvironmentVars?: EnvironmentVariable[];
/** Gpu限制 */
GpuLimit?: number | null;
/** 存活探针 */
LivenessProbe?: LivenessOrReadinessProbe | null;
/** 内存,限制该容器最多可使用的内存值,该值不可超过容器实例的总内存值。单位:GiB */
Memory?: number;
/** 就绪探针 */
ReadinessProbe?: LivenessOrReadinessProbe | null;
/** 重启次数 */
RestartCount?: number | null;
/** 容器的安全上下文 */
SecurityContext?: SecurityContext | null;
/** 数据卷挂载信息 */
VolumeMounts?: VolumeMount[] | null;
/** 容器工作目录 */
WorkingDir?: string;
}
/** 容器状态 */
interface ContainerState {
/** 容器运行退出码 */
ExitCode?: number | null;
/** 容器运行结束时间 */
FinishTime?: string | null;
/** 容器状态信息 */
Message?: string | null;
/** 容器状态 Reason */
Reason?: string | null;
/** 容器重启次数 */
RestartCount?: number | null;
/** 容器运行开始时间 */
StartTime?: string | null;
/** 容器状态:created, running, exited, unknown */
State?: string;
}
/** 集群中控制器的状态描述 */
interface ControllerStatus {
/** 控制器的名字 */
Name: string;
/** 控制器是否开启 */
Enabled: boolean;
}
/** 自定义驱动信息 */
interface CustomDriver {
/** 自定义GPU驱动地址链接 */
Address?: string;
}
/** 自定义DNS配置 */
interface DNSConfig {
/** DNS 服务器IP地址列表 */
Nameservers?: string[];
/** 对象选项列表,每个对象由name和value(可选)构成 */
Options?: DNSConfigOption[];
/** DNS搜索域列表 */
Searches?: string[];
}
/** DNS配置选项 */
interface DNSConfigOption {
/** 配置项名称 */
Name: string | null;
/** 项值 */
Value: string | null;
}
/** 描述了k8s节点数据盘相关配置与信息。 */
interface DataDisk {
/** 云盘类型 */
DiskType: string;
/** 文件系统(ext3/ext4/xfs) */
FileSystem: string;
/** 云盘大小(G) */
DiskSize: number;
/** 是否自动化格式盘并挂载 */
AutoFormatAndMount: boolean;
/** 挂载目录 */
MountTarget: string;
/** 挂载设备名或分区名,当且仅当添加已有节点时需要 */
DiskPartition: string;
}
/** Eks 自定义域名服务器 配置 */
interface DnsServerConf {
/** 域名。空字符串表示所有域名。 */
Domain: string;
/** dns 服务器地址列表。地址格式 ip:port */
DnsServers: string[];
}
/** GPU驱动和CUDA的版本信息 */
interface DriverVersion {
/** GPU驱动或者CUDA的名字 */
Name: string;
/** GPU驱动或者CUDA的版本 */
Version: string;
}
/** ECM增强服务 */
interface ECMEnhancedService {
/** 是否开启云监控服务 */
SecurityService?: ECMRunMonitorServiceEnabled;
/** 是否开启云镜服务 */
MonitorService?: ECMRunSecurityServiceEnabled;
}
/** ECM云监控服务 */
interface ECMRunMonitorServiceEnabled {
/** 是否开启 */
Enabled?: boolean;
}
/** ECM云镜服务 */
interface ECMRunSecurityServiceEnabled {
/** 是否开启 */
Enabled?: boolean;
/** 云镜版本:0 基础版,1 专业版 */
Version?: number;
}
/** ECM实例可用区及对应的实例创建数目及运营商的组合 */
interface ECMZoneInstanceCountISP {
/** 创建实例的可用区 */
Zone: string;
/** 在当前可用区欲创建的实例数目 */
InstanceCount: number;
/** 运营商 */
ISP: string;
}
/** 边缘容器参数描述 */
interface EdgeArgsFlag {
/** 参数名 */
Name?: string;
/** 参数类型 */
Type?: string;
/** 参数描述 */
Usage?: string;
/** 参数默认值 */
Default?: string;
/** 参数可选范围(目前包含range和in两种,"[]"代表range,如"[1, 5]"表示参数必须>=1且 <=5, "()"代表in, 如"('aa', 'bb')"表示参数只能为字符串'aa'或者'bb',该参数为空表示不校验) */
Constraint?: string;
}
/** 边缘容器集群可用的自定义参数 */
interface EdgeAvailableExtraArgs {
/** kube-apiserver可用的自定义参数 */
KubeAPIServer?: EdgeArgsFlag[];
/** kube-controller-manager可用的自定义参数 */
KubeControllerManager?: EdgeArgsFlag[];
/** kube-scheduler可用的自定义参数 */
KubeScheduler?: EdgeArgsFlag[];
/** kubelet可用的自定义参数 */
Kubelet?: EdgeArgsFlag[];
}
/** 边缘计算集群信息 */
interface EdgeCluster {
/** 集群Id */
ClusterId: string;
/** 集群名称 */
ClusterName: string;
/** Vpc Id */
VpcId: string;
/** 集群pod cidr */
PodCIDR: string;
/** 集群 service cidr */
ServiceCIDR: string;
/** k8s 版本号 */
K8SVersion: string;
/** 集群状态 */
Status?: string;
/** 集群描述信息 */
ClusterDesc?: string;
/** 集群创建时间 */
CreatedTime?: string;
/** 边缘集群版本 */
EdgeClusterVersion?: string;
/** 节点最大Pod数 */
MaxNodePodNum?: number;
/** 集群高级设置 */
ClusterAdvancedSettings?: EdgeClusterAdvancedSettings;
/** 边缘容器集群级别 */
Level?: string;
/** 是否支持自动提升集群配置 */
AutoUpgradeClusterLevel?: boolean;
/** 集群付费模式,支持POSTPAID_BY_HOUR或者PREPAID */
ChargeType?: string;
/** 边缘集群组件的版本 */
EdgeVersion?: string;
/** 集群绑定的云标签 */
TagSpecification?: TagSpecification | null;
}
/** 边缘容器集群高级配置 */
interface EdgeClusterAdvancedSettings {
/** 集群自定义参数 */
ExtraArgs?: EdgeClusterExtraArgs | null;
/** 运行时类型,支持"docker"和"containerd",默认为docker */
Runtime?: string;
/** 集群kube-proxy转发模式,支持"iptables"和"ipvs",默认为iptables */
ProxyMode?: string;
}
/** 边缘容器集群master自定义参数 */
interface EdgeClusterExtraArgs {
/** kube-apiserver自定义参数,参数格式为["k1=v1", "k1=v2"], 例如["max-requests-inflight=500","feature-gates=PodShareProcessNamespace=true,DynamicKubeletConfig=true"] */
KubeAPIServer?: string[];
/** kube-controller-manager自定义参数 */
KubeControllerManager?: string[];
/** kube-scheduler自定义参数 */
KubeScheduler?: string[];
}
/** 边缘计算集群内网访问LB信息 */
interface EdgeClusterInternalLB {
/** 是否开启内网访问LB */
Enabled: boolean;
/** 内网访问LB关联的子网Id */
SubnetId?: string[];
}
/** 边缘计算集群公网访问负载均衡信息 */
interface EdgeClusterPublicLB {
/** 是否开启公网访问LB */
Enabled: boolean;
/** 允许访问的公网cidr */
AllowFromCidrs?: string[];
}
/** 用以帮助用户自动创建EIP的配置 */
interface EipAttribute {
/** 容器实例删除后,EIP是否释放。Never表示不释放,其他任意值(包括空字符串)表示释放。 */
DeletePolicy: string;
/** EIP线路类型。默认值:BGP。已开通静态单线IP白名单的用户,可选值:CMCC:中国移动CTCC:中国电信CUCC:中国联通注意:仅部分地域支持静态单线IP。 */
InternetServiceProvider?: string | null;
/** EIP出带宽上限,单位:Mbps。 */
InternetMaxBandwidthOut?: number | null;
}
/** EksContainerInstance实例类型 */
interface EksCi {
/** 自动为用户创建的EipId */
AutoCreatedEipId?: string;
/** 为容器实例关联 CAM 角色,value 填写 CAM 角色名称,容器实例可获取该 CAM 角色包含的权限策略,方便 容器实例 内的程序进行如购买资源、读写存储等云资源操作。 */
CamRoleName?: string;
/** 容器列表 */
Containers?: Container[];
/** CPU大小 */
Cpu?: number;
/** CPU类型 */
CpuType?: string;
/** 接到请求后的系统创建时间。 */
CreationTime?: string;
/** 容器实例绑定的Eip地址,注意可能为空 */
EipAddress?: string | null;
/** EKS Container Instance Id */
EksCiId?: string;
/** EKS Container Instance Name */
EksCiName?: string;
/** 数据卷信息 */
EksCiVolume?: EksCiVolume;
/** GPU卡数量 */
GpuCount?: number;
/** GPU类型。如无使用GPU则不返回 */
GpuType?: string;
/** 初始化容器列表 */
InitContainers?: Container[] | null;
/** 内存大小 */
Memory?: number;
/** 容器状态是否持久化 */
PersistStatus?: boolean | null;
/** 内网ip地址 */
PrivateIp?: string;
/** 容器组的重启策略 */
RestartPolicy?: string;
/** 容器组运行的安全上下文 */
SecurityContext?: SecurityContext | null;
/** 安全组ID */
SecurityGroupIds?: string[];
/** 返回容器组创建状态:Pending,Running,Succeeded,Failed。其中:Failed (运行失败)指的容器组退出,RestartPolilcy为Never, 有容器exitCode非0;Succeeded(运行成功)指的是容器组退出了,RestartPolicy为Never或onFailure,所有容器exitCode都为0;Failed和Succeeded这两种状态都会停止运行,停止计费。Pending是创建中,Running是 运行中。 */
Status?: string;
/** 实例所属子网Id */
SubnetId?: string;
/** 容器全部成功退出后的时间 */
SucceededTime?: string;
/** 实例所属VPC的Id */
VpcId?: string;
}
/** EksCi地域信息 */
interface EksCiRegionInfo {
/** 地域别名,形如gz */
Alias?: string;
/** 地域名,形如ap-guangzhou */
RegionName?: string;
/** 地域ID */
RegionId?: number;
}
/** EKS Instance Volume, 可选包括CbsVolume和NfsVolume */
interface EksCiVolume {
/** Cbs Volume */
CbsVolumes?: CbsVolume[] | null;
/** Nfs Volume */
NfsVolumes?: NfsVolume[] | null;
}
/** 弹性集群信息 */
interface EksCluster {
/** 集群Id */
ClusterId: string;
/** 集群名称 */
ClusterName: string;
/** Vpc Id */
VpcId: string;
/** 子网列表 */
SubnetIds: string[];
/** k8s 版本号 */
K8SVersion: string;
/** 集群状态(running 运行中,initializing 初始化中,Failed 异常,Idling 空闲中,Activating 激活中,Terminating 删除中) */
Status?: string;
/** 集群描述信息 */
ClusterDesc?: string;
/** 集群创建时间 */
CreatedTime?: string;
/** Service 子网Id */
ServiceSubnetId?: string;
/** 集群的自定义dns 服务器信息 */
DnsServers?: DnsServerConf[];
/** 将来删除集群时是否要删除cbs。默认为 FALSE */
NeedDeleteCbs?: boolean;
/** 是否在用户集群内开启Dns。默认为TRUE */
EnableVpcCoreDNS?: boolean;
/** 标签描述列表。 */
TagSpecification?: TagSpecification[] | null;
}
/** 描述了实例的增强服务启用情况与其设置,如云安全,云监控等实例 Agent */
interface EnhancedService {
/** 开启云安全服务。若不指定该参数,则默认开启云安全服务。 */
SecurityService?: RunSecurityServiceEnabled;
/** 开启云监控服务。若不指定该参数,则默认开启云监控服务。 */
MonitorService?: RunMonitorServiceEnabled;
/** 开启云自动化助手服务(TencentCloud Automation Tools,TAT)。若不指定该参数,则公共镜像默认开启云自动化助手服务,其他镜像默认不开启云自动化助手服务。 */
AutomationService?: RunAutomationServiceEnabled;
}
/** EnvironmentVariable */
interface EnvironmentVariable {
/** key */
Name?: string;
/** val */
Value?: string;
}
/** 元数据拆分存储Etcd配置 */
interface EtcdOverrideConfig {
/** k8s资源,支持核心资源,控制类资源,配置及敏感资源 */
Resources: string[];
}
/** 服务事件 */
interface Event {
/** pod名称 */
PodName?: string;
/** 事件原因内容 */
Reason?: string;
/** 事件类型 */
Type?: string;
/** 事件出现次数 */
Count?: number;
/** 事件第一次出现时间 */
FirstTimestamp?: string;
/** 事件最后一次出现时间 */
LastTimestamp?: string;
/** 事件内容 */
Message?: string;
}
/** 探针在容器内执行检测命令参数类型 */
interface Exec {
/** 容器内检测的命令 */
Commands?: string[] | null;
}
/** 已经存在的实例信息 */
interface ExistedInstance {
/** 实例是否支持加入集群(TRUE 可以加入 FALSE 不能加入)。 */
Usable?: boolean;
/** 实例不支持加入的原因。 */
UnusableReason?: string;
/** 实例已经所在的集群ID。 */
AlreadyInCluster?: string;
/** 实例ID形如:ins-e55paxnt。 */
InstanceId?: string;
/** 实例名称。 */
InstanceName?: string;
/** 实例主网卡的内网IP列表。 */
PrivateIpAddresses?: string[] | null;
/** 实例主网卡的公网IP列表。 */
PublicIpAddresses?: string[] | null;
/** 创建时间。按照ISO8601标准表示,并且使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。 */
CreatedTime?: string;
/** 实例的CPU核数,单位:核。 */
CPU?: number;
/** 实例内存容量,单位:GB。 */
Memory?: number;
/** 操作系统名称。 */
OsName?: string;
/** 实例机型。 */
InstanceType?: string;
/** 伸缩组ID */
AutoscalingGroupId?: string;
/** 实例计费模式。取值范围: PREPAID:表示预付费,即包年包月 POSTPAID_BY_HOUR:表示后付费,即按量计费 CDHPAID:CDH付费,即只对CDH计费,不对CDH上的实例计费。 */
InstanceChargeType?: string;
/** 实例的IPv6地址。 */
IPv6Addresses?: string[] | null;
}
/** 不同角色的已存在节点配置参数 */
interface ExistedInstancesForNode {
/** 节点角色,取值:MASTER_ETCD, WORKER。MASTER_ETCD只有在创建 INDEPENDENT_CLUSTER 独立集群时需要指定。MASTER_ETCD节点数量为3~7,建议为奇数。MASTER_ETCD最小配置为4C8G。 */
NodeRole: string;
/** 已存在实例的重装参数 */
ExistedInstancesPara: ExistedInstancesPara;
/** 节点高级设置,会覆盖集群级别设置的InstanceAdvancedSettings(当前只对节点自定义参数ExtraArgs生效) */
InstanceAdvancedSettingsOverride?: InstanceAdvancedSettings;
/** 自定义模式集群,可指定每个节点的pod数量 */
DesiredPodNumbers?: number[];
}
/** 已存在实例的重装参数 */
interface ExistedInstancesPara {
/** 集群ID */
InstanceIds: string[];
/** 实例额外需要设置参数信息(目前后端暂不支持此字段,我们将在未来的版本中实现) */
InstanceAdvancedSettings?: InstanceAdvancedSettings;
/** 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。 */
EnhancedService?: EnhancedService;
/** 节点登录信息(目前仅支持使用Password或者单个KeyIds) */
LoginSettings?: LoginSettings;
/** 实例所属安全组。该参数可以通过调用 DescribeSecurityGroups 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。 */
SecurityGroupIds?: string[];
/** 重装系统时,可以指定修改实例的HostName(集群为HostName模式时,此参数必传,规则名称除不支持大写字符外与[CVM创建实例](https://cloud.tencent.com/document/product/213/15730)接口HostName一致) */
HostName?: string;
}
/** 创建集群时,选择安装的扩展组件的信息 */
interface ExtensionAddon {
/** 扩展组件名称 */
AddonName: string;
/** 扩展组件信息(扩展组件资源对象的json字符串描述) */
AddonParam: string;
}
/** 修改标签失败的资源 */
interface FailedResource {
/** 资源六段式 */
Resource?: string;
/** 执行失败的原因 */
Error?: string;
}
/** 过滤器 */
interface Filter {
/** 属性名称, 若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。 */
Name: string;
/** 属性值, 若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。 */
Values: string[];
}
/** GPU相关的参数,包括驱动版本,CUDA版本,cuDNN版本以及是否开启MIG */
interface GPUArgs {
/** CUDA版本信息 */
CUDA?: DriverVersion;
/** cuDNN版本信息 */
CUDNN?: CUDNN;
/** 自定义GPU驱动信息 */
CustomDriver?: CustomDriver;
/** GPU驱动版本信息 */
Driver?: DriverVersion;
/** 是否启用MIG特性 */
MIGEnable?: boolean;
}
/** Probe中的HttpGet */
interface HttpGet {
/** HttpGet检测的路径 */
Path: string | null;
/** HttpGet检测的端口号 */
Port: number | null;
/** HTTP or HTTPS */
Scheme: string | null;
}
/** IP 地址 */
interface IPAddress {
/** Ip 地址的类型。可为 advertise, public 等 */
Type: string;
/** Ip 地址 */
Ip: string;
/** 网络端口 */
Port: number;
}
/** 镜像