# frozen_string_literal: true
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
module TencentCloud
module Tke
module V20220501
# k8s中标注,一般以数组的方式存在
class Annotation < TencentCloud::Common::AbstractModel
# @param Name: map表中的Name
# @type Name: String
# @param Value: map表中的Value
# @type Value: String
attr_accessor :Name, :Value
def initialize(name=nil, value=nil)
@Name = name
@Value = value
end
def deserialize(params)
@Name = params['Name']
@Value = params['Value']
end
end
# 托管节点池运维窗口设置
class AutoUpgradeOptions < TencentCloud::Common::AbstractModel
# @param AutoUpgradeStartTime: 自动升级开始时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoUpgradeStartTime: String
# @param Duration: 自动升级持续时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Duration: String
# @param WeeklyPeriod: 运维日期
# 注意:此字段可能返回 null,表示取不到有效值。
# @type WeeklyPeriod: Array
attr_accessor :AutoUpgradeStartTime, :Duration, :WeeklyPeriod
def initialize(autoupgradestarttime=nil, duration=nil, weeklyperiod=nil)
@AutoUpgradeStartTime = autoupgradestarttime
@Duration = duration
@WeeklyPeriod = weeklyperiod
end
def deserialize(params)
@AutoUpgradeStartTime = params['AutoUpgradeStartTime']
@Duration = params['Duration']
@WeeklyPeriod = params['WeeklyPeriod']
end
end
# 自动扩缩容的节点
class AutoscalingAdded < TencentCloud::Common::AbstractModel
# @param Joining: 正在加入中的节点数量
# @type Joining: Integer
# @param Initializing: 初始化中的节点数量
# @type Initializing: Integer
# @param Normal: 正常的节点数量
# @type Normal: Integer
# @param Total: 节点总数
# @type Total: Integer
attr_accessor :Joining, :Initializing, :Normal, :Total
def initialize(joining=nil, initializing=nil, normal=nil, total=nil)
@Joining = joining
@Initializing = initializing
@Normal = normal
@Total = total
end
def deserialize(params)
@Joining = params['Joining']
@Initializing = params['Initializing']
@Normal = params['Normal']
@Total = params['Total']
end
end
# CreateHealthCheckPolicy请求参数结构体
class CreateHealthCheckPolicyRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群ID
# @type ClusterId: String
# @param HealthCheckPolicy: 健康检测策略
# @type HealthCheckPolicy: :class:`Tencentcloud::Tke.v20220501.models.HealthCheckPolicy`
attr_accessor :ClusterId, :HealthCheckPolicy
def initialize(clusterid=nil, healthcheckpolicy=nil)
@ClusterId = clusterid
@HealthCheckPolicy = healthcheckpolicy
end
def deserialize(params)
@ClusterId = params['ClusterId']
unless params['HealthCheckPolicy'].nil?
@HealthCheckPolicy = HealthCheckPolicy.new
@HealthCheckPolicy.deserialize(params['HealthCheckPolicy'])
end
end
end
# CreateHealthCheckPolicy返回参数结构体
class CreateHealthCheckPolicyResponse < TencentCloud::Common::AbstractModel
# @param HealthCheckPolicyName: 健康检测策略名称
# @type HealthCheckPolicyName: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :HealthCheckPolicyName, :RequestId
def initialize(healthcheckpolicyname=nil, requestid=nil)
@HealthCheckPolicyName = healthcheckpolicyname
@RequestId = requestid
end
def deserialize(params)
@HealthCheckPolicyName = params['HealthCheckPolicyName']
@RequestId = params['RequestId']
end
end
# 原生节点池创建参数
class CreateNativeNodePoolParam < TencentCloud::Common::AbstractModel
# @param Scaling: 节点池伸缩配置
# @type Scaling: :class:`Tencentcloud::Tke.v20220501.models.MachineSetScaling`
# @param SubnetIds: 子网列表
# @type SubnetIds: Array
# @param InstanceChargeType: 节点计费类型。PREPAID:包年包月;POSTPAID_BY_HOUR:按量计费(默认);
# @type InstanceChargeType: String
# @param SystemDisk: 系统盘配置
# @type SystemDisk: :class:`Tencentcloud::Tke.v20220501.models.Disk`
# @param InstanceTypes: 机型列表
# @type InstanceTypes: Array
# @param SecurityGroupIds: 安全组列表
# @type SecurityGroupIds: Array
# @param UpgradeSettings: 自动升级配置
# @type UpgradeSettings: :class:`Tencentcloud::Tke.v20220501.models.MachineUpgradeSettings`
# @param AutoRepair: 是否开启自愈能力
# @type AutoRepair: Boolean
# @param InstanceChargePrepaid: 包年包月机型计费配置
# @type InstanceChargePrepaid: :class:`Tencentcloud::Tke.v20220501.models.InstanceChargePrepaid`
# @param Management: 节点池 Management 参数设置
# @type Management: :class:`Tencentcloud::Tke.v20220501.models.ManagementConfig`
# @param HealthCheckPolicyName: 故障自愈规则名称
# @type HealthCheckPolicyName: String
# @param HostNamePattern: 原生节点池hostName模式串
# @type HostNamePattern: String
# @param KubeletArgs: kubelet 自定义参数
# @type KubeletArgs: Array
# @param Lifecycle: 预定义脚本
# @type Lifecycle: :class:`Tencentcloud::Tke.v20220501.models.LifecycleConfig`
# @param RuntimeRootDir: 运行时根目录
# @type RuntimeRootDir: String
# @param EnableAutoscaling: 是否开启弹性伸缩
# @type EnableAutoscaling: Boolean
# @param Replicas: 期望节点数
# @type Replicas: Integer
# @param InternetAccessible: 公网带宽设置
# @type InternetAccessible: :class:`Tencentcloud::Tke.v20220501.models.InternetAccessible`
# @param DataDisks: 原生节点池数据盘列表
# @type DataDisks: Array
# @param KeyIds: 节点池ssh公钥id数组
# @type KeyIds: Array
# @param MachineType: 节点池类型
# @type MachineType: String
attr_accessor :Scaling, :SubnetIds, :InstanceChargeType, :SystemDisk, :InstanceTypes, :SecurityGroupIds, :UpgradeSettings, :AutoRepair, :InstanceChargePrepaid, :Management, :HealthCheckPolicyName, :HostNamePattern, :KubeletArgs, :Lifecycle, :RuntimeRootDir, :EnableAutoscaling, :Replicas, :InternetAccessible, :DataDisks, :KeyIds, :MachineType
def initialize(scaling=nil, subnetids=nil, instancechargetype=nil, systemdisk=nil, instancetypes=nil, securitygroupids=nil, upgradesettings=nil, autorepair=nil, instancechargeprepaid=nil, management=nil, healthcheckpolicyname=nil, hostnamepattern=nil, kubeletargs=nil, lifecycle=nil, runtimerootdir=nil, enableautoscaling=nil, replicas=nil, internetaccessible=nil, datadisks=nil, keyids=nil, machinetype=nil)
@Scaling = scaling
@SubnetIds = subnetids
@InstanceChargeType = instancechargetype
@SystemDisk = systemdisk
@InstanceTypes = instancetypes
@SecurityGroupIds = securitygroupids
@UpgradeSettings = upgradesettings
@AutoRepair = autorepair
@InstanceChargePrepaid = instancechargeprepaid
@Management = management
@HealthCheckPolicyName = healthcheckpolicyname
@HostNamePattern = hostnamepattern
@KubeletArgs = kubeletargs
@Lifecycle = lifecycle
@RuntimeRootDir = runtimerootdir
@EnableAutoscaling = enableautoscaling
@Replicas = replicas
@InternetAccessible = internetaccessible
@DataDisks = datadisks
@KeyIds = keyids
@MachineType = machinetype
end
def deserialize(params)
unless params['Scaling'].nil?
@Scaling = MachineSetScaling.new
@Scaling.deserialize(params['Scaling'])
end
@SubnetIds = params['SubnetIds']
@InstanceChargeType = params['InstanceChargeType']
unless params['SystemDisk'].nil?
@SystemDisk = Disk.new
@SystemDisk.deserialize(params['SystemDisk'])
end
@InstanceTypes = params['InstanceTypes']
@SecurityGroupIds = params['SecurityGroupIds']
unless params['UpgradeSettings'].nil?
@UpgradeSettings = MachineUpgradeSettings.new
@UpgradeSettings.deserialize(params['UpgradeSettings'])
end
@AutoRepair = params['AutoRepair']
unless params['InstanceChargePrepaid'].nil?
@InstanceChargePrepaid = InstanceChargePrepaid.new
@InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
end
unless params['Management'].nil?
@Management = ManagementConfig.new
@Management.deserialize(params['Management'])
end
@HealthCheckPolicyName = params['HealthCheckPolicyName']
@HostNamePattern = params['HostNamePattern']
@KubeletArgs = params['KubeletArgs']
unless params['Lifecycle'].nil?
@Lifecycle = LifecycleConfig.new
@Lifecycle.deserialize(params['Lifecycle'])
end
@RuntimeRootDir = params['RuntimeRootDir']
@EnableAutoscaling = params['EnableAutoscaling']
@Replicas = params['Replicas']
unless params['InternetAccessible'].nil?
@InternetAccessible = InternetAccessible.new
@InternetAccessible.deserialize(params['InternetAccessible'])
end
unless params['DataDisks'].nil?
@DataDisks = []
params['DataDisks'].each do |i|
datadisk_tmp = DataDisk.new
datadisk_tmp.deserialize(i)
@DataDisks << datadisk_tmp
end
end
@KeyIds = params['KeyIds']
@MachineType = params['MachineType']
end
end
# CreateNodePool请求参数结构体
class CreateNodePoolRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param Name: 节点池名称
# @type Name: String
# @param Type: 节点池类型
# @type Type: String
# @param Labels: 节点 Labels
# @type Labels: Array
# @param Taints: 节点污点
# @type Taints: Array
# @param Tags: 节点标签
# @type Tags: Array
# @param DeletionProtection: 是否开启删除保护
# @type DeletionProtection: Boolean
# @param Unschedulable: 节点是否默认不可调度
# @type Unschedulable: Boolean
# @param Native: 原生节点池创建参数
# @type Native: :class:`Tencentcloud::Tke.v20220501.models.CreateNativeNodePoolParam`
# @param Annotations: 节点 Annotation 列表
# @type Annotations: Array
attr_accessor :ClusterId, :Name, :Type, :Labels, :Taints, :Tags, :DeletionProtection, :Unschedulable, :Native, :Annotations
def initialize(clusterid=nil, name=nil, type=nil, labels=nil, taints=nil, tags=nil, deletionprotection=nil, unschedulable=nil, native=nil, annotations=nil)
@ClusterId = clusterid
@Name = name
@Type = type
@Labels = labels
@Taints = taints
@Tags = tags
@DeletionProtection = deletionprotection
@Unschedulable = unschedulable
@Native = native
@Annotations = annotations
end
def deserialize(params)
@ClusterId = params['ClusterId']
@Name = params['Name']
@Type = params['Type']
unless params['Labels'].nil?
@Labels = []
params['Labels'].each do |i|
label_tmp = Label.new
label_tmp.deserialize(i)
@Labels << label_tmp
end
end
unless params['Taints'].nil?
@Taints = []
params['Taints'].each do |i|
taint_tmp = Taint.new
taint_tmp.deserialize(i)
@Taints << taint_tmp
end
end
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tagspecification_tmp = TagSpecification.new
tagspecification_tmp.deserialize(i)
@Tags << tagspecification_tmp
end
end
@DeletionProtection = params['DeletionProtection']
@Unschedulable = params['Unschedulable']
unless params['Native'].nil?
@Native = CreateNativeNodePoolParam.new
@Native.deserialize(params['Native'])
end
unless params['Annotations'].nil?
@Annotations = []
params['Annotations'].each do |i|
annotation_tmp = Annotation.new
annotation_tmp.deserialize(i)
@Annotations << annotation_tmp
end
end
end
end
# CreateNodePool返回参数结构体
class CreateNodePoolResponse < TencentCloud::Common::AbstractModel
# @param NodePoolId: 节点池 ID
# @type NodePoolId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :NodePoolId, :RequestId
def initialize(nodepoolid=nil, requestid=nil)
@NodePoolId = nodepoolid
@RequestId = requestid
end
def deserialize(params)
@NodePoolId = params['NodePoolId']
@RequestId = params['RequestId']
end
end
# 描述了k8s节点数据盘相关配置与信息。
class DataDisk < TencentCloud::Common::AbstractModel
# @param DiskType: 云盘类型
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DiskType: String
# @param FileSystem: 文件系统(ext3/ext4/xfs)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FileSystem: String
# @param DiskSize: 云盘大小(G)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DiskSize: Integer
# @param AutoFormatAndMount: 是否自动化格式盘并挂载
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoFormatAndMount: Boolean
# @param DiskPartition: 挂载设备名或分区名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DiskPartition: String
# @param MountTarget: 挂载目录
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MountTarget: String
# @param Encrypt: 传入该参数用于创建加密云盘,取值固定为ENCRYPT
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Encrypt: String
# @param KmsKeyId: 购买加密盘时自定义密钥,当传入该参数时, Encrypt入参不为空
# 注意:此字段可能返回 null,表示取不到有效值。
# @type KmsKeyId: String
# @param SnapshotId: 快照ID,如果传入则根据此快照创建云硬盘,快照类型必须为数据盘快照
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SnapshotId: String
# @param ThroughputPerformance: 云硬盘性能,单位:MB/s。使用此参数可给云硬盘购买额外的性能
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ThroughputPerformance: Integer
attr_accessor :DiskType, :FileSystem, :DiskSize, :AutoFormatAndMount, :DiskPartition, :MountTarget, :Encrypt, :KmsKeyId, :SnapshotId, :ThroughputPerformance
def initialize(disktype=nil, filesystem=nil, disksize=nil, autoformatandmount=nil, diskpartition=nil, mounttarget=nil, encrypt=nil, kmskeyid=nil, snapshotid=nil, throughputperformance=nil)
@DiskType = disktype
@FileSystem = filesystem
@DiskSize = disksize
@AutoFormatAndMount = autoformatandmount
@DiskPartition = diskpartition
@MountTarget = mounttarget
@Encrypt = encrypt
@KmsKeyId = kmskeyid
@SnapshotId = snapshotid
@ThroughputPerformance = throughputperformance
end
def deserialize(params)
@DiskType = params['DiskType']
@FileSystem = params['FileSystem']
@DiskSize = params['DiskSize']
@AutoFormatAndMount = params['AutoFormatAndMount']
@DiskPartition = params['DiskPartition']
@MountTarget = params['MountTarget']
@Encrypt = params['Encrypt']
@KmsKeyId = params['KmsKeyId']
@SnapshotId = params['SnapshotId']
@ThroughputPerformance = params['ThroughputPerformance']
end
end
# DeleteHealthCheckPolicy请求参数结构体
class DeleteHealthCheckPolicyRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param HealthCheckPolicyName: 健康检测策略名称
# @type HealthCheckPolicyName: String
attr_accessor :ClusterId, :HealthCheckPolicyName
def initialize(clusterid=nil, healthcheckpolicyname=nil)
@ClusterId = clusterid
@HealthCheckPolicyName = healthcheckpolicyname
end
def deserialize(params)
@ClusterId = params['ClusterId']
@HealthCheckPolicyName = params['HealthCheckPolicyName']
end
end
# DeleteHealthCheckPolicy返回参数结构体
class DeleteHealthCheckPolicyResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteNodePool请求参数结构体
class DeleteNodePoolRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param NodePoolId: 节点池 ID
# @type NodePoolId: String
attr_accessor :ClusterId, :NodePoolId
def initialize(clusterid=nil, nodepoolid=nil)
@ClusterId = clusterid
@NodePoolId = nodepoolid
end
def deserialize(params)
@ClusterId = params['ClusterId']
@NodePoolId = params['NodePoolId']
end
end
# DeleteNodePool返回参数结构体
class DeleteNodePoolResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DescribeClusterInstances请求参数结构体
class DescribeClusterInstancesRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群ID
# @type ClusterId: String
# @param Offset: 偏移量,默认为0。关于Offset的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
# @type Offset: Integer
# @param Limit: 返回数量,默认为20,最大值为100。关于Limit的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
# @type Limit: Integer
# @param Filters: 过滤条件列表:
# InstanceIds(实例ID),InstanceType(实例类型:Regular,Native,Virtual,External),VagueIpAddress(模糊匹配IP),Labels(k8s节点label),NodePoolNames(节点池名称),VagueInstanceName(模糊匹配节点名),InstanceStates(节点状态),Unschedulable(是否封锁),NodePoolIds(节点池ID)
# @type Filters: Array
# @param SortBy: 排序信息
# @type SortBy: :class:`Tencentcloud::Tke.v20220501.models.SortBy`
attr_accessor :ClusterId, :Offset, :Limit, :Filters, :SortBy
def initialize(clusterid=nil, offset=nil, limit=nil, filters=nil, sortby=nil)
@ClusterId = clusterid
@Offset = offset
@Limit = limit
@Filters = filters
@SortBy = sortby
end
def deserialize(params)
@ClusterId = params['ClusterId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
unless params['SortBy'].nil?
@SortBy = SortBy.new
@SortBy.deserialize(params['SortBy'])
end
end
end
# DescribeClusterInstances返回参数结构体
class DescribeClusterInstancesResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 集群中实例总数
# @type TotalCount: Integer
# @param InstanceSet: 集群中实例列表
# @type InstanceSet: Array
# @param Errors: 错误信息集合
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Errors: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :InstanceSet, :Errors, :RequestId
def initialize(totalcount=nil, instanceset=nil, errors=nil, requestid=nil)
@TotalCount = totalcount
@InstanceSet = instanceset
@Errors = errors
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['InstanceSet'].nil?
@InstanceSet = []
params['InstanceSet'].each do |i|
instance_tmp = Instance.new
instance_tmp.deserialize(i)
@InstanceSet << instance_tmp
end
end
@Errors = params['Errors']
@RequestId = params['RequestId']
end
end
# DescribeHealthCheckPolicies请求参数结构体
class DescribeHealthCheckPoliciesRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param Filters: · HealthCheckPolicyName
# 按照【健康检测策略名称】进行过滤。
# 类型:String
# 必选:否
# @type Filters: Array
# @param Limit: 最大输出条数,默认20,最大为100
# @type Limit: Integer
# @param Offset: 偏移量,默认0
# @type Offset: Integer
attr_accessor :ClusterId, :Filters, :Limit, :Offset
def initialize(clusterid=nil, filters=nil, limit=nil, offset=nil)
@ClusterId = clusterid
@Filters = filters
@Limit = limit
@Offset = offset
end
def deserialize(params)
@ClusterId = params['ClusterId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
@Limit = params['Limit']
@Offset = params['Offset']
end
end
# DescribeHealthCheckPolicies返回参数结构体
class DescribeHealthCheckPoliciesResponse < TencentCloud::Common::AbstractModel
# @param HealthCheckPolicies: 健康检测策略数组
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HealthCheckPolicies: Array
# @param TotalCount: 数组总数目
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TotalCount: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :HealthCheckPolicies, :TotalCount, :RequestId
def initialize(healthcheckpolicies=nil, totalcount=nil, requestid=nil)
@HealthCheckPolicies = healthcheckpolicies
@TotalCount = totalcount
@RequestId = requestid
end
def deserialize(params)
unless params['HealthCheckPolicies'].nil?
@HealthCheckPolicies = []
params['HealthCheckPolicies'].each do |i|
healthcheckpolicy_tmp = HealthCheckPolicy.new
healthcheckpolicy_tmp.deserialize(i)
@HealthCheckPolicies << healthcheckpolicy_tmp
end
end
@TotalCount = params['TotalCount']
@RequestId = params['RequestId']
end
end
# DescribeHealthCheckPolicyBindings请求参数结构体
class DescribeHealthCheckPolicyBindingsRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param Filter: · HealthCheckPolicyName
# 按照【健康检测规则名称】进行过滤。
# 类型:String
# 必选:否
# @type Filter: Array
# @param Limit: 最大输出条数,默认20,最大为100
# @type Limit: Integer
# @param Offset: 偏移量,默认0
# @type Offset: Integer
attr_accessor :ClusterId, :Filter, :Limit, :Offset
def initialize(clusterid=nil, filter=nil, limit=nil, offset=nil)
@ClusterId = clusterid
@Filter = filter
@Limit = limit
@Offset = offset
end
def deserialize(params)
@ClusterId = params['ClusterId']
unless params['Filter'].nil?
@Filter = []
params['Filter'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filter << filter_tmp
end
end
@Limit = params['Limit']
@Offset = params['Offset']
end
end
# DescribeHealthCheckPolicyBindings返回参数结构体
class DescribeHealthCheckPolicyBindingsResponse < TencentCloud::Common::AbstractModel
# @param HealthCheckPolicyBindings: 健康检测规则数组
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HealthCheckPolicyBindings: Array
# @param TotalCount: 健康检测规则数量
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TotalCount: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :HealthCheckPolicyBindings, :TotalCount, :RequestId
def initialize(healthcheckpolicybindings=nil, totalcount=nil, requestid=nil)
@HealthCheckPolicyBindings = healthcheckpolicybindings
@TotalCount = totalcount
@RequestId = requestid
end
def deserialize(params)
unless params['HealthCheckPolicyBindings'].nil?
@HealthCheckPolicyBindings = []
params['HealthCheckPolicyBindings'].each do |i|
healthcheckpolicybinding_tmp = HealthCheckPolicyBinding.new
healthcheckpolicybinding_tmp.deserialize(i)
@HealthCheckPolicyBindings << healthcheckpolicybinding_tmp
end
end
@TotalCount = params['TotalCount']
@RequestId = params['RequestId']
end
end
# DescribeHealthCheckTemplate请求参数结构体
class DescribeHealthCheckTemplateRequest < TencentCloud::Common::AbstractModel
def initialize()
end
def deserialize(params)
end
end
# DescribeHealthCheckTemplate返回参数结构体
class DescribeHealthCheckTemplateResponse < TencentCloud::Common::AbstractModel
# @param HealthCheckTemplate: 健康检测策略模板
# @type HealthCheckTemplate: :class:`Tencentcloud::Tke.v20220501.models.HealthCheckTemplate`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :HealthCheckTemplate, :RequestId
def initialize(healthchecktemplate=nil, requestid=nil)
@HealthCheckTemplate = healthchecktemplate
@RequestId = requestid
end
def deserialize(params)
unless params['HealthCheckTemplate'].nil?
@HealthCheckTemplate = HealthCheckTemplate.new
@HealthCheckTemplate.deserialize(params['HealthCheckTemplate'])
end
@RequestId = params['RequestId']
end
end
# DescribeNodePools请求参数结构体
class DescribeNodePoolsRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param Filters: 查询过滤条件:
# · NodePoolsName
# 按照【节点池名】进行过滤。
# 类型:String
# 必选:否
# · NodePoolsId
# 按照【节点池id】进行过滤。
# 类型:String
# 必选:否
# · tags
# 按照【标签键值对】进行过滤。
# 类型:String
# 必选:否
# · tag:tag-key
# 按照【标签键值对】进行过滤。
# 类型:String
# 必选:否
# @type Filters: Array
# @param Offset: 偏移量,默认0
# @type Offset: Integer
# @param Limit: 最大输出条数,默认20,最大为100
# @type Limit: Integer
attr_accessor :ClusterId, :Filters, :Offset, :Limit
def initialize(clusterid=nil, filters=nil, offset=nil, limit=nil)
@ClusterId = clusterid
@Filters = filters
@Offset = offset
@Limit = limit
end
def deserialize(params)
@ClusterId = params['ClusterId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeNodePools返回参数结构体
class DescribeNodePoolsResponse < TencentCloud::Common::AbstractModel
# @param NodePools: 节点池列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NodePools: Array
# @param TotalCount: 资源总数
# @type TotalCount: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :NodePools, :TotalCount, :RequestId
def initialize(nodepools=nil, totalcount=nil, requestid=nil)
@NodePools = nodepools
@TotalCount = totalcount
@RequestId = requestid
end
def deserialize(params)
unless params['NodePools'].nil?
@NodePools = []
params['NodePools'].each do |i|
nodepool_tmp = NodePool.new
nodepool_tmp.deserialize(i)
@NodePools << nodepool_tmp
end
end
@TotalCount = params['TotalCount']
@RequestId = params['RequestId']
end
end
# 节点系统盘和数据盘配置
class Disk < TencentCloud::Common::AbstractModel
# @param DiskType: 云盘类型
# @type DiskType: String
# @param DiskSize: 云盘大小(G)
# @type DiskSize: Integer
# @param AutoFormatAndMount: 是否自动化格式盘并挂载
# @type AutoFormatAndMount: Boolean
# @param FileSystem: 文件系统
# @type FileSystem: String
# @param MountTarget: 挂载目录
# @type MountTarget: String
attr_accessor :DiskType, :DiskSize, :AutoFormatAndMount, :FileSystem, :MountTarget
def initialize(disktype=nil, disksize=nil, autoformatandmount=nil, filesystem=nil, mounttarget=nil)
@DiskType = disktype
@DiskSize = disksize
@AutoFormatAndMount = autoformatandmount
@FileSystem = filesystem
@MountTarget = mounttarget
end
def deserialize(params)
@DiskType = params['DiskType']
@DiskSize = params['DiskSize']
@AutoFormatAndMount = params['AutoFormatAndMount']
@FileSystem = params['FileSystem']
@MountTarget = params['MountTarget']
end
end
# 第三方节点
class ExternalNodeInfo < TencentCloud::Common::AbstractModel
# @param Name: 第三方节点名称
# @type Name: String
# @param CPU: CPU核数,单位:核
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CPU: Integer
# @param Memory: 节点内存容量,单位:`GB`
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Memory: Integer
# @param K8SVersion: 第三方节点kubelet版本信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type K8SVersion: String
attr_accessor :Name, :CPU, :Memory, :K8SVersion
def initialize(name=nil, cpu=nil, memory=nil, k8sversion=nil)
@Name = name
@CPU = cpu
@Memory = memory
@K8SVersion = k8sversion
end
def deserialize(params)
@Name = params['Name']
@CPU = params['CPU']
@Memory = params['Memory']
@K8SVersion = params['K8SVersion']
end
end
# 第三方节点池信息
class ExternalNodePoolInfo < TencentCloud::Common::AbstractModel
# @param RuntimeConfig: 第三方节点Runtime配置
# @type RuntimeConfig: :class:`Tencentcloud::Tke.v20220501.models.RuntimeConfig`
# @param NodesNum: 节点数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NodesNum: Integer
attr_accessor :RuntimeConfig, :NodesNum
def initialize(runtimeconfig=nil, nodesnum=nil)
@RuntimeConfig = runtimeconfig
@NodesNum = nodesnum
end
def deserialize(params)
unless params['RuntimeConfig'].nil?
@RuntimeConfig = RuntimeConfig.new
@RuntimeConfig.deserialize(params['RuntimeConfig'])
end
@NodesNum = params['NodesNum']
end
end
# 过滤器
class Filter < TencentCloud::Common::AbstractModel
# @param Name: 属性名称, 若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。
# @type Name: String
# @param Values: 属性值, 若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。
# @type Values: Array
attr_accessor :Name, :Values
def initialize(name=nil, values=nil)
@Name = name
@Values = values
end
def deserialize(params)
@Name = params['Name']
@Values = params['Values']
end
end
# 健康检测规则
class HealthCheckPolicy < TencentCloud::Common::AbstractModel
# @param Name: 健康检测策略名称
# @type Name: String
# @param Rules: 健康检测策略规则列表
# @type Rules: Array
attr_accessor :Name, :Rules
def initialize(name=nil, rules=nil)
@Name = name
@Rules = rules
end
def deserialize(params)
@Name = params['Name']
unless params['Rules'].nil?
@Rules = []
params['Rules'].each do |i|
healthcheckpolicyrule_tmp = HealthCheckPolicyRule.new
healthcheckpolicyrule_tmp.deserialize(i)
@Rules << healthcheckpolicyrule_tmp
end
end
end
end
# 健康检测策略和节点池的绑定关系
class HealthCheckPolicyBinding < TencentCloud::Common::AbstractModel
# @param Name: 健康检测策略名称
# @type Name: String
# @param CreatedAt: 规则创建时间
# @type CreatedAt: String
# @param NodePools: 关联节点池数组
# @type NodePools: Array
attr_accessor :Name, :CreatedAt, :NodePools
def initialize(name=nil, createdat=nil, nodepools=nil)
@Name = name
@CreatedAt = createdat
@NodePools = nodepools
end
def deserialize(params)
@Name = params['Name']
@CreatedAt = params['CreatedAt']
@NodePools = params['NodePools']
end
end
# 健康检测规则
class HealthCheckPolicyRule < TencentCloud::Common::AbstractModel
# @param Name: 健康检测规则
# @type Name: String
# @param Enabled: 是否检测此项目
# @type Enabled: Boolean
# @param AutoRepairEnabled: 是否启用修复
# @type AutoRepairEnabled: Boolean
attr_accessor :Name, :Enabled, :AutoRepairEnabled
def initialize(name=nil, enabled=nil, autorepairenabled=nil)
@Name = name
@Enabled = enabled
@AutoRepairEnabled = autorepairenabled
end
def deserialize(params)
@Name = params['Name']
@Enabled = params['Enabled']
@AutoRepairEnabled = params['AutoRepairEnabled']
end
end
# 健康检测模板
class HealthCheckTemplate < TencentCloud::Common::AbstractModel
# @param Rules: 健康检测项
# @type Rules: Array
attr_accessor :Rules
def initialize(rules=nil)
@Rules = rules
end
def deserialize(params)
unless params['Rules'].nil?
@Rules = []
params['Rules'].each do |i|
healthchecktemplaterule_tmp = HealthCheckTemplateRule.new
healthchecktemplaterule_tmp.deserialize(i)
@Rules << healthchecktemplaterule_tmp
end
end
end
end
# 健康检测模板规则
class HealthCheckTemplateRule < TencentCloud::Common::AbstractModel
# @param Name: 健康检测项目名称
# @type Name: String
# @param Description: 健康检测规则描述
# @type Description: String
# @param RepairAction: 修复动作
# @type RepairAction: String
# @param RepairEffect: 修复影响
# @type RepairEffect: String
# @param ShouldEnable: 是否建议开启检测
# @type ShouldEnable: Boolean
# @param ShouldRepair: 是否建议修复
# @type ShouldRepair: Boolean
# @param Severity: 问题严重程度
# @type Severity: String
attr_accessor :Name, :Description, :RepairAction, :RepairEffect, :ShouldEnable, :ShouldRepair, :Severity
def initialize(name=nil, description=nil, repairaction=nil, repaireffect=nil, shouldenable=nil, shouldrepair=nil, severity=nil)
@Name = name
@Description = description
@RepairAction = repairaction
@RepairEffect = repaireffect
@ShouldEnable = shouldenable
@ShouldRepair = shouldrepair
@Severity = severity
end
def deserialize(params)
@Name = params['Name']
@Description = params['Description']
@RepairAction = params['RepairAction']
@RepairEffect = params['RepairEffect']
@ShouldEnable = params['ShouldEnable']
@ShouldRepair = params['ShouldRepair']
@Severity = params['Severity']
end
end
# 集群的实例信息
class Instance < TencentCloud::Common::AbstractModel
# @param InstanceId: 实例ID
# @type InstanceId: String
# @param InstanceRole: 节点角色, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, 默认为WORKER
# @type InstanceRole: String
# @param FailedReason: 实例异常(或者处于初始化中)的原因
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FailedReason: String
# @param InstanceState: 实例的状态
# - initializing创建中
# - running 运行中
# - failed 异常
# @type InstanceState: String
# @param Unschedulable: 是否不可调度
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Unschedulable: Boolean
# @param CreatedTime: 添加时间
# @type CreatedTime: String
# @param LanIP: 节点内网IP
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LanIP: String
# @param NodePoolId: 资源池ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NodePoolId: String
# @param Native: 原生节点参数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Native: :class:`Tencentcloud::Tke.v20220501.models.NativeNodeInfo`
# @param Regular: 普通节点参数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Regular: :class:`Tencentcloud::Tke.v20220501.models.RegularNodeInfo`
# @param Super: 超级节点参数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Super: :class:`Tencentcloud::Tke.v20220501.models.SuperNodeInfo`
# @param External: 第三方节点参数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type External: :class:`Tencentcloud::Tke.v20220501.models.ExternalNodeInfo`
# @param NodeType: 节点类型
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NodeType: String
attr_accessor :InstanceId, :InstanceRole, :FailedReason, :InstanceState, :Unschedulable, :CreatedTime, :LanIP, :NodePoolId, :Native, :Regular, :Super, :External, :NodeType
def initialize(instanceid=nil, instancerole=nil, failedreason=nil, instancestate=nil, unschedulable=nil, createdtime=nil, lanip=nil, nodepoolid=nil, native=nil, regular=nil, _super=nil, external=nil, nodetype=nil)
@InstanceId = instanceid
@InstanceRole = instancerole
@FailedReason = failedreason
@InstanceState = instancestate
@Unschedulable = unschedulable
@CreatedTime = createdtime
@LanIP = lanip
@NodePoolId = nodepoolid
@Native = native
@Regular = regular
@Super = _super
@External = external
@NodeType = nodetype
end
def deserialize(params)
@InstanceId = params['InstanceId']
@InstanceRole = params['InstanceRole']
@FailedReason = params['FailedReason']
@InstanceState = params['InstanceState']
@Unschedulable = params['Unschedulable']
@CreatedTime = params['CreatedTime']
@LanIP = params['LanIP']
@NodePoolId = params['NodePoolId']
unless params['Native'].nil?
@Native = NativeNodeInfo.new
@Native.deserialize(params['Native'])
end
unless params['Regular'].nil?
@Regular = RegularNodeInfo.new
@Regular.deserialize(params['Regular'])
end
unless params['Super'].nil?
@Super = SuperNodeInfo.new
@Super.deserialize(params['Super'])
end
unless params['External'].nil?
@External = ExternalNodeInfo.new
@External.deserialize(params['External'])
end
@NodeType = params['NodeType']
end
end
# 描述了k8s集群相关配置与信息。
class InstanceAdvancedSettings < TencentCloud::Common::AbstractModel
# @param DesiredPodNumber: 该节点属于podCIDR大小自定义模式时,可指定节点上运行的pod数量上限
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DesiredPodNumber: Integer
# @param PreStartUserScript: base64 编码的用户脚本,在初始化节点之前执行,目前只对添加已有节点生效
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PreStartUserScript: String
# @param RuntimeConfig: 运行时描述
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuntimeConfig: :class:`Tencentcloud::Tke.v20220501.models.RuntimeConfig`
# @param UserScript: base64 编码的用户脚本, 此脚本会在 k8s 组件运行后执行, 需要用户保证脚本的可重入及重试逻辑, 脚本及其生成的日志文件可在节点的 /data/ccs_userscript/ 路径查看, 如果要求节点需要在进行初始化完成后才可加入调度, 可配合 unschedulable 参数使用, 在 userScript 最后初始化完成后, 添加 kubectl uncordon nodename --kubeconfig=/root/.kube/config 命令使节点加入调度
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UserScript: String
# @param ExtraArgs: 节点相关的自定义参数信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExtraArgs: :class:`Tencentcloud::Tke.v20220501.models.InstanceExtraArgs`
attr_accessor :DesiredPodNumber, :PreStartUserScript, :RuntimeConfig, :UserScript, :ExtraArgs
def initialize(desiredpodnumber=nil, prestartuserscript=nil, runtimeconfig=nil, userscript=nil, extraargs=nil)
@DesiredPodNumber = desiredpodnumber
@PreStartUserScript = prestartuserscript
@RuntimeConfig = runtimeconfig
@UserScript = userscript
@ExtraArgs = extraargs
end
def deserialize(params)
@DesiredPodNumber = params['DesiredPodNumber']
@PreStartUserScript = params['PreStartUserScript']
unless params['RuntimeConfig'].nil?
@RuntimeConfig = RuntimeConfig.new
@RuntimeConfig.deserialize(params['RuntimeConfig'])
end
@UserScript = params['UserScript']
unless params['ExtraArgs'].nil?
@ExtraArgs = InstanceExtraArgs.new
@ExtraArgs.deserialize(params['ExtraArgs'])
end
end
end
# 包年包月配置
class InstanceChargePrepaid < TencentCloud::Common::AbstractModel
# @param Period: 后付费计费周期,单位(月):
# 1,2,3,4,5,,6,7, 8,9,10,11,12,24,36,48,60
# @type Period: Integer
# @param RenewFlag: 预付费续费方式:
# - NOTIFY_AND_AUTO_RENEW:通知用户过期,且自动续费 (默认)
# - NOTIFY_AND_MANUAL_RENEW:通知用户过期,但不自动续费
# - DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知用户过期,也不自动续费
# @type RenewFlag: String
attr_accessor :Period, :RenewFlag
def initialize(period=nil, renewflag=nil)
@Period = period
@RenewFlag = renewflag
end
def deserialize(params)
@Period = params['Period']
@RenewFlag = params['RenewFlag']
end
end
# 节点自定义参数
class InstanceExtraArgs < TencentCloud::Common::AbstractModel
# @param Kubelet: kubelet自定义参数,参数格式为["k1=v1", "k1=v2"], 例如["root-dir=/var/lib/kubelet","feature-gates=PodShareProcessNamespace=true,DynamicKubeletConfig=true"]
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Kubelet: Array
attr_accessor :Kubelet
def initialize(kubelet=nil)
@Kubelet = kubelet
end
def deserialize(params)
@Kubelet = params['Kubelet']
end
end
# 数值结构
class IntOrString < TencentCloud::Common::AbstractModel
# @param Type: 数值类型,0是int, 1是字符串
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Type: Integer
# @param IntVal: 整数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IntVal: Integer
# @param StrVal: 字符串
# 注意:此字段可能返回 null,表示取不到有效值。
# @type StrVal: String
attr_accessor :Type, :IntVal, :StrVal
def initialize(type=nil, intval=nil, strval=nil)
@Type = type
@IntVal = intval
@StrVal = strval
end
def deserialize(params)
@Type = params['Type']
@IntVal = params['IntVal']
@StrVal = params['StrVal']
end
end
# 公网带宽
class InternetAccessible < TencentCloud::Common::AbstractModel
# @param MaxBandwidthOut: 带宽
# @type MaxBandwidthOut: Integer
# @param ChargeType: 网络计费方式
# @type ChargeType: String
# @param BandwidthPackageId: 带宽包 ID
# @type BandwidthPackageId: String
attr_accessor :MaxBandwidthOut, :ChargeType, :BandwidthPackageId
def initialize(maxbandwidthout=nil, chargetype=nil, bandwidthpackageid=nil)
@MaxBandwidthOut = maxbandwidthout
@ChargeType = chargetype
@BandwidthPackageId = bandwidthpackageid
end
def deserialize(params)
@MaxBandwidthOut = params['MaxBandwidthOut']
@ChargeType = params['ChargeType']
@BandwidthPackageId = params['BandwidthPackageId']
end
end
# k8s中标签,一般以数组的方式存在
class Label < TencentCloud::Common::AbstractModel
# @param Name: map表中的Name
# @type Name: String
# @param Value: map表中的Value
# @type Value: String
attr_accessor :Name, :Value
def initialize(name=nil, value=nil)
@Name = name
@Value = value
end
def deserialize(params)
@Name = params['Name']
@Value = params['Value']
end
end
# 节点池自定义脚本
class LifecycleConfig < TencentCloud::Common::AbstractModel
# @param PreInit: 节点初始化前自定义脚本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PreInit: String
# @param PostInit: 节点初始化后自定义脚本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PostInit: String
attr_accessor :PreInit, :PostInit
def initialize(preinit=nil, postinit=nil)
@PreInit = preinit
@PostInit = postinit
end
def deserialize(params)
@PreInit = params['PreInit']
@PostInit = params['PostInit']
end
end
# 节点池弹性伸缩配置
class MachineSetScaling < TencentCloud::Common::AbstractModel
# @param MinReplicas: 节点池最小副本数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MinReplicas: Integer
# @param MaxReplicas: 节点池最大副本数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MaxReplicas: Integer
# @param CreatePolicy: 节点池扩容策略。ZoneEquality:多可用区打散;ZonePriority:首选可用区优先;
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CreatePolicy: String
attr_accessor :MinReplicas, :MaxReplicas, :CreatePolicy
def initialize(minreplicas=nil, maxreplicas=nil, createpolicy=nil)
@MinReplicas = minreplicas
@MaxReplicas = maxreplicas
@CreatePolicy = createpolicy
end
def deserialize(params)
@MinReplicas = params['MinReplicas']
@MaxReplicas = params['MaxReplicas']
@CreatePolicy = params['CreatePolicy']
end
end
# 托管节点池自动升级配置
class MachineUpgradeSettings < TencentCloud::Common::AbstractModel
# @param AutoUpgrade: 是否开启自动升级
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoUpgrade: Boolean
# @param UpgradeOptions: 运维窗口
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UpgradeOptions: :class:`Tencentcloud::Tke.v20220501.models.AutoUpgradeOptions`
# @param Components: 升级项
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Components: Array
# @param MaxUnavailable: 升级时,最大不可升级的节点数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MaxUnavailable: :class:`Tencentcloud::Tke.v20220501.models.IntOrString`
attr_accessor :AutoUpgrade, :UpgradeOptions, :Components, :MaxUnavailable
def initialize(autoupgrade=nil, upgradeoptions=nil, components=nil, maxunavailable=nil)
@AutoUpgrade = autoupgrade
@UpgradeOptions = upgradeoptions
@Components = components
@MaxUnavailable = maxunavailable
end
def deserialize(params)
@AutoUpgrade = params['AutoUpgrade']
unless params['UpgradeOptions'].nil?
@UpgradeOptions = AutoUpgradeOptions.new
@UpgradeOptions.deserialize(params['UpgradeOptions'])
end
@Components = params['Components']
unless params['MaxUnavailable'].nil?
@MaxUnavailable = IntOrString.new
@MaxUnavailable.deserialize(params['MaxUnavailable'])
end
end
end
# 托管节点池Management配置
class ManagementConfig < TencentCloud::Common::AbstractModel
# @param Nameservers: dns 配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Nameservers: Array
# @param Hosts: hosts 配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Hosts: Array
# @param KernelArgs: 内核参数配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type KernelArgs: Array
attr_accessor :Nameservers, :Hosts, :KernelArgs
def initialize(nameservers=nil, hosts=nil, kernelargs=nil)
@Nameservers = nameservers
@Hosts = hosts
@KernelArgs = kernelargs
end
def deserialize(params)
@Nameservers = params['Nameservers']
@Hosts = params['Hosts']
@KernelArgs = params['KernelArgs']
end
end
# 手动加入的节点
class ManuallyAdded < TencentCloud::Common::AbstractModel
# @param Joining: 加入中的节点数量
# @type Joining: Integer
# @param Initializing: 初始化中的节点数量
# @type Initializing: Integer
# @param Normal: 正常的节点数量
# @type Normal: Integer
# @param Total: 节点总数
# @type Total: Integer
attr_accessor :Joining, :Initializing, :Normal, :Total
def initialize(joining=nil, initializing=nil, normal=nil, total=nil)
@Joining = joining
@Initializing = initializing
@Normal = normal
@Total = total
end
def deserialize(params)
@Joining = params['Joining']
@Initializing = params['Initializing']
@Normal = params['Normal']
@Total = params['Total']
end
end
# ModifyHealthCheckPolicy请求参数结构体
class ModifyHealthCheckPolicyRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param HealthCheckPolicy: 健康检测策略
# @type HealthCheckPolicy: :class:`Tencentcloud::Tke.v20220501.models.HealthCheckPolicy`
attr_accessor :ClusterId, :HealthCheckPolicy
def initialize(clusterid=nil, healthcheckpolicy=nil)
@ClusterId = clusterid
@HealthCheckPolicy = healthcheckpolicy
end
def deserialize(params)
@ClusterId = params['ClusterId']
unless params['HealthCheckPolicy'].nil?
@HealthCheckPolicy = HealthCheckPolicy.new
@HealthCheckPolicy.deserialize(params['HealthCheckPolicy'])
end
end
end
# ModifyHealthCheckPolicy返回参数结构体
class ModifyHealthCheckPolicyResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyNodePool请求参数结构体
class ModifyNodePoolRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param NodePoolId: 节点池 ID
# @type NodePoolId: String
# @param Name: 节点池名称
# @type Name: String
# @param Labels: 节点 Labels
# @type Labels: Array
# @param Taints: 节点污点
# @type Taints: Array
# @param Tags: 节点标签
# @type Tags: Array
# @param DeletionProtection: 是否开启删除保护
# @type DeletionProtection: Boolean
# @param Unschedulable: 节点是否不可调度
# @type Unschedulable: Boolean
# @param Native: 原生节点池更新参数
# @type Native: :class:`Tencentcloud::Tke.v20220501.models.UpdateNativeNodePoolParam`
# @param Annotations: 节点 Annotation 列表
# @type Annotations: Array
attr_accessor :ClusterId, :NodePoolId, :Name, :Labels, :Taints, :Tags, :DeletionProtection, :Unschedulable, :Native, :Annotations
def initialize(clusterid=nil, nodepoolid=nil, name=nil, labels=nil, taints=nil, tags=nil, deletionprotection=nil, unschedulable=nil, native=nil, annotations=nil)
@ClusterId = clusterid
@NodePoolId = nodepoolid
@Name = name
@Labels = labels
@Taints = taints
@Tags = tags
@DeletionProtection = deletionprotection
@Unschedulable = unschedulable
@Native = native
@Annotations = annotations
end
def deserialize(params)
@ClusterId = params['ClusterId']
@NodePoolId = params['NodePoolId']
@Name = params['Name']
unless params['Labels'].nil?
@Labels = []
params['Labels'].each do |i|
label_tmp = Label.new
label_tmp.deserialize(i)
@Labels << label_tmp
end
end
unless params['Taints'].nil?
@Taints = []
params['Taints'].each do |i|
taint_tmp = Taint.new
taint_tmp.deserialize(i)
@Taints << taint_tmp
end
end
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tagspecification_tmp = TagSpecification.new
tagspecification_tmp.deserialize(i)
@Tags << tagspecification_tmp
end
end
@DeletionProtection = params['DeletionProtection']
@Unschedulable = params['Unschedulable']
unless params['Native'].nil?
@Native = UpdateNativeNodePoolParam.new
@Native.deserialize(params['Native'])
end
unless params['Annotations'].nil?
@Annotations = []
params['Annotations'].each do |i|
annotation_tmp = Annotation.new
annotation_tmp.deserialize(i)
@Annotations << annotation_tmp
end
end
end
end
# ModifyNodePool返回参数结构体
class ModifyNodePoolResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 节点信息
class NativeNodeInfo < TencentCloud::Common::AbstractModel
# @param MachineName: 节点名称
# @type MachineName: String
# @param MachineState: Machine 状态
# @type MachineState: String
# @param Zone: Machine 所在可用区
# @type Zone: String
# @param InstanceChargeType: 节点计费类型。PREPAID:包年包月;POSTPAID_BY_HOUR:按量计费(默认);
# @type InstanceChargeType: String
# @param CreatedAt: 创建时间
# @type CreatedAt: String
# @param LoginStatus: Machine 登录状态
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LoginStatus: String
# @param IsProtectedFromScaleIn: 是否开启缩容保护
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IsProtectedFromScaleIn: Boolean
# @param DisplayName: Machine 名字
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DisplayName: String
# @param CPU: CPU核数,单位:核
# @type CPU: Integer
# @param GPU: GPU核数,单位:核
# 注意:此字段可能返回 null,表示取不到有效值。
# @type GPU: Integer
# @param RenewFlag: 自动续费标识
# @type RenewFlag: String
# @param PayMode: 节点计费模式(已弃用)
# @type PayMode: String
# @param Memory: 节点内存容量,单位:`GB`
# @type Memory: Integer
# @param InternetAccessible: 公网带宽相关信息设置
# @type InternetAccessible: :class:`Tencentcloud::Tke.v20220501.models.InternetAccessible`
# @param InstanceFamily: 机型所属机型族
# @type InstanceFamily: String
# @param LanIp: 节点内网 IP
# @type LanIp: String
# @param InstanceType: 机型
# @type InstanceType: String
# @param ExpiredTime: 包年包月节点计费过期时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExpiredTime: String
# @param SecurityGroupIDs: 安全组列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SecurityGroupIDs: Array
# @param VpcId: VPC 唯一 ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VpcId: String
# @param SubnetId: 子网唯一 ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubnetId: String
# @param OsImage: OS的名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OsImage: String
# @param InstanceId: **原生节点对应的实例 ID**
# - ins-q47ofw6 表示这个实例是一个 CVM 的实例
# - eks-f8mvyaep 表示这个实例是一个 CXM 的实例
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceId: String
attr_accessor :MachineName, :MachineState, :Zone, :InstanceChargeType, :CreatedAt, :LoginStatus, :IsProtectedFromScaleIn, :DisplayName, :CPU, :GPU, :RenewFlag, :PayMode, :Memory, :InternetAccessible, :InstanceFamily, :LanIp, :InstanceType, :ExpiredTime, :SecurityGroupIDs, :VpcId, :SubnetId, :OsImage, :InstanceId
def initialize(machinename=nil, machinestate=nil, zone=nil, instancechargetype=nil, createdat=nil, loginstatus=nil, isprotectedfromscalein=nil, displayname=nil, cpu=nil, gpu=nil, renewflag=nil, paymode=nil, memory=nil, internetaccessible=nil, instancefamily=nil, lanip=nil, instancetype=nil, expiredtime=nil, securitygroupids=nil, vpcid=nil, subnetid=nil, osimage=nil, instanceid=nil)
@MachineName = machinename
@MachineState = machinestate
@Zone = zone
@InstanceChargeType = instancechargetype
@CreatedAt = createdat
@LoginStatus = loginstatus
@IsProtectedFromScaleIn = isprotectedfromscalein
@DisplayName = displayname
@CPU = cpu
@GPU = gpu
@RenewFlag = renewflag
@PayMode = paymode
@Memory = memory
@InternetAccessible = internetaccessible
@InstanceFamily = instancefamily
@LanIp = lanip
@InstanceType = instancetype
@ExpiredTime = expiredtime
@SecurityGroupIDs = securitygroupids
@VpcId = vpcid
@SubnetId = subnetid
@OsImage = osimage
@InstanceId = instanceid
end
def deserialize(params)
@MachineName = params['MachineName']
@MachineState = params['MachineState']
@Zone = params['Zone']
@InstanceChargeType = params['InstanceChargeType']
@CreatedAt = params['CreatedAt']
@LoginStatus = params['LoginStatus']
@IsProtectedFromScaleIn = params['IsProtectedFromScaleIn']
@DisplayName = params['DisplayName']
@CPU = params['CPU']
@GPU = params['GPU']
@RenewFlag = params['RenewFlag']
@PayMode = params['PayMode']
@Memory = params['Memory']
unless params['InternetAccessible'].nil?
@InternetAccessible = InternetAccessible.new
@InternetAccessible.deserialize(params['InternetAccessible'])
end
@InstanceFamily = params['InstanceFamily']
@LanIp = params['LanIp']
@InstanceType = params['InstanceType']
@ExpiredTime = params['ExpiredTime']
@SecurityGroupIDs = params['SecurityGroupIDs']
@VpcId = params['VpcId']
@SubnetId = params['SubnetId']
@OsImage = params['OsImage']
@InstanceId = params['InstanceId']
end
end
# 原生节点池信息
class NativeNodePoolInfo < TencentCloud::Common::AbstractModel
# @param Scaling: 伸缩配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Scaling: :class:`Tencentcloud::Tke.v20220501.models.MachineSetScaling`
# @param SubnetIds: 子网列表
# @type SubnetIds: Array
# @param SecurityGroupIds: 安全组列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SecurityGroupIds: Array
# @param UpgradeSettings: 自动升级配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UpgradeSettings: :class:`Tencentcloud::Tke.v20220501.models.MachineUpgradeSettings`
# @param AutoRepair: 是否开启自愈能力
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoRepair: Boolean
# @param InstanceChargeType: 节点计费类型
# @type InstanceChargeType: String
# @param InstanceChargePrepaid: 包年包月机型计费配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceChargePrepaid: :class:`Tencentcloud::Tke.v20220501.models.InstanceChargePrepaid`
# @param SystemDisk: 系统盘配置
# @type SystemDisk: :class:`Tencentcloud::Tke.v20220501.models.Disk`
# @param KeyIds: 密钥 ID 列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type KeyIds: Array
# @param Management: Machine 系统配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Management: :class:`Tencentcloud::Tke.v20220501.models.ManagementConfig`
# @param HealthCheckPolicyName: 故障自愈规则名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HealthCheckPolicyName: String
# @param HostNamePattern: 原生节点池hostName模式串
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HostNamePattern: String
# @param KubeletArgs: kubelet 自定义参数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type KubeletArgs: Array
# @param Lifecycle: 预定义脚本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Lifecycle: :class:`Tencentcloud::Tke.v20220501.models.LifecycleConfig`
# @param RuntimeRootDir: 运行时根目录
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuntimeRootDir: String
# @param EnableAutoscaling: 是否开启弹性伸缩
# 注意:此字段可能返回 null,表示取不到有效值。
# @type EnableAutoscaling: Boolean
# @param InstanceTypes: 机型列表
# @type InstanceTypes: Array
# @param Replicas: 期望节点数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Replicas: Integer
# @param ReadyReplicas: 就绪 Machine 个数
# @type ReadyReplicas: Integer
# @param InternetAccessible: 公网带宽设置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InternetAccessible: :class:`Tencentcloud::Tke.v20220501.models.InternetAccessible`
# @param DataDisks: 原生节点池数据盘
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DataDisks: Array
# @param MachineType: 原生节点机型 Native, NativeCVM
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MachineType: String
attr_accessor :Scaling, :SubnetIds, :SecurityGroupIds, :UpgradeSettings, :AutoRepair, :InstanceChargeType, :InstanceChargePrepaid, :SystemDisk, :KeyIds, :Management, :HealthCheckPolicyName, :HostNamePattern, :KubeletArgs, :Lifecycle, :RuntimeRootDir, :EnableAutoscaling, :InstanceTypes, :Replicas, :ReadyReplicas, :InternetAccessible, :DataDisks, :MachineType
def initialize(scaling=nil, subnetids=nil, securitygroupids=nil, upgradesettings=nil, autorepair=nil, instancechargetype=nil, instancechargeprepaid=nil, systemdisk=nil, keyids=nil, management=nil, healthcheckpolicyname=nil, hostnamepattern=nil, kubeletargs=nil, lifecycle=nil, runtimerootdir=nil, enableautoscaling=nil, instancetypes=nil, replicas=nil, readyreplicas=nil, internetaccessible=nil, datadisks=nil, machinetype=nil)
@Scaling = scaling
@SubnetIds = subnetids
@SecurityGroupIds = securitygroupids
@UpgradeSettings = upgradesettings
@AutoRepair = autorepair
@InstanceChargeType = instancechargetype
@InstanceChargePrepaid = instancechargeprepaid
@SystemDisk = systemdisk
@KeyIds = keyids
@Management = management
@HealthCheckPolicyName = healthcheckpolicyname
@HostNamePattern = hostnamepattern
@KubeletArgs = kubeletargs
@Lifecycle = lifecycle
@RuntimeRootDir = runtimerootdir
@EnableAutoscaling = enableautoscaling
@InstanceTypes = instancetypes
@Replicas = replicas
@ReadyReplicas = readyreplicas
@InternetAccessible = internetaccessible
@DataDisks = datadisks
@MachineType = machinetype
end
def deserialize(params)
unless params['Scaling'].nil?
@Scaling = MachineSetScaling.new
@Scaling.deserialize(params['Scaling'])
end
@SubnetIds = params['SubnetIds']
@SecurityGroupIds = params['SecurityGroupIds']
unless params['UpgradeSettings'].nil?
@UpgradeSettings = MachineUpgradeSettings.new
@UpgradeSettings.deserialize(params['UpgradeSettings'])
end
@AutoRepair = params['AutoRepair']
@InstanceChargeType = params['InstanceChargeType']
unless params['InstanceChargePrepaid'].nil?
@InstanceChargePrepaid = InstanceChargePrepaid.new
@InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
end
unless params['SystemDisk'].nil?
@SystemDisk = Disk.new
@SystemDisk.deserialize(params['SystemDisk'])
end
@KeyIds = params['KeyIds']
unless params['Management'].nil?
@Management = ManagementConfig.new
@Management.deserialize(params['Management'])
end
@HealthCheckPolicyName = params['HealthCheckPolicyName']
@HostNamePattern = params['HostNamePattern']
@KubeletArgs = params['KubeletArgs']
unless params['Lifecycle'].nil?
@Lifecycle = LifecycleConfig.new
@Lifecycle.deserialize(params['Lifecycle'])
end
@RuntimeRootDir = params['RuntimeRootDir']
@EnableAutoscaling = params['EnableAutoscaling']
@InstanceTypes = params['InstanceTypes']
@Replicas = params['Replicas']
@ReadyReplicas = params['ReadyReplicas']
unless params['InternetAccessible'].nil?
@InternetAccessible = InternetAccessible.new
@InternetAccessible.deserialize(params['InternetAccessible'])
end
unless params['DataDisks'].nil?
@DataDisks = []
params['DataDisks'].each do |i|
datadisk_tmp = DataDisk.new
datadisk_tmp.deserialize(i)
@DataDisks << datadisk_tmp
end
end
@MachineType = params['MachineType']
end
end
# 节点统计列表
class NodeCountSummary < TencentCloud::Common::AbstractModel
# @param ManuallyAdded: 手动管理的节点
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ManuallyAdded: :class:`Tencentcloud::Tke.v20220501.models.ManuallyAdded`
# @param AutoscalingAdded: 自动管理的节点
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoscalingAdded: :class:`Tencentcloud::Tke.v20220501.models.AutoscalingAdded`
attr_accessor :ManuallyAdded, :AutoscalingAdded
def initialize(manuallyadded=nil, autoscalingadded=nil)
@ManuallyAdded = manuallyadded
@AutoscalingAdded = autoscalingadded
end
def deserialize(params)
unless params['ManuallyAdded'].nil?
@ManuallyAdded = ManuallyAdded.new
@ManuallyAdded.deserialize(params['ManuallyAdded'])
end
unless params['AutoscalingAdded'].nil?
@AutoscalingAdded = AutoscalingAdded.new
@AutoscalingAdded.deserialize(params['AutoscalingAdded'])
end
end
end
# 节点池信息
class NodePool < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param NodePoolId: 节点池 ID
# @type NodePoolId: String
# @param Tags: 节点标签
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Tags: Array
# @param Taints: 节点污点
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Taints: Array
# @param DeletionProtection: 是否开启删除保护
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DeletionProtection: Boolean
# @param Unschedulable: 节点是否不可调度
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Unschedulable: Boolean
# @param Type: 节点池类型
# @type Type: String
# @param Labels: 节点 Labels
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Labels: Array
# @param LifeState: 节点池状态
# @type LifeState: String
# @param CreatedAt: 创建时间
# @type CreatedAt: String
# @param Name: 节点池名称
# @type Name: String
# @param Native: 原生节点池参数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Native: :class:`Tencentcloud::Tke.v20220501.models.NativeNodePoolInfo`
# @param Annotations: 节点 Annotation 列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Annotations: Array
# @param Super: 超级节点池参数,在Type等于Super该字段才有值
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Super: :class:`Tencentcloud::Tke.v20220501.models.SuperNodePoolInfo`
# @param Regular: 普通节点池参数,在Type等于Regular该字段才有值
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Regular: :class:`Tencentcloud::Tke.v20220501.models.RegularNodePoolInfo`
# @param External: 第三方节点池参数,在Type等于External该字段才有值
# 注意:此字段可能返回 null,表示取不到有效值。
# @type External: :class:`Tencentcloud::Tke.v20220501.models.ExternalNodePoolInfo`
attr_accessor :ClusterId, :NodePoolId, :Tags, :Taints, :DeletionProtection, :Unschedulable, :Type, :Labels, :LifeState, :CreatedAt, :Name, :Native, :Annotations, :Super, :Regular, :External
def initialize(clusterid=nil, nodepoolid=nil, tags=nil, taints=nil, deletionprotection=nil, unschedulable=nil, type=nil, labels=nil, lifestate=nil, createdat=nil, name=nil, native=nil, annotations=nil, _super=nil, regular=nil, external=nil)
@ClusterId = clusterid
@NodePoolId = nodepoolid
@Tags = tags
@Taints = taints
@DeletionProtection = deletionprotection
@Unschedulable = unschedulable
@Type = type
@Labels = labels
@LifeState = lifestate
@CreatedAt = createdat
@Name = name
@Native = native
@Annotations = annotations
@Super = _super
@Regular = regular
@External = external
end
def deserialize(params)
@ClusterId = params['ClusterId']
@NodePoolId = params['NodePoolId']
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tagspecification_tmp = TagSpecification.new
tagspecification_tmp.deserialize(i)
@Tags << tagspecification_tmp
end
end
unless params['Taints'].nil?
@Taints = []
params['Taints'].each do |i|
taint_tmp = Taint.new
taint_tmp.deserialize(i)
@Taints << taint_tmp
end
end
@DeletionProtection = params['DeletionProtection']
@Unschedulable = params['Unschedulable']
@Type = params['Type']
unless params['Labels'].nil?
@Labels = []
params['Labels'].each do |i|
label_tmp = Label.new
label_tmp.deserialize(i)
@Labels << label_tmp
end
end
@LifeState = params['LifeState']
@CreatedAt = params['CreatedAt']
@Name = params['Name']
unless params['Native'].nil?
@Native = NativeNodePoolInfo.new
@Native.deserialize(params['Native'])
end
unless params['Annotations'].nil?
@Annotations = []
params['Annotations'].each do |i|
annotation_tmp = Annotation.new
annotation_tmp.deserialize(i)
@Annotations << annotation_tmp
end
end
unless params['Super'].nil?
@Super = SuperNodePoolInfo.new
@Super.deserialize(params['Super'])
end
unless params['Regular'].nil?
@Regular = RegularNodePoolInfo.new
@Regular.deserialize(params['Regular'])
end
unless params['External'].nil?
@External = ExternalNodePoolInfo.new
@External.deserialize(params['External'])
end
end
end
# RebootMachines请求参数结构体
class RebootMachinesRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param MachineNames: 节点名字列表,一次请求,传入节点数量上限为100个
# @type MachineNames: Array
# @param StopType: 实例的关闭模式。取值范围:
# soft_first:表示在正常关闭失败后进行强制关闭
# hard:直接强制关闭
# soft:仅软关机默认取值:soft。
# @type StopType: String
attr_accessor :ClusterId, :MachineNames, :StopType
def initialize(clusterid=nil, machinenames=nil, stoptype=nil)
@ClusterId = clusterid
@MachineNames = machinenames
@StopType = stoptype
end
def deserialize(params)
@ClusterId = params['ClusterId']
@MachineNames = params['MachineNames']
@StopType = params['StopType']
end
end
# RebootMachines返回参数结构体
class RebootMachinesResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 普通节点信息
class RegularNodeInfo < TencentCloud::Common::AbstractModel
# @param InstanceAdvancedSettings: 节点配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceAdvancedSettings: :class:`Tencentcloud::Tke.v20220501.models.InstanceAdvancedSettings`
# @param AutoscalingGroupId: 自动伸缩组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoscalingGroupId: String
attr_accessor :InstanceAdvancedSettings, :AutoscalingGroupId
def initialize(instanceadvancedsettings=nil, autoscalinggroupid=nil)
@InstanceAdvancedSettings = instanceadvancedsettings
@AutoscalingGroupId = autoscalinggroupid
end
def deserialize(params)
unless params['InstanceAdvancedSettings'].nil?
@InstanceAdvancedSettings = InstanceAdvancedSettings.new
@InstanceAdvancedSettings.deserialize(params['InstanceAdvancedSettings'])
end
@AutoscalingGroupId = params['AutoscalingGroupId']
end
end
# 普通节点池信息
class RegularNodePoolInfo < TencentCloud::Common::AbstractModel
# @param LaunchConfigurationId: LaunchConfigurationId 配置
# @type LaunchConfigurationId: String
# @param AutoscalingGroupId: AutoscalingGroupId 分组id
# @type AutoscalingGroupId: String
# @param NodeCountSummary: NodeCountSummary 节点列表
# @type NodeCountSummary: :class:`Tencentcloud::Tke.v20220501.models.NodeCountSummary`
# @param AutoscalingGroupStatus: 状态信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoscalingGroupStatus: String
# @param MaxNodesNum: 最大节点数量
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MaxNodesNum: Integer
# @param MinNodesNum: 最小节点数量
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MinNodesNum: Integer
# @param DesiredNodesNum: 期望的节点数量
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DesiredNodesNum: Integer
# @param NodePoolOs: 节点池osName
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NodePoolOs: String
# @param InstanceAdvancedSettings: 节点配置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceAdvancedSettings: :class:`Tencentcloud::Tke.v20220501.models.InstanceAdvancedSettings`
attr_accessor :LaunchConfigurationId, :AutoscalingGroupId, :NodeCountSummary, :AutoscalingGroupStatus, :MaxNodesNum, :MinNodesNum, :DesiredNodesNum, :NodePoolOs, :InstanceAdvancedSettings
def initialize(launchconfigurationid=nil, autoscalinggroupid=nil, nodecountsummary=nil, autoscalinggroupstatus=nil, maxnodesnum=nil, minnodesnum=nil, desirednodesnum=nil, nodepoolos=nil, instanceadvancedsettings=nil)
@LaunchConfigurationId = launchconfigurationid
@AutoscalingGroupId = autoscalinggroupid
@NodeCountSummary = nodecountsummary
@AutoscalingGroupStatus = autoscalinggroupstatus
@MaxNodesNum = maxnodesnum
@MinNodesNum = minnodesnum
@DesiredNodesNum = desirednodesnum
@NodePoolOs = nodepoolos
@InstanceAdvancedSettings = instanceadvancedsettings
end
def deserialize(params)
@LaunchConfigurationId = params['LaunchConfigurationId']
@AutoscalingGroupId = params['AutoscalingGroupId']
unless params['NodeCountSummary'].nil?
@NodeCountSummary = NodeCountSummary.new
@NodeCountSummary.deserialize(params['NodeCountSummary'])
end
@AutoscalingGroupStatus = params['AutoscalingGroupStatus']
@MaxNodesNum = params['MaxNodesNum']
@MinNodesNum = params['MinNodesNum']
@DesiredNodesNum = params['DesiredNodesNum']
@NodePoolOs = params['NodePoolOs']
unless params['InstanceAdvancedSettings'].nil?
@InstanceAdvancedSettings = InstanceAdvancedSettings.new
@InstanceAdvancedSettings.deserialize(params['InstanceAdvancedSettings'])
end
end
end
# 运行时配置
class RuntimeConfig < TencentCloud::Common::AbstractModel
# @param RuntimeType: 运行时类型
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuntimeType: String
# @param RuntimeVersion: 运行时版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuntimeVersion: String
# @param RuntimeRootDir: 运行时根目录
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuntimeRootDir: String
attr_accessor :RuntimeType, :RuntimeVersion, :RuntimeRootDir
def initialize(runtimetype=nil, runtimeversion=nil, runtimerootdir=nil)
@RuntimeType = runtimetype
@RuntimeVersion = runtimeversion
@RuntimeRootDir = runtimerootdir
end
def deserialize(params)
@RuntimeType = params['RuntimeType']
@RuntimeVersion = params['RuntimeVersion']
@RuntimeRootDir = params['RuntimeRootDir']
end
end
# 排序信息
class SortBy < TencentCloud::Common::AbstractModel
# @param FieldName: 排序指标
# @type FieldName: String
# @param OrderType: 排序方式
# @type OrderType: String
attr_accessor :FieldName, :OrderType
def initialize(fieldname=nil, ordertype=nil)
@FieldName = fieldname
@OrderType = ordertype
end
def deserialize(params)
@FieldName = params['FieldName']
@OrderType = params['OrderType']
end
end
# StartMachines请求参数结构体
class StartMachinesRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param MachineNames: 节点名字列表,一次请求,传入节点数量上限为100个
# @type MachineNames: Array
attr_accessor :ClusterId, :MachineNames
def initialize(clusterid=nil, machinenames=nil)
@ClusterId = clusterid
@MachineNames = machinenames
end
def deserialize(params)
@ClusterId = params['ClusterId']
@MachineNames = params['MachineNames']
end
end
# StartMachines返回参数结构体
class StartMachinesResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# StopMachines请求参数结构体
class StopMachinesRequest < TencentCloud::Common::AbstractModel
# @param ClusterId: 集群 ID
# @type ClusterId: String
# @param MachineNames: 节点名字列表,一次请求,传入节点数量上限为100个
# @type MachineNames: Array
# @param StopType: 实例的关闭模式。取值范围:
# soft_first:表示在正常关闭失败后进行强制关闭
# hard:直接强制关闭
# soft:仅软关机
# @type StopType: String
attr_accessor :ClusterId, :MachineNames, :StopType
def initialize(clusterid=nil, machinenames=nil, stoptype=nil)
@ClusterId = clusterid
@MachineNames = machinenames
@StopType = stoptype
end
def deserialize(params)
@ClusterId = params['ClusterId']
@MachineNames = params['MachineNames']
@StopType = params['StopType']
end
end
# StopMachines返回参数结构体
class StopMachinesResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 超级节点信息
class SuperNodeInfo < TencentCloud::Common::AbstractModel
# @param Name: 实例名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Name: String
# @param AutoRenewFlag: 自动续费标识
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AutoRenewFlag: Integer
# @param ResourceType: 资源类型
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ResourceType: String
# @param CPU: 节点的 CPU 规格,单位:核。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CPU: Float
# @param UsedCPU: 节点上 Pod 的 CPU总和,单位:核。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UsedCPU: Float
# @param Memory: 节点的内存规格,单位:Gi。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Memory: Float
# @param UsedMemory: 节点上 Pod 的内存总和,单位:Gi。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UsedMemory: Float
# @param Zone: 可用区
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Zone: String
# @param VpcId: VPC 唯一 ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VpcId: String
# @param SubnetId: 子网唯一 ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubnetId: String
# @param ActiveAt: 生效时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ActiveAt: String
# @param ExpireAt: 过期时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExpireAt: String
# @param MaxCPUScheduledPod: 可调度的单 Pod 最大 CPU 规格
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MaxCPUScheduledPod: Integer
# @param InstanceAttribute: 实例属性
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceAttribute: String
attr_accessor :Name, :AutoRenewFlag, :ResourceType, :CPU, :UsedCPU, :Memory, :UsedMemory, :Zone, :VpcId, :SubnetId, :ActiveAt, :ExpireAt, :MaxCPUScheduledPod, :InstanceAttribute
def initialize(name=nil, autorenewflag=nil, resourcetype=nil, cpu=nil, usedcpu=nil, memory=nil, usedmemory=nil, zone=nil, vpcid=nil, subnetid=nil, activeat=nil, expireat=nil, maxcpuscheduledpod=nil, instanceattribute=nil)
@Name = name
@AutoRenewFlag = autorenewflag
@ResourceType = resourcetype
@CPU = cpu
@UsedCPU = usedcpu
@Memory = memory
@UsedMemory = usedmemory
@Zone = zone
@VpcId = vpcid
@SubnetId = subnetid
@ActiveAt = activeat
@ExpireAt = expireat
@MaxCPUScheduledPod = maxcpuscheduledpod
@InstanceAttribute = instanceattribute
end
def deserialize(params)
@Name = params['Name']
@AutoRenewFlag = params['AutoRenewFlag']
@ResourceType = params['ResourceType']
@CPU = params['CPU']
@UsedCPU = params['UsedCPU']
@Memory = params['Memory']
@UsedMemory = params['UsedMemory']
@Zone = params['Zone']
@VpcId = params['VpcId']
@SubnetId = params['SubnetId']
@ActiveAt = params['ActiveAt']
@ExpireAt = params['ExpireAt']
@MaxCPUScheduledPod = params['MaxCPUScheduledPod']
@InstanceAttribute = params['InstanceAttribute']
end
end
# 虚拟节点池信息
class SuperNodePoolInfo < TencentCloud::Common::AbstractModel
# @param SubnetIds: 子网列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubnetIds: Array
# @param SecurityGroupIds: 安全组列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SecurityGroupIds: Array
attr_accessor :SubnetIds, :SecurityGroupIds
def initialize(subnetids=nil, securitygroupids=nil)
@SubnetIds = subnetids
@SecurityGroupIds = securitygroupids
end
def deserialize(params)
@SubnetIds = params['SubnetIds']
@SecurityGroupIds = params['SecurityGroupIds']
end
end
# 标签绑定的资源类型,当前支持类型:"cluster"
class Tag < TencentCloud::Common::AbstractModel
# @param Key: 标签键
# @type Key: String
# @param Value: 标签值
# @type Value: String
attr_accessor :Key, :Value
def initialize(key=nil, value=nil)
@Key = key
@Value = value
end
def deserialize(params)
@Key = params['Key']
@Value = params['Value']
end
end
# 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云主机实例。
class TagSpecification < TencentCloud::Common::AbstractModel
# @param ResourceType: 标签绑定的资源类型,当前支持类型:"cluster"
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ResourceType: String
# @param Tags: 标签对列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Tags: Array
attr_accessor :ResourceType, :Tags
def initialize(resourcetype=nil, tags=nil)
@ResourceType = resourcetype
@Tags = tags
end
def deserialize(params)
@ResourceType = params['ResourceType']
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tag_tmp = Tag.new
tag_tmp.deserialize(i)
@Tags << tag_tmp
end
end
end
end
# kubernetes Taint
class Taint < TencentCloud::Common::AbstractModel
# @param Key: Taint的Key
# @type Key: String
# @param Value: Taint的Value
# @type Value: String
# @param Effect: Taint的Effect
# @type Effect: String
attr_accessor :Key, :Value, :Effect
def initialize(key=nil, value=nil, effect=nil)
@Key = key
@Value = value
@Effect = effect
end
def deserialize(params)
@Key = params['Key']
@Value = params['Value']
@Effect = params['Effect']
end
end
# 修改原生节点池参数
class UpdateNativeNodePoolParam < TencentCloud::Common::AbstractModel
# @param Scaling: 伸缩配置
# @type Scaling: :class:`Tencentcloud::Tke.v20220501.models.MachineSetScaling`
# @param SubnetIds: 子网列表
# @type SubnetIds: Array
# @param SecurityGroupIds: 安全组列表
# @type SecurityGroupIds: Array
# @param UpgradeSettings: 自动升级配置
# @type UpgradeSettings: :class:`Tencentcloud::Tke.v20220501.models.MachineUpgradeSettings`
# @param AutoRepair: 是否开启自愈能力
# @type AutoRepair: Boolean
# @param InstanceChargeType: 节点计费类型变更
# 当前仅支持按量计费转包年包月:
# - PREPAID
# @type InstanceChargeType: String
# @param InstanceChargePrepaid: 包年包月机型计费配置
# @type InstanceChargePrepaid: :class:`Tencentcloud::Tke.v20220501.models.InstanceChargePrepaid`
# @param SystemDisk: 系统盘配置
# @type SystemDisk: :class:`Tencentcloud::Tke.v20220501.models.Disk`
# @param Management: Machine 系统配置
# @type Management: :class:`Tencentcloud::Tke.v20220501.models.ManagementConfig`
# @param HealthCheckPolicyName: 故障自愈规则名称
# @type HealthCheckPolicyName: String
# @param HostNamePattern: 原生节点池hostName模式串
# @type HostNamePattern: String
# @param KubeletArgs: kubelet 自定义参数
# @type KubeletArgs: Array
# @param Lifecycle: 预定义脚本
# @type Lifecycle: :class:`Tencentcloud::Tke.v20220501.models.LifecycleConfig`
# @param RuntimeRootDir: 运行时根目录
# @type RuntimeRootDir: String
# @param EnableAutoscaling: 是否开启弹性伸缩
# @type EnableAutoscaling: Boolean
# @param InstanceTypes: 机型列表
# @type InstanceTypes: Array
# @param Replicas: 期望节点数
# @type Replicas: Integer
# @param DataDisks: 数据盘列表
# @type DataDisks: Array
# @param KeyIds: ssh公钥id数组
# @type KeyIds: Array
attr_accessor :Scaling, :SubnetIds, :SecurityGroupIds, :UpgradeSettings, :AutoRepair, :InstanceChargeType, :InstanceChargePrepaid, :SystemDisk, :Management, :HealthCheckPolicyName, :HostNamePattern, :KubeletArgs, :Lifecycle, :RuntimeRootDir, :EnableAutoscaling, :InstanceTypes, :Replicas, :DataDisks, :KeyIds
def initialize(scaling=nil, subnetids=nil, securitygroupids=nil, upgradesettings=nil, autorepair=nil, instancechargetype=nil, instancechargeprepaid=nil, systemdisk=nil, management=nil, healthcheckpolicyname=nil, hostnamepattern=nil, kubeletargs=nil, lifecycle=nil, runtimerootdir=nil, enableautoscaling=nil, instancetypes=nil, replicas=nil, datadisks=nil, keyids=nil)
@Scaling = scaling
@SubnetIds = subnetids
@SecurityGroupIds = securitygroupids
@UpgradeSettings = upgradesettings
@AutoRepair = autorepair
@InstanceChargeType = instancechargetype
@InstanceChargePrepaid = instancechargeprepaid
@SystemDisk = systemdisk
@Management = management
@HealthCheckPolicyName = healthcheckpolicyname
@HostNamePattern = hostnamepattern
@KubeletArgs = kubeletargs
@Lifecycle = lifecycle
@RuntimeRootDir = runtimerootdir
@EnableAutoscaling = enableautoscaling
@InstanceTypes = instancetypes
@Replicas = replicas
@DataDisks = datadisks
@KeyIds = keyids
end
def deserialize(params)
unless params['Scaling'].nil?
@Scaling = MachineSetScaling.new
@Scaling.deserialize(params['Scaling'])
end
@SubnetIds = params['SubnetIds']
@SecurityGroupIds = params['SecurityGroupIds']
unless params['UpgradeSettings'].nil?
@UpgradeSettings = MachineUpgradeSettings.new
@UpgradeSettings.deserialize(params['UpgradeSettings'])
end
@AutoRepair = params['AutoRepair']
@InstanceChargeType = params['InstanceChargeType']
unless params['InstanceChargePrepaid'].nil?
@InstanceChargePrepaid = InstanceChargePrepaid.new
@InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
end
unless params['SystemDisk'].nil?
@SystemDisk = Disk.new
@SystemDisk.deserialize(params['SystemDisk'])
end
unless params['Management'].nil?
@Management = ManagementConfig.new
@Management.deserialize(params['Management'])
end
@HealthCheckPolicyName = params['HealthCheckPolicyName']
@HostNamePattern = params['HostNamePattern']
@KubeletArgs = params['KubeletArgs']
unless params['Lifecycle'].nil?
@Lifecycle = LifecycleConfig.new
@Lifecycle.deserialize(params['Lifecycle'])
end
@RuntimeRootDir = params['RuntimeRootDir']
@EnableAutoscaling = params['EnableAutoscaling']
@InstanceTypes = params['InstanceTypes']
@Replicas = params['Replicas']
unless params['DataDisks'].nil?
@DataDisks = []
params['DataDisks'].each do |i|
datadisk_tmp = DataDisk.new
datadisk_tmp.deserialize(i)
@DataDisks << datadisk_tmp
end
end
@KeyIds = params['KeyIds']
end
end
end
end
end