diff --git a/ucloud/services/uk8s/client.py b/ucloud/services/uk8s/client.py index 5f19c49..3f7a9ee 100644 --- a/ucloud/services/uk8s/client.py +++ b/ucloud/services/uk8s/client.py @@ -62,29 +62,113 @@ def add_uk8s_node_group( - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **BootDiskSize** (int) - (Required) 系统盘大小,单位GB。默认40。范围:[40, 500]。注意SSD本地盘无法调整。 + - **BootDiskType** (str) - (Required) 磁盘类型 + - **CPU** (int) - (Required) CPU个数 - **ClusterId** (str) - (Required) 集群ID + - **ImageId** (str) - (Required) 镜像ID + - **MachineType** (str) - (Required) 云主机机型。枚举值["N", "C", "G", "O", "OS"]。参考 `云主机机型说明 `_ 。 + - **Mem** (int) - (Required) 内存大小。单位:MB - **NodeGroupName** (str) - (Required) 节点池名字 - - **BootDiskSize** (int) - 系统盘大小,单位GB。默认40。范围:[40, 500]。注意SSD本地盘无法调整。 - - **BootDiskType** (str) - 磁盘类型 - - **CPU** (int) - GPU卡核心数。仅GPU机型支持此字段(可选范围与MachineType+GpuType相关) + - **SubnetId** (str) - (Required) 子网 ID。默认为集群创建时填写的子网ID,也可以填写集群同VPC内的子网ID。 - **ChargeType** (str) - 计费模式 - **DataDiskSize** (int) - 数据磁盘大小 - **DataDiskType** (str) - 磁盘类型 - - **GPU** (int) - GPU卡核心数 + - **GPU** (int) - GPU卡核心数。仅GPU机型支持此字段(可选范围与MachineType+GpuType相关) - **GpuType** (str) - GPU类型 - - **ImageId** (str) - 镜像ID - - **MachineType** (str) - 云主机机型。枚举值["N", "C", "G", "O", "OS"]。参考 `云主机机型说明 `_ 。 - - **Mem** (int) - 内存大小。单位:MB + - **InitScript** (str) - 用户自定义Shell脚本。与UserData的区别在于InitScript在节点初始化完毕后才执行,UserData则是云主机初始化时执行。 + - **IsolationGroupId** (str) - 硬件隔离组id。可通过DescribeIsolationGroup获取。 + - **KubeletConfiguration** (dict) - 见 **AddUK8SNodeGroupParamKubeletConfiguration** 模型定义 + - **Labels** (str) - Node节点标签。key=value形式,多组用”,“隔开,最多5组。 如env=pro,type=game + - **MaxPods** (str) - 默认110,生产环境建议小于等于110。 - **MinimalCpuPlatform** (str) - 最低cpu平台,枚举值["Intel/Auto", "Intel/IvyBridge", "Intel/Haswell", "Intel/Broadwell", "Intel/Skylake", "Intel/Cascadelake";"Intel/CascadelakeR"; “Amd/Epyc2”,"Amd/Auto"],默认值是"Intel/Auto" - - **SubnetId** (str) - 子网 ID。默认为集群创建时填写的子网ID,也可以填写集群同VPC内的子网ID。 + - **NetCapability** (str) - 网络增强特性。枚举值:Normal,不开启; Super,开启网络增强1.0; Ultra,开启网络增强2.0;Extreme,开启网络增强3.0; Infiniband, 开启网络增强4.0(详情参考主机官网文档) + - **NetworkInterface** (list) - 见 **AddUK8SNodeGroupParamNetworkInterface** 模型定义 + - **NodeNamePrefix** (str) - 自定义Uhost主机名前缀。完整的自定义Uhost主机名为{NodeNamePrefix}-{NodeIP}。 + - **SecGroupId** (list) - 见 **AddUK8SNodeGroupParamSecGroupId** 模型定义 + - **SecurityGroupId** (str) - 防火墙ID,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 `DescribeFirewall `_ 。 + - **SecurityMode** (str) - 主机安全模式。Firewall:防火墙;SecGroup:安全组;默认值:Firewall。 - **Tag** (str) - 业务组 + - **Taints** (str) - Node节点污点,形式为key=value:effect,多组taints用”,“隔开,最多支持五组。 + - **UHostFamily** (str) - 主机规格族 + - **UNIFeature** (bool) - 弹性网卡特性。开启了弹性网卡权限位,此特性才生效,默认 false 未开启,true 开启。 + - **UserData** (str) - 用户自定义数据。当镜像支持Cloud-init Feature时可填写此字段。注意:1、总数据量大小不超过 16K;2、使用base64编码。 - **Zone** (str) - 可用区。参见 `可用区列表 `_ + - **ZoneBaned** (str) - 重复 待删除 可用区。参见 `可用区列表 `_ **Response** - **Message** (str) - 返回错误消息,当 RetCode 非 0 时提供详细的描述信息。 - **NodeGroupId** (str) - 节点池ID + **Request Model** + + **AddUK8SNodeGroupParamKubeletConfigurationEvictionHard** + - **ImagefsAvailable** (str) - 触发Pod驱逐操作的硬性门限之容器镜像剩余空间: 需以%结尾。控制台展示为evictionHard - imagefs.available + - **MemoryAvailable** (str) - 触发Pod驱逐操作的硬性门限之内存用量: 需以Mi或Gi结尾。控制台展示为evictionHard - memory.available + - **NodefsAvailable** (str) - 触发Pod驱逐操作的硬性门限之节点存储剩余空间: 需以%结尾。控制台展示为evictionHard - nodefs.available + - **NodefsInodesFree** (str) - 触发Pod驱逐操作的硬性门限节点inode剩余量: 需以%结尾。控制台展示为evictionHard - nodefs.inodesFree + + + **AddUK8SNodeGroupParamKubeletConfigurationEvictionSoft** + - **ImagefsAvailable** (str) - 触发Pod驱逐操作的软性门限之容器镜像剩余空间: 需以%结尾。配置此值时必须同时配置EvictionSoftGracePeriod.ImagefsAvailable。控制台展示为evictionSoft - imagefs.available + - **MemoryAvailable** (str) - 触发Pod驱逐操作的软性门限之内存用量: 需以Mi或Gi结尾。配置此值时必须同时配置EvictionSoftGracePeriod.MemoryAvailable。控制台展示为evictionSoft - memory.available + - **NodefsAvailable** (str) - 触发Pod驱逐操作的软性门限之节点存储剩余空间: 需以%结尾。配置此值时必须同时配置EvictionSoftGracePeriod.NodefsAvailable。控制台展示为evictionSoft - nodefs.available + - **NodefsInodesFree** (str) - 触发Pod驱逐操作的软性门限节点inode剩余量: 需以%结尾。配置此值时必须同时配置EvictionSoftGracePeriod.NodefsInodesFree。控制台展示为evictionSoft - nodefs.inodesFree + + + **AddUK8SNodeGroupParamKubeletConfigurationEvictionSoftGracePeriod** + - **ImagefsAvailable** (str) - ImagefsAvailable软性门限的宽限时间,必须以s结尾。控制台展示为evictionSoftGracePeriod - imagefs.available + - **MemoryAvailable** (str) - MemoryAvailable软性门限的宽限时间,必须以s结尾。控制台展示为evictionSoftGracePeriod - memory.available + - **NodefsAvailable** (str) - NodefsAvailable软性门限的宽限时间,必须以s结尾。控制台展示为evictionSoftGracePeriod - nodefs.available + - **NodefsInodesFree** (str) - NodefsInodesFree软性门限的宽限时间,必须以s结尾。控制台展示为evictionSoftGracePeriod - nodefs.inodesFree + + + **AddUK8SNodeGroupParamNetworkInterfaceEIP** + - **Bandwidth** (int) - 【若绑定EIP,此参数必填】弹性IP的外网带宽, 单位为Mbps. 共享带宽模式下非必传, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-300],带宽计费[1-800] + - **CouponId** (str) - 当前EIP代金券id。请通过DescribeCoupon接口查询,或登录用户中心查看。 + - **OperatorName** (str) - 【若绑定EIP,此参数必填】弹性IP的线路。枚举值: 国际: International,BGP: Bgp.各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International + - **PayMode** (str) - 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. "Free":免费带宽模式,默认为 "Bandwidth" + - **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 + + + **AddUK8SNodeGroupParamSecGroupId** + - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 + - **Name** (str) - 安全组名称。 + - **Priority** (str) - 安全组优先级。取值范围[1, 5] + + + **AddUK8SNodeGroupParamNetworkInterface** + - **EIP** (dict) - 见 **AddUK8SNodeGroupParamNetworkInterfaceEIP** 模型定义 + + + **AddUK8SNodeGroupParamKubeletConfigurationSystemReserved** + - **CPU** (str) - 系统预留CPU资源,以m结尾。控制台展示为systemReserved - cpu + - **EphemeralStorage** (str) - 系统预留存储空间,以Gi结尾。控制台展示为systemReserved - ephemeral-storage + - **Memory** (str) - 系统预留内存资源,以Mi结尾。控制台展示为systemReserved - memory + - **Pid** (str) - 系统预留pid数量,必须大于等于500, string方式提供。控制台展示为systemReserved - pid + + + **AddUK8SNodeGroupParamKubeletConfigurationKubeReserved** + - **CPU** (str) - kubelet预留CPU资源,以m结尾。控制台展示为kubeReserved - cpu + - **EphemeralStorage** (str) - kubelet预留存储空间,以Gi结尾。控制台展示为kubeReserved - ephemeral-storage + - **Memory** (str) - kubelet预留内存资源,以Mi结尾。控制台展示为kubeReserved - memory + - **Pid** (str) - kubelet预留pid数量,必须大于等于500, string方式提供。控制台展示为kubeReserved - pid + + + **AddUK8SNodeGroupParamKubeletConfiguration** + - **ContainerLogMaxFiles** (int) - 容器的日志文件个数上限,需大于等于2。控制台展示为containerLogMaxFiles + - **ContainerLogMaxSize** (str) - 容器日志文件轮换生成新文件的最大阈值,需以Mi结尾。控制台展示为containerLogMaxSize + - **EvictionHard** (dict) - 见 **AddUK8SNodeGroupParamKubeletConfigurationEvictionHard** 模型定义 + - **EvictionSoft** (dict) - 见 **AddUK8SNodeGroupParamKubeletConfigurationEvictionSoft** 模型定义 + - **EvictionSoftGracePeriod** (dict) - 见 **AddUK8SNodeGroupParamKubeletConfigurationEvictionSoftGracePeriod** 模型定义 + - **ImageGCHighThresholdPercent** (int) - 配置镜像的磁盘用量百分比阈值,一旦镜像用量超过此阈值,镜像垃圾收集会一直运行。取值范围[1, 100], 同时需大于ImageGCLowThresholdPercent取值。控制台展示为imageGCHighThresholdPercent + - **ImageGCLowThresholdPercent** (int) - 配置镜像的磁盘用量百分比阈值,镜像用量低于此阈值时不会执行镜像垃圾收集操作。取值范围[1, 100], 同时需小于imageGCHighThresholdPercent取值。控制台展示为imageGCLowThresholdPercent + - **KubeReserved** (dict) - 见 **AddUK8SNodeGroupParamKubeletConfigurationKubeReserved** 模型定义 + - **MaxPods** (int) - Node能运行的Pod最大数量。需大于0。控制台展示为maxPods + - **SystemReserved** (dict) - 见 **AddUK8SNodeGroupParamKubeletConfigurationSystemReserved** 模型定义 + + """ # build request d = { @@ -198,20 +282,14 @@ def add_uk8s_uhost_node( **Request Model** - **AddUK8SUHostNodeParamNetworkInterfaceEIP** - - **Bandwidth** (int) - 【若绑定EIP,此参数必填】弹性IP的外网带宽, 单位为Mbps. 共享带宽模式下非必传, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-300],带宽计费[1-800] - - **CouponId** (str) - 当前EIP代金券id。请通过DescribeCoupon接口查询,或登录用户中心查看。 - - **OperatorName** (str) - 【若绑定EIP,此参数必填】弹性IP的线路。枚举值: 国际: International,BGP: Bgp。各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International - - **PayMode** (str) - 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. "Free":免费带宽模式,默认为 "Bandwidth" - - **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 - - **AddUK8SUHostNodeParamKubeletConfiguration** - **ContainerLogMaxFiles** (str) - 全量KubeletConfiguration.XXX定义参考AddUK8SNodeGroup接口: https://uxiao.ucloudadmin.com/#/api-manager/api/detail/UK8S/AddUK8SNodeGroup - **AddUK8SUHostNodeParamNetworkInterface** - - **EIP** (dict) - 见 **AddUK8SUHostNodeParamNetworkInterfaceEIP** 模型定义 + **AddUK8SUHostNodeParamSecGroupId** + - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 + - **Name** (str) - 安全组名称。 + - **Priority** (str) - 安全组优先级。取值范围[1, 5] **AddUK8SUHostNodeParamUserLabels** @@ -219,10 +297,16 @@ def add_uk8s_uhost_node( - **Value** (str) - UK8S用户资源标签的值 - **AddUK8SUHostNodeParamSecGroupId** - - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 - - **Name** (str) - 安全组名称。 - - **Priority** (str) - 安全组优先级。取值范围[1, 5] + **AddUK8SUHostNodeParamNetworkInterfaceEIP** + - **Bandwidth** (int) - 【若绑定EIP,此参数必填】弹性IP的外网带宽, 单位为Mbps. 共享带宽模式下非必传, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-300],带宽计费[1-800] + - **CouponId** (str) - 当前EIP代金券id。请通过DescribeCoupon接口查询,或登录用户中心查看。 + - **OperatorName** (str) - 【若绑定EIP,此参数必填】弹性IP的线路。枚举值: 国际: International,BGP: Bgp。各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International + - **PayMode** (str) - 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. "Free":免费带宽模式,默认为 "Bandwidth" + - **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 + + + **AddUK8SUHostNodeParamNetworkInterface** + - **EIP** (dict) - 见 **AddUK8SUHostNodeParamNetworkInterfaceEIP** 模型定义 """ @@ -290,6 +374,17 @@ def create_uk8s_cluster_v2( - **Mode** (str) - 集群kube-proxy模式。支持iptables和ipvs,默认为iptables。 + **CreateUK8SClusterV2ParamMasterSecGroupId** + - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 + - **Name** (str) - 安全组名称。 + - **Priority** (str) - 安全组优先级。取值范围[1, 5] + + + **CreateUK8SClusterV2ParamMaster** + - **SecGroupId** (list) - 见 **CreateUK8SClusterV2ParamMasterSecGroupId** 模型定义 + - **Zone** (str) - Master节点所属可用区,需要设置 Master.0.Zone、 Master.1.Zone、Master.2.Zone 三个 Master 节点的可用区。 三个节点可部署在不同可用区。参见 `可用区列表 `_ + + **CreateUK8SClusterV2ParamNodesNetworkInterfaceEIP** - **Bandwidth** (int) - 【若绑定EIP,此参数必填】弹性IP的外网带宽, 单位为Mbps. 共享带宽模式下非必传, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-300],带宽计费[1-800] - **CouponId** (str) - 当前EIP代金券id。请通过DescribeCoupon接口查询,或登录用户中心查看。 @@ -334,17 +429,6 @@ def create_uk8s_cluster_v2( - **Zone** (str) - 一组Nodes节点所属可用区,可创建多组Nodes节点,如一组是CPU Nodes节点,另一组是GPU Nodes节点。参见 `可用区列表 `_ - **CreateUK8SClusterV2ParamMasterSecGroupId** - - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 - - **Name** (str) - 安全组名称。 - - **Priority** (str) - 安全组优先级。取值范围[1, 5] - - - **CreateUK8SClusterV2ParamMaster** - - **SecGroupId** (list) - 见 **CreateUK8SClusterV2ParamMasterSecGroupId** 模型定义 - - **Zone** (str) - Master节点所属可用区,需要设置 Master.0.Zone、 Master.1.Zone、Master.2.Zone 三个 Master 节点的可用区。 三个节点可部署在不同可用区。参见 `可用区列表 `_ - - """ # build request d = { @@ -382,6 +466,23 @@ def create_uk8s_uls_config( **Request Model** + **CreateUK8SULSConfigParamInputDetailMetadata** + - **Container** (str) - 指定具体要采集元数据的容器名。如果留空,则不采集容器的元数据,可选字段:container_name,namespace,pod_name,pod_ip,pod_uid,container_id,image_name。Pod Label 元数据通过指定 InputDetail.Metadata.Labels字段。 + - **Labels** (str) - 定义要采集哪些 Pod 的标签 (Labels)。可选值: * (采集所有标签), "app,version" (仅采集 app 和 version), "" (不采集任何标签)。 + + + **CreateUK8SULSConfigParamInputDetailFilePaths** + - **File** (str) - 定义采集路径的文件名 + - **Path** (str) - 定义采集路径 + + + **CreateUK8SULSConfigParamInputDetail** + - **FilePaths** (list) - 见 **CreateUK8SULSConfigParamInputDetailFilePaths** 模型定义 + - **Metadata** (dict) - 见 **CreateUK8SULSConfigParamInputDetailMetadata** 模型定义 + - **Stream** (str) - all、stdout、stderr,默认 all (用于 InputDetail.Type = container_stdout) + - **Type** (str) - 日志输入类型。支持 container_file 和 container_stdout + + **CreateUK8SULSConfigParamMatchRuleWorkloads** - **Name** (str) - 按工作负载匹配时,工作负载的名称。 - **Namespace** (str) - 按工作负载匹配时,工作负载所在的命名空间。 @@ -394,6 +495,19 @@ def create_uk8s_uls_config( - **ValueOperator** (str) - 按 Pod 标签匹配时,标签值的匹配操作符。可选值: in, notin。 + **CreateUK8SULSConfigParamMatchRulePodLabels** + - **Labels** (list) - 见 **CreateUK8SULSConfigParamMatchRulePodLabelsLabels** 模型定义 + - **Namespace** (str) - 命名空间名称 + - **NamespaceOperator** (str) - 指定/排除命名空间, 可选值: in/notin + + + **CreateUK8SULSConfigParamMatchRule** + - **Container** (str) - 要匹配的容器名称,*表示所有容器,用逗号分隔 + - **ContainerOperator** (str) - 容器名称匹配操作符。支持:in(包含),notin(不包含) + - **PodLabels** (dict) - 见 **CreateUK8SULSConfigParamMatchRulePodLabels** 模型定义 + - **Workloads** (list) - 见 **CreateUK8SULSConfigParamMatchRuleWorkloads** 模型定义 + + **CreateUK8SULSConfigParamExtractRuleExtractRule** - **LogRegexBase64** (str) - Base64 编码的日志提取正则表达式。 @@ -415,36 +529,6 @@ def create_uk8s_uls_config( - **UnMatchUpload** (str) - 是否上传解析失败的日志。true 表示上传,false 表示丢弃。默认为 false。 - **CreateUK8SULSConfigParamMatchRulePodLabels** - - **Labels** (list) - 见 **CreateUK8SULSConfigParamMatchRulePodLabelsLabels** 模型定义 - - **Namespace** (str) - 命名空间名称 - - **NamespaceOperator** (str) - 指定/排除命名空间, 可选值: in/notin - - - **CreateUK8SULSConfigParamMatchRule** - - **Container** (str) - 要匹配的容器名称,*表示所有容器,用逗号分隔 - - **ContainerOperator** (str) - 容器名称匹配操作符。支持:in(包含),notin(不包含) - - **PodLabels** (dict) - 见 **CreateUK8SULSConfigParamMatchRulePodLabels** 模型定义 - - **Workloads** (list) - 见 **CreateUK8SULSConfigParamMatchRuleWorkloads** 模型定义 - - - **CreateUK8SULSConfigParamInputDetailFilePaths** - - **File** (str) - 定义采集路径的文件名 - - **Path** (str) - 定义采集路径 - - - **CreateUK8SULSConfigParamInputDetailMetadata** - - **Container** (str) - 指定具体要采集元数据的容器名。如果留空,则不采集容器的元数据,可选字段:container_name,namespace,pod_name,pod_ip,pod_uid,container_id,image_name。Pod Label 元数据通过指定 InputDetail.Metadata.Labels字段。 - - **Labels** (str) - 定义要采集哪些 Pod 的标签 (Labels)。可选值: * (采集所有标签), "app,version" (仅采集 app 和 version), "" (不采集任何标签)。 - - - **CreateUK8SULSConfigParamInputDetail** - - **FilePaths** (list) - 见 **CreateUK8SULSConfigParamInputDetailFilePaths** 模型定义 - - **Metadata** (dict) - 见 **CreateUK8SULSConfigParamInputDetailMetadata** 模型定义 - - **Stream** (str) - all、stdout、stderr,默认 all (用于 InputDetail.Type = container_stdout) - - **Type** (str) - 日志输入类型。支持 container_file 和 container_stdout - - """ # build request d = { @@ -611,6 +695,12 @@ def describe_uk8s_cluster( - **Type** (str) - 磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk + **SecGroupId** + - **Id** (str) - 安全组名称 + - **Name** (str) - 安全组id + - **Priority** (str) - 安全组优先级 + + **IPSet** - **Bandwidth** (int) - IP对应的带宽, 单位: Mb (内网IP不显示带宽信息) - **Default** (str) - 是否默认的弹性网卡的信息。true: 是默认弹性网卡;其他值:不是。 @@ -624,22 +714,6 @@ def describe_uk8s_cluster( - **VPCId** (str) - IP 所属的 VPC Id - **SecGroupId** - - **Id** (str) - 安全组名称 - - **Name** (str) - 安全组id - - **Priority** (str) - 安全组优先级 - - - **Autoscaler** - - **Enabled** (int) - 打开/关闭 - - **ScaleDownDelayAfterAdd** (str) - 静默时间 - - **ScaleDownGpuUtilizationThreshold** (str) - GPU缩容阈值 - - **ScaleDownUnneededTime** (str) - 缩容触发延时 - - **ScaleDownUtilizationThreshold** (str) - CPU缩容阈值 - - **UpdateTime** (int) - - - **Version** (str) - 伸缩器版本 - - **UhostInfo** - **BasicImageName** (str) - 基础镜像名称 - **CPU** (int) - Cpu数量 @@ -662,15 +736,25 @@ def describe_uk8s_cluster( - **Zone** (str) - 所在机房 - **LoopbackClientCert** - - **ExpireTime** (int) - 证书到期时间 - - **Warn** (bool) - 证书是否进入过期告警状态 + **Autoscaler** + - **Enabled** (int) - 打开/关闭 + - **ScaleDownDelayAfterAdd** (str) - 静默时间 + - **ScaleDownGpuUtilizationThreshold** (str) - GPU缩容阈值 + - **ScaleDownUnneededTime** (str) - 缩容触发延时 + - **ScaleDownUtilizationThreshold** (str) - CPU缩容阈值 + - **UpdateTime** (int) - + - **Version** (str) - 伸缩器版本 **KubeProxy** - **Mode** (str) - KubeProxy模式,枚举值为[ipvs,iptables] + **LoopbackClientCert** + - **ExpireTime** (int) - 证书到期时间 + - **Warn** (bool) - 证书是否进入过期告警状态 + + """ # build request d = { @@ -884,10 +968,6 @@ def list_uk8s_cluster_node_v2( **Response Model** - **KubeProxy** - - **Mode** (str) - KubeProxy模式,枚举值为[ipvs,iptables] - - **UHostIPSet** - **Bandwidth** (int) - IP对应的带宽, 单位: Mb (内网IP不显示带宽信息) - **IP** (str) - IP地址 @@ -900,6 +980,10 @@ def list_uk8s_cluster_node_v2( - **VPCId** (str) - IP地址对应的VPC ID + **KubeProxy** + - **Mode** (str) - KubeProxy模式,枚举值为[ipvs,iptables] + + **NodeInfoV2** - **AsgId** (str) - 节点所属伸缩组ID,非伸缩组创建出来的节点,伸缩组ID为Default。 - **BootDiskSize** (int) - 系统盘大小 @@ -1038,6 +1122,13 @@ def list_uk8s_node_group( **Response Model** + **EvictionCondition** + - **ImagefsAvailable** (str) - 镜像文件系统存储相关驱逐条件或宽限时间。 + - **MemoryAvailable** (str) - 内存相关驱逐条件或宽限时间。 + - **NodefsAvailable** (str) - 节点存储余量相关驱逐条件或宽限时间。 + - **NodefsInodesFree** (str) - 节点剩余inodes驱逐条件或宽限时间。 + + **ReservedResource** - **CPU** (str) - CPU - **EphemeralStorage** (str) - 存储 @@ -1053,19 +1144,29 @@ def list_uk8s_node_group( - **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 + **NetworkInterface** + - **EIP** (dict) - 见 **EIP** 模型定义 + + + **DiskSet** + - **BackupType** (str) - 备份方案,枚举类型:BASIC_SNAPSHOT,普通快照;DATAARK,方舟。无快照则不返回该字段。 + - **DiskId** (str) - 磁盘长ID + - **DiskType** (str) - LOCAL_NOMAL| CLOUD_NORMAL| LOCAL_SSD| CLOUD_SSD|EXCLUSIVE_LOCAL_DISK + - **Drive** (str) - 磁盘盘符 + - **Encrypted** (str) - Yes: 加密 No: 非加密 + - **IOPS** (int) - 当前主机的IOPS值 + - **IsBoot** (str) - True| False + - **Name** (str) - UDisk名字(仅当磁盘是UDisk时返回) + - **Size** (int) - 磁盘大小,单位: GB + - **Type** (str) - 磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk + + **SecGroupId** - **Id** (str) - 安全组名称 - **Name** (str) - 安全组id - **Priority** (str) - 安全组优先级 - **EvictionCondition** - - **ImagefsAvailable** (str) - 镜像文件系统存储相关驱逐条件或宽限时间。 - - **MemoryAvailable** (str) - 内存相关驱逐条件或宽限时间。 - - **NodefsAvailable** (str) - 节点存储余量相关驱逐条件或宽限时间。 - - **NodefsInodesFree** (str) - 节点剩余inodes驱逐条件或宽限时间。 - - **KubeletConfiguration** - **ContainerLogMaxFiles** (int) - 最大日志文件数量 - **ContainerLogMaxSize** (str) - 最大日志文件大小 @@ -1079,23 +1180,6 @@ def list_uk8s_node_group( - **SystemReserved** (dict) - 见 **ReservedResource** 模型定义 - **NetworkInterface** - - **EIP** (dict) - 见 **EIP** 模型定义 - - - **DiskSet** - - **BackupType** (str) - 备份方案,枚举类型:BASIC_SNAPSHOT,普通快照;DATAARK,方舟。无快照则不返回该字段。 - - **DiskId** (str) - 磁盘长ID - - **DiskType** (str) - LOCAL_NOMAL| CLOUD_NORMAL| LOCAL_SSD| CLOUD_SSD|EXCLUSIVE_LOCAL_DISK - - **Drive** (str) - 磁盘盘符 - - **Encrypted** (str) - Yes: 加密 No: 非加密 - - **IOPS** (int) - 当前主机的IOPS值 - - **IsBoot** (str) - True| False - - **Name** (str) - UDisk名字(仅当磁盘是UDisk时返回) - - **Size** (int) - 磁盘大小,单位: GB - - **Type** (str) - 磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk - - **NodeGroupSet** - **BootDiskSize** (int) - 系统盘大小 - **BootDiskType** (str) - 系统盘类型 @@ -1171,31 +1255,6 @@ def list_uk8s_uls_config( **Response Model** - **ULSWorkloadMatch** - - **Name** (str) - 工作负载的名称。 - - **Namespace** (str) - 工作负载所在的命名空间。 - - **Type** (str) - 工作负载的类型,例如 deployment, statefulset, daemonset,cronjob,job。 - - - **ULSLabels** - - **Key** (str) - 要匹配的标签的 Key。 - - **Value** (str) - 要匹配的标签的值。 - - **ValueOperator** (str) - 标签值的匹配操作符。可选值: in, notin。 - - - **ULSPodLabelsMatch** - - **Labels** (list) - 见 **ULSLabels** 模型定义 - - **Namespace** (str) - 要匹配的命名空间。namespaceOperator 存在时必需。 - - **NamespaceOperator** (str) - 命名空间名称的匹配操作符。可选值: in, notin。 - - - **ULSMatchRule** - - **Container** (str) - 要匹配的容器名称,*表示所有容器,用逗号分隔 - - **ContainerOperator** (str) - 容器名称匹配操作符。支持:in(包含),notin(不包含) - - **PodLabels** (dict) - 见 **ULSPodLabelsMatch** 模型定义 - - **Workloads** (list) - 见 **ULSWorkloadMatch** 模型定义 - - **ULSExtractRule** - **BeginningRegex** (str) - 行首正则表达式。在 multi_line、multi_line_full_regex 或 multi_line_delimiter 模式下,BeginningRegex 和 BeginningRegexBase64 必须至少填写一个。 - **BeginningRegexBase64** (str) - Base64 编码的行首正则表达式。填写时优先于 BeginningRegex。 @@ -1230,6 +1289,31 @@ def list_uk8s_uls_config( - **Type** (str) - 日志输入类型。可选值:container_file、container_stdout。 + **ULSLabels** + - **Key** (str) - 要匹配的标签的 Key。 + - **Value** (str) - 要匹配的标签的值。 + - **ValueOperator** (str) - 标签值的匹配操作符。可选值: in, notin。 + + + **ULSPodLabelsMatch** + - **Labels** (list) - 见 **ULSLabels** 模型定义 + - **Namespace** (str) - 要匹配的命名空间。namespaceOperator 存在时必需。 + - **NamespaceOperator** (str) - 命名空间名称的匹配操作符。可选值: in, notin。 + + + **ULSWorkloadMatch** + - **Name** (str) - 工作负载的名称。 + - **Namespace** (str) - 工作负载所在的命名空间。 + - **Type** (str) - 工作负载的类型,例如 deployment, statefulset, daemonset,cronjob,job。 + + + **ULSMatchRule** + - **Container** (str) - 要匹配的容器名称,*表示所有容器,用逗号分隔 + - **ContainerOperator** (str) - 容器名称匹配操作符。支持:in(包含),notin(不包含) + - **PodLabels** (dict) - 见 **ULSPodLabelsMatch** 模型定义 + - **Workloads** (list) - 见 **ULSWorkloadMatch** 模型定义 + + **ULSLogConfig** - **ClusterId** (str) - uk8s集群id - **ExtractRule** (dict) - 见 **ULSExtractRule** 模型定义 @@ -1279,6 +1363,91 @@ def remove_uk8s_node_group( resp = self.invoke("RemoveUK8SNodeGroup", d, **kwargs) return apis.RemoveUK8SNodeGroupResponseSchema().loads(resp) + def update_uk8s_node_group( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """UpdateUK8SNodeGroup - 修改UK8S节点池 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **ClusterId** (str) - (Required) 要修改的集群ID + - **NodeGroupId** (str) - (Required) 要修改的节点池Id + - **BootDiskSize** (int) - 系统盘大小,单位GB。默认40。范围:[40, 500]。注意SSD本地盘无法调整。 + - **BootDiskType** (str) - 磁盘类型 + - **CPU** (int) - GPU卡核心数。仅GPU机型支持此字段(可选范围与MachineType+GpuType相关) + - **ChargeType** (str) - 计费模式 + - **DataDiskSize** (int) - 数据磁盘大小 + - **DataDiskType** (str) - 磁盘类型 + - **GPU** (int) - GPU卡核心数 + - **GpuType** (str) - GPU类型 + - **ImageId** (str) - 镜像ID + - **InitScript** (str) - 用户自定义Shell脚本。与UserData的区别在于InitScript在节点初始化完毕后才执行,UserData则是云主机初始化时执行。 + - **IsolationGroupId** (str) - 硬件隔离组id。可通过DescribeIsolationGroup获取。 + - **KubeletConfiguration** (dict) - 见 **UpdateUK8SNodeGroupParamKubeletConfiguration** 模型定义 + - **Labels** (str) - Node节点标签。key=value形式,多组用”,“隔开,最多5组。 如env=pro,type=game + - **MachineType** (str) - 云主机机型。枚举值["N", "C", "G", "O", "OS"]。参考 `云主机机型说明 `_ 。 + - **MaxPods** (str) - 默认110,生产环境建议小于等于110。 + - **Mem** (int) - 内存大小。单位:MB + - **MinimalCpuPlatform** (str) - 最低cpu平台,枚举值["Intel/Auto", "Intel/IvyBridge", "Intel/Haswell", "Intel/Broadwell", "Intel/Skylake", "Intel/Cascadelake";"Intel/CascadelakeR"; “Amd/Epyc2”,"Amd/Auto"],默认值是"Intel/Auto" + - **NetCapability** (str) - 网络增强特性。枚举值:Normal,不开启; Super,开启网络增强1.0; Ultra,开启网络增强2.0;Extreme,开启网络增强3.0; Infiniband, 开启网络增强4.0(详情参考主机官网文档) + - **NetworkInterface** (list) - 见 **UpdateUK8SNodeGroupParamNetworkInterface** 模型定义 + - **NodeGroupName** (str) - 节点池名字 + - **NodeNamePrefix** (str) - 自定义主机名前缀。完整的自定义主机名为{NodeNamePrefix}-{NodeIP}。 + - **SecGroupId** (list) - 见 **UpdateUK8SNodeGroupParamSecGroupId** 模型定义 + - **SecurityGroupId** (str) - 防火墙ID,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 `DescribeFirewall `_ 。 + - **SecurityMode** (str) - 主机安全模式。Firewall:防火墙;SecGroup:安全组;默认值:Firewall。 + - **SubnetId** (str) - 子网 ID。默认为集群创建时填写的子网ID,也可以填写集群同VPC内的子网ID。 + - **Tag** (str) - 业务组 + - **Taints** (str) - Node节点污点,形式为key=value:effect,多组taints用”,“隔开,最多支持五组。 + - **UHostFamily** (str) - 主机规格族 + - **UNIFeature** (bool) - 弹性网卡特性。开启了弹性网卡权限位,此特性才生效,默认 false 未开启,true 开启。 + - **UserData** (str) - 用户自定义数据。当镜像支持Cloud-init Feature时可填写此字段。注意:1、总数据量大小不超过 16K;2、使用base64编码。 + - **Zone** (str) - 可用区。参见 `可用区列表 `_ + - **ZoneBaned** (str) - 重复 待删除 可用区。参见 `可用区列表 `_ + + **Response** + + - **Message** (str) - 返回错误消息,当 RetCode 非 0 时提供详细的描述信息。 + - **NodeGroupId** (str) - 节点池ID + + **Request Model** + + **UpdateUK8SNodeGroupParamKubeletConfiguration** + - **ContainerLogMaxFiles** (int) - 全量KubeletConfiguration.XXX定义参考AddUK8SNodeGroup接口: https://uxiao.ucloudadmin.com/#/api-manager/api/detail/UK8S/AddUK8SNodeGroup + + + **UpdateUK8SNodeGroupParamNetworkInterfaceEIP** + - **Bandwidth** (int) - 【若绑定EIP,此参数必填】弹性IP的外网带宽, 单位为Mbps. 共享带宽模式下非必传, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-300],带宽计费[1-800] + - **CouponId** (str) - 当前EIP代金券id。请通过DescribeCoupon接口查询,或登录用户中心查看。 + - **OperatorName** (str) - 【若绑定EIP,此参数必填】弹性IP的线路。枚举值: 国际: International, BGP: Bgp。 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International + - **PayMode** (str) - 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. "Free":免费带宽模式,默认为 "Bandwidth" + - **ShareBandwidthId** (str) - 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 + + + **UpdateUK8SNodeGroupParamNetworkInterface** + - **EIP** (dict) - 见 **UpdateUK8SNodeGroupParamNetworkInterfaceEIP** 模型定义 + + + **UpdateUK8SNodeGroupParamSecGroupId** + - **Id** (str) - 安全组 ID。至多可以同时绑定5个安全组。 + - **Name** (str) - 安全组名称。 + - **Priority** (str) - 安全组优先级。取值范围[1, 5] + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + "Region": self.config.region, + } + req and d.update(req) + d = apis.UpdateUK8SNodeGroupRequestSchema().dumps(d) + + resp = self.invoke("UpdateUK8SNodeGroup", d, **kwargs) + return apis.UpdateUK8SNodeGroupResponseSchema().loads(resp) + def update_uk8s_uls_config( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: @@ -1302,16 +1471,10 @@ def update_uk8s_uls_config( **Request Model** - **UpdateUK8SULSConfigParamMatchRulePodLabelsLabels** - - **Key** (str) - 按Pod标签匹配时,要匹配的标签Key。 - - **Value** (str) - 要匹配的标签值。 - - **ValueOperator** (str) - 标签值匹配操作符。可选值:in、notin。 - - - **UpdateUK8SULSConfigParamMatchRulePodLabels** - - **Labels** (list) - 见 **UpdateUK8SULSConfigParamMatchRulePodLabelsLabels** 模型定义 - - **Namespace** (str) - 按Pod标签匹配时要匹配的命名空间。 - - **NamespaceOperator** (str) - 按Pod标签匹配时,命名空间名称的匹配操作符。可选值:in、notin。填写该参数时必须同时填写MatchRule.PodLabels.Namespace。PodLabels和Workloads不能同时设置。 + **UpdateUK8SULSConfigParamMatchRuleWorkloads** + - **Name** (str) - 工作负载名称。 + - **Namespace** (str) - 按工作负载匹配时,工作负载所在的命名空间。Workloads和PodLabels不能同时设置。 + - **Type** (str) - 工作负载类型。可选值:deployment、statefulset、daemonset、job、cronjob。 **UpdateUK8SULSConfigParamInputDetailFilePaths** @@ -1324,24 +1487,10 @@ def update_uk8s_uls_config( - **Labels** (str) - 要采集的Pod标签。*表示采集所有标签,app,version表示仅采集指定标签,空字符串表示不采集标签。 - **UpdateUK8SULSConfigParamInputDetail** - - **FilePaths** (list) - 见 **UpdateUK8SULSConfigParamInputDetailFilePaths** 模型定义 - - **Metadata** (dict) - 见 **UpdateUK8SULSConfigParamInputDetailMetadata** 模型定义 - - **Stream** (str) - 容器标准输出流类型。仅适用于container_stdout,可选值:all、stdout、stderr,默认为all。 - - **Type** (str) - 日志输入类型。可选值:container_file、container_stdout。 - - - **UpdateUK8SULSConfigParamMatchRuleWorkloads** - - **Name** (str) - 工作负载名称。 - - **Namespace** (str) - 按工作负载匹配时,工作负载所在的命名空间。Workloads和PodLabels不能同时设置。 - - **Type** (str) - 工作负载类型。可选值:deployment、statefulset、daemonset、job、cronjob。 - - - **UpdateUK8SULSConfigParamMatchRule** - - **Container** (str) - 要匹配的容器名称,*表示所有容器,多个名称使用逗号分隔。 - - **ContainerOperator** (str) - 容器名称匹配操作符。可选值:in、notin。填写该参数时必须同时填写MatchRule.Container。 - - **PodLabels** (dict) - 见 **UpdateUK8SULSConfigParamMatchRulePodLabels** 模型定义 - - **Workloads** (list) - 见 **UpdateUK8SULSConfigParamMatchRuleWorkloads** 模型定义 + **UpdateUK8SULSConfigParamMatchRulePodLabelsLabels** + - **Key** (str) - 按Pod标签匹配时,要匹配的标签Key。 + - **Value** (str) - 要匹配的标签值。 + - **ValueOperator** (str) - 标签值匹配操作符。可选值:in、notin。 **UpdateUK8SULSConfigParamExtractRule** @@ -1361,6 +1510,26 @@ def update_uk8s_uls_config( - **UnMatchUpload** (str) - 是否上传解析失败的日志。字符串true表示上传,false表示丢弃。默认为false。 + **UpdateUK8SULSConfigParamMatchRulePodLabels** + - **Labels** (list) - 见 **UpdateUK8SULSConfigParamMatchRulePodLabelsLabels** 模型定义 + - **Namespace** (str) - 按Pod标签匹配时要匹配的命名空间。 + - **NamespaceOperator** (str) - 按Pod标签匹配时,命名空间名称的匹配操作符。可选值:in、notin。填写该参数时必须同时填写MatchRule.PodLabels.Namespace。PodLabels和Workloads不能同时设置。 + + + **UpdateUK8SULSConfigParamMatchRule** + - **Container** (str) - 要匹配的容器名称,*表示所有容器,多个名称使用逗号分隔。 + - **ContainerOperator** (str) - 容器名称匹配操作符。可选值:in、notin。填写该参数时必须同时填写MatchRule.Container。 + - **PodLabels** (dict) - 见 **UpdateUK8SULSConfigParamMatchRulePodLabels** 模型定义 + - **Workloads** (list) - 见 **UpdateUK8SULSConfigParamMatchRuleWorkloads** 模型定义 + + + **UpdateUK8SULSConfigParamInputDetail** + - **FilePaths** (list) - 见 **UpdateUK8SULSConfigParamInputDetailFilePaths** 模型定义 + - **Metadata** (dict) - 见 **UpdateUK8SULSConfigParamInputDetailMetadata** 模型定义 + - **Stream** (str) - 容器标准输出流类型。仅适用于container_stdout,可选值:all、stdout、stderr,默认为all。 + - **Type** (str) - 日志输入类型。可选值:container_file、container_stdout。 + + """ # build request d = { diff --git a/ucloud/services/uk8s/schemas/apis.py b/ucloud/services/uk8s/schemas/apis.py index 6395efa..c346681 100644 --- a/ucloud/services/uk8s/schemas/apis.py +++ b/ucloud/services/uk8s/schemas/apis.py @@ -51,31 +51,217 @@ class AddUK8SExistingUHostResponseSchema(schema.ResponseSchema): """ +class AddUK8SNodeGroupParamKubeletConfigurationEvictionHardSchema( + schema.RequestSchema +): + """AddUK8SNodeGroupParamKubeletConfigurationEvictionHard -""" + + fields = { + "ImagefsAvailable": fields.Str( + required=False, dump_to="ImagefsAvailable" + ), + "MemoryAvailable": fields.Str( + required=False, dump_to="MemoryAvailable" + ), + "NodefsAvailable": fields.Str( + required=False, dump_to="NodefsAvailable" + ), + "NodefsInodesFree": fields.Str( + required=False, dump_to="NodefsInodesFree" + ), + } + + +class AddUK8SNodeGroupParamKubeletConfigurationEvictionSoftSchema( + schema.RequestSchema +): + """AddUK8SNodeGroupParamKubeletConfigurationEvictionSoft -""" + + fields = { + "ImagefsAvailable": fields.Str( + required=False, dump_to="ImagefsAvailable" + ), + "MemoryAvailable": fields.Str( + required=False, dump_to="MemoryAvailable" + ), + "NodefsAvailable": fields.Str( + required=False, dump_to="NodefsAvailable" + ), + "NodefsInodesFree": fields.Str( + required=False, dump_to="NodefsInodesFree" + ), + } + + +class AddUK8SNodeGroupParamKubeletConfigurationEvictionSoftGracePeriodSchema( + schema.RequestSchema +): + """AddUK8SNodeGroupParamKubeletConfigurationEvictionSoftGracePeriod -""" + + fields = { + "ImagefsAvailable": fields.Str( + required=False, dump_to="ImagefsAvailable" + ), + "MemoryAvailable": fields.Str( + required=False, dump_to="MemoryAvailable" + ), + "NodefsAvailable": fields.Str( + required=False, dump_to="NodefsAvailable" + ), + "NodefsInodesFree": fields.Str( + required=False, dump_to="NodefsInodesFree" + ), + } + + +class AddUK8SNodeGroupParamNetworkInterfaceEIPSchema(schema.RequestSchema): + """AddUK8SNodeGroupParamNetworkInterfaceEIP -""" + + fields = { + "Bandwidth": fields.Int(required=False, dump_to="Bandwidth"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "OperatorName": fields.Str(required=False, dump_to="OperatorName"), + "PayMode": fields.Str(required=False, dump_to="PayMode"), + "ShareBandwidthId": fields.Str( + required=False, dump_to="ShareBandwidthId" + ), + } + + +class AddUK8SNodeGroupParamSecGroupIdSchema(schema.RequestSchema): + """AddUK8SNodeGroupParamSecGroupId -""" + + fields = { + "Id": fields.Str(required=False, dump_to="Id"), + "Name": fields.Str(required=False, dump_to="Name"), + "Priority": fields.Str(required=False, dump_to="Priority"), + } + + +class AddUK8SNodeGroupParamNetworkInterfaceSchema(schema.RequestSchema): + """AddUK8SNodeGroupParamNetworkInterface -""" + + fields = { + "EIP": AddUK8SNodeGroupParamNetworkInterfaceEIPSchema( + required=False, dump_to="EIP" + ), + } + + +class AddUK8SNodeGroupParamKubeletConfigurationSystemReservedSchema( + schema.RequestSchema +): + """AddUK8SNodeGroupParamKubeletConfigurationSystemReserved -""" + + fields = { + "CPU": fields.Str(required=False, dump_to="CPU"), + "EphemeralStorage": fields.Str( + required=False, dump_to="EphemeralStorage" + ), + "Memory": fields.Str(required=False, dump_to="Memory"), + "Pid": fields.Str(required=False, dump_to="Pid"), + } + + +class AddUK8SNodeGroupParamKubeletConfigurationKubeReservedSchema( + schema.RequestSchema +): + """AddUK8SNodeGroupParamKubeletConfigurationKubeReserved -""" + + fields = { + "CPU": fields.Str(required=False, dump_to="CPU"), + "EphemeralStorage": fields.Str( + required=False, dump_to="EphemeralStorage" + ), + "Memory": fields.Str(required=False, dump_to="Memory"), + "Pid": fields.Str(required=False, dump_to="Pid"), + } + + +class AddUK8SNodeGroupParamKubeletConfigurationSchema(schema.RequestSchema): + """AddUK8SNodeGroupParamKubeletConfiguration -""" + + fields = { + "ContainerLogMaxFiles": fields.Int( + required=False, dump_to="ContainerLogMaxFiles" + ), + "ContainerLogMaxSize": fields.Str( + required=False, dump_to="ContainerLogMaxSize" + ), + "EvictionHard": AddUK8SNodeGroupParamKubeletConfigurationEvictionHardSchema( + required=False, dump_to="EvictionHard" + ), + "EvictionSoft": AddUK8SNodeGroupParamKubeletConfigurationEvictionSoftSchema( + required=False, dump_to="EvictionSoft" + ), + "EvictionSoftGracePeriod": AddUK8SNodeGroupParamKubeletConfigurationEvictionSoftGracePeriodSchema( + required=False, dump_to="EvictionSoftGracePeriod" + ), + "ImageGCHighThresholdPercent": fields.Int( + required=False, dump_to="ImageGCHighThresholdPercent" + ), + "ImageGCLowThresholdPercent": fields.Int( + required=False, dump_to="ImageGCLowThresholdPercent" + ), + "KubeReserved": AddUK8SNodeGroupParamKubeletConfigurationKubeReservedSchema( + required=False, dump_to="KubeReserved" + ), + "MaxPods": fields.Int(required=False, dump_to="MaxPods"), + "SystemReserved": AddUK8SNodeGroupParamKubeletConfigurationSystemReservedSchema( + required=False, dump_to="SystemReserved" + ), + } + + class AddUK8SNodeGroupRequestSchema(schema.RequestSchema): """AddUK8SNodeGroup - 添加UK8S节点池""" fields = { - "BootDiskSize": fields.Int(required=False, dump_to="BootDiskSize"), - "BootDiskType": fields.Str(required=False, dump_to="BootDiskType"), - "CPU": fields.Int(required=False, dump_to="CPU"), + "BootDiskSize": fields.Int(required=True, dump_to="BootDiskSize"), + "BootDiskType": fields.Str(required=True, dump_to="BootDiskType"), + "CPU": fields.Int(required=True, dump_to="CPU"), "ChargeType": fields.Str(required=False, dump_to="ChargeType"), "ClusterId": fields.Str(required=True, dump_to="ClusterId"), "DataDiskSize": fields.Int(required=False, dump_to="DataDiskSize"), "DataDiskType": fields.Str(required=False, dump_to="DataDiskType"), "GPU": fields.Int(required=False, dump_to="GPU"), "GpuType": fields.Str(required=False, dump_to="GpuType"), - "ImageId": fields.Str(required=False, dump_to="ImageId"), - "MachineType": fields.Str(required=False, dump_to="MachineType"), - "Mem": fields.Int(required=False, dump_to="Mem"), + "ImageId": fields.Str(required=True, dump_to="ImageId"), + "InitScript": fields.Str(required=False, dump_to="InitScript"), + "IsolationGroupId": fields.Str( + required=False, dump_to="IsolationGroupId" + ), + "KubeletConfiguration": AddUK8SNodeGroupParamKubeletConfigurationSchema( + required=False, dump_to="KubeletConfiguration" + ), + "Labels": fields.Str(required=False, dump_to="Labels"), + "MachineType": fields.Str(required=True, dump_to="MachineType"), + "MaxPods": fields.Str(required=False, dump_to="MaxPods"), + "Mem": fields.Int(required=True, dump_to="Mem"), "MinimalCpuPlatform": fields.Str( required=False, dump_to="MinimalCpuPlatform" ), + "NetCapability": fields.Str(required=False, dump_to="NetCapability"), + "NetworkInterface": fields.List( + AddUK8SNodeGroupParamNetworkInterfaceSchema() + ), "NodeGroupName": fields.Str(required=True, dump_to="NodeGroupName"), + "NodeNamePrefix": fields.Str(required=False, dump_to="NodeNamePrefix"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "Region": fields.Str(required=True, dump_to="Region"), - "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "SecGroupId": fields.List(AddUK8SNodeGroupParamSecGroupIdSchema()), + "SecurityGroupId": fields.Str( + required=False, dump_to="SecurityGroupId" + ), + "SecurityMode": fields.Str(required=False, dump_to="SecurityMode"), + "SubnetId": fields.Str(required=True, dump_to="SubnetId"), "Tag": fields.Str(required=False, dump_to="Tag"), + "Taints": fields.Str(required=False, dump_to="Taints"), + "UHostFamily": fields.Str(required=False, dump_to="UHostFamily"), + "UNIFeature": fields.Bool(required=False, dump_to="UNIFeature"), + "UserData": fields.Str(required=False, dump_to="UserData"), "Zone": fields.Str(required=False, dump_to="Zone"), + "ZoneBaned": fields.Str(required=False, dump_to="ZoneBaned"), } @@ -136,20 +322,6 @@ class AddUK8SPHostNodeResponseSchema(schema.ResponseSchema): """ -class AddUK8SUHostNodeParamNetworkInterfaceEIPSchema(schema.RequestSchema): - """AddUK8SUHostNodeParamNetworkInterfaceEIP -""" - - fields = { - "Bandwidth": fields.Int(required=False, dump_to="Bandwidth"), - "CouponId": fields.Str(required=False, dump_to="CouponId"), - "OperatorName": fields.Str(required=False, dump_to="OperatorName"), - "PayMode": fields.Str(required=False, dump_to="PayMode"), - "ShareBandwidthId": fields.Str( - required=False, dump_to="ShareBandwidthId" - ), - } - - class AddUK8SUHostNodeParamKubeletConfigurationSchema(schema.RequestSchema): """AddUK8SUHostNodeParamKubeletConfiguration -""" @@ -160,13 +332,13 @@ class AddUK8SUHostNodeParamKubeletConfigurationSchema(schema.RequestSchema): } -class AddUK8SUHostNodeParamNetworkInterfaceSchema(schema.RequestSchema): - """AddUK8SUHostNodeParamNetworkInterface -""" +class AddUK8SUHostNodeParamSecGroupIdSchema(schema.RequestSchema): + """AddUK8SUHostNodeParamSecGroupId -""" fields = { - "EIP": AddUK8SUHostNodeParamNetworkInterfaceEIPSchema( - required=False, dump_to="EIP" - ), + "Id": fields.Str(required=False, dump_to="Id"), + "Name": fields.Str(required=False, dump_to="Name"), + "Priority": fields.Str(required=False, dump_to="Priority"), } @@ -179,13 +351,27 @@ class AddUK8SUHostNodeParamUserLabelsSchema(schema.RequestSchema): } -class AddUK8SUHostNodeParamSecGroupIdSchema(schema.RequestSchema): - """AddUK8SUHostNodeParamSecGroupId -""" +class AddUK8SUHostNodeParamNetworkInterfaceEIPSchema(schema.RequestSchema): + """AddUK8SUHostNodeParamNetworkInterfaceEIP -""" fields = { - "Id": fields.Str(required=False, dump_to="Id"), - "Name": fields.Str(required=False, dump_to="Name"), - "Priority": fields.Str(required=False, dump_to="Priority"), + "Bandwidth": fields.Int(required=False, dump_to="Bandwidth"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "OperatorName": fields.Str(required=False, dump_to="OperatorName"), + "PayMode": fields.Str(required=False, dump_to="PayMode"), + "ShareBandwidthId": fields.Str( + required=False, dump_to="ShareBandwidthId" + ), + } + + +class AddUK8SUHostNodeParamNetworkInterfaceSchema(schema.RequestSchema): + """AddUK8SUHostNodeParamNetworkInterface -""" + + fields = { + "EIP": AddUK8SUHostNodeParamNetworkInterfaceEIPSchema( + required=False, dump_to="EIP" + ), } @@ -274,6 +460,27 @@ class CreateUK8SClusterV2ParamKubeProxySchema(schema.RequestSchema): } +class CreateUK8SClusterV2ParamMasterSecGroupIdSchema(schema.RequestSchema): + """CreateUK8SClusterV2ParamMasterSecGroupId -""" + + fields = { + "Id": fields.Str(required=False, dump_to="Id"), + "Name": fields.Str(required=False, dump_to="Name"), + "Priority": fields.Str(required=False, dump_to="Priority"), + } + + +class CreateUK8SClusterV2ParamMasterSchema(schema.RequestSchema): + """CreateUK8SClusterV2ParamMaster -""" + + fields = { + "SecGroupId": fields.List( + CreateUK8SClusterV2ParamMasterSecGroupIdSchema() + ), + "Zone": fields.Str(required=True, dump_to="Zone"), + } + + class CreateUK8SClusterV2ParamNodesNetworkInterfaceEIPSchema( schema.RequestSchema ): @@ -351,27 +558,6 @@ class CreateUK8SClusterV2ParamNodesSchema(schema.RequestSchema): } -class CreateUK8SClusterV2ParamMasterSecGroupIdSchema(schema.RequestSchema): - """CreateUK8SClusterV2ParamMasterSecGroupId -""" - - fields = { - "Id": fields.Str(required=False, dump_to="Id"), - "Name": fields.Str(required=False, dump_to="Name"), - "Priority": fields.Str(required=False, dump_to="Priority"), - } - - -class CreateUK8SClusterV2ParamMasterSchema(schema.RequestSchema): - """CreateUK8SClusterV2ParamMaster -""" - - fields = { - "SecGroupId": fields.List( - CreateUK8SClusterV2ParamMasterSecGroupIdSchema() - ), - "Zone": fields.Str(required=True, dump_to="Zone"), - } - - class CreateUK8SClusterV2RequestSchema(schema.RequestSchema): """CreateUK8SClusterV2 - 创建UK8S集群""" @@ -449,6 +635,39 @@ class CreateUK8SClusterV2ResponseSchema(schema.ResponseSchema): """ +class CreateUK8SULSConfigParamInputDetailMetadataSchema(schema.RequestSchema): + """CreateUK8SULSConfigParamInputDetailMetadata -""" + + fields = { + "Container": fields.Str(required=False, dump_to="Container"), + "Labels": fields.Str(required=False, dump_to="Labels"), + } + + +class CreateUK8SULSConfigParamInputDetailFilePathsSchema(schema.RequestSchema): + """CreateUK8SULSConfigParamInputDetailFilePaths -""" + + fields = { + "File": fields.Str(required=False, dump_to="File"), + "Path": fields.Str(required=False, dump_to="Path"), + } + + +class CreateUK8SULSConfigParamInputDetailSchema(schema.RequestSchema): + """CreateUK8SULSConfigParamInputDetail -""" + + fields = { + "FilePaths": fields.List( + CreateUK8SULSConfigParamInputDetailFilePathsSchema() + ), + "Metadata": CreateUK8SULSConfigParamInputDetailMetadataSchema( + required=False, dump_to="Metadata" + ), + "Stream": fields.Str(required=False, dump_to="Stream"), + "Type": fields.Str(required=True, dump_to="Type"), + } + + class CreateUK8SULSConfigParamMatchRuleWorkloadsSchema(schema.RequestSchema): """CreateUK8SULSConfigParamMatchRuleWorkloads -""" @@ -471,43 +690,6 @@ class CreateUK8SULSConfigParamMatchRulePodLabelsLabelsSchema( } -class CreateUK8SULSConfigParamExtractRuleExtractRuleSchema( - schema.RequestSchema -): - """CreateUK8SULSConfigParamExtractRuleExtractRule -""" - - fields = { - "LogRegexBase64": fields.Str(required=False, dump_to="LogRegexBase64"), - } - - -class CreateUK8SULSConfigParamExtractRuleSchema(schema.RequestSchema): - """CreateUK8SULSConfigParamExtractRule -""" - - fields = { - "BeginningRegex": fields.Str(required=False, dump_to="BeginningRegex"), - "BeginningRegexBase64": fields.Str( - required=False, dump_to="BeginningRegexBase64" - ), - "CollectPolicy": fields.Str(required=False, dump_to="CollectPolicy"), - "Delimiter": fields.Str(required=False, dump_to="Delimiter"), - "DelimiterBase64": fields.Str( - required=False, dump_to="DelimiterBase64" - ), - "Encode": fields.Str(required=False, dump_to="Encode"), - "ExtractRule": CreateUK8SULSConfigParamExtractRuleExtractRuleSchema( - required=False, dump_to="ExtractRule" - ), - "Keys": fields.List(fields.Str()), - "LogRegex": fields.Str(required=False, dump_to="LogRegex"), - "LogType": fields.Str(required=True, dump_to="LogType"), - "TimeFormat": fields.Str(required=False, dump_to="TimeFormat"), - "TimeKey": fields.Str(required=False, dump_to="TimeKey"), - "UnMatchKey": fields.Str(required=False, dump_to="UnMatchKey"), - "UnMatchUpload": fields.Str(required=False, dump_to="UnMatchUpload"), - } - - class CreateUK8SULSConfigParamMatchRulePodLabelsSchema(schema.RequestSchema): """CreateUK8SULSConfigParamMatchRulePodLabels -""" @@ -539,36 +721,40 @@ class CreateUK8SULSConfigParamMatchRuleSchema(schema.RequestSchema): } -class CreateUK8SULSConfigParamInputDetailFilePathsSchema(schema.RequestSchema): - """CreateUK8SULSConfigParamInputDetailFilePaths -""" - - fields = { - "File": fields.Str(required=False, dump_to="File"), - "Path": fields.Str(required=False, dump_to="Path"), - } - - -class CreateUK8SULSConfigParamInputDetailMetadataSchema(schema.RequestSchema): - """CreateUK8SULSConfigParamInputDetailMetadata -""" +class CreateUK8SULSConfigParamExtractRuleExtractRuleSchema( + schema.RequestSchema +): + """CreateUK8SULSConfigParamExtractRuleExtractRule -""" fields = { - "Container": fields.Str(required=False, dump_to="Container"), - "Labels": fields.Str(required=False, dump_to="Labels"), + "LogRegexBase64": fields.Str(required=False, dump_to="LogRegexBase64"), } -class CreateUK8SULSConfigParamInputDetailSchema(schema.RequestSchema): - """CreateUK8SULSConfigParamInputDetail -""" +class CreateUK8SULSConfigParamExtractRuleSchema(schema.RequestSchema): + """CreateUK8SULSConfigParamExtractRule -""" fields = { - "FilePaths": fields.List( - CreateUK8SULSConfigParamInputDetailFilePathsSchema() + "BeginningRegex": fields.Str(required=False, dump_to="BeginningRegex"), + "BeginningRegexBase64": fields.Str( + required=False, dump_to="BeginningRegexBase64" ), - "Metadata": CreateUK8SULSConfigParamInputDetailMetadataSchema( - required=False, dump_to="Metadata" + "CollectPolicy": fields.Str(required=False, dump_to="CollectPolicy"), + "Delimiter": fields.Str(required=False, dump_to="Delimiter"), + "DelimiterBase64": fields.Str( + required=False, dump_to="DelimiterBase64" ), - "Stream": fields.Str(required=False, dump_to="Stream"), - "Type": fields.Str(required=True, dump_to="Type"), + "Encode": fields.Str(required=False, dump_to="Encode"), + "ExtractRule": CreateUK8SULSConfigParamExtractRuleExtractRuleSchema( + required=False, dump_to="ExtractRule" + ), + "Keys": fields.List(fields.Str()), + "LogRegex": fields.Str(required=False, dump_to="LogRegex"), + "LogType": fields.Str(required=True, dump_to="LogType"), + "TimeFormat": fields.Str(required=False, dump_to="TimeFormat"), + "TimeKey": fields.Str(required=False, dump_to="TimeKey"), + "UnMatchKey": fields.Str(required=False, dump_to="UnMatchKey"), + "UnMatchUpload": fields.Str(required=False, dump_to="UnMatchUpload"), } @@ -1088,71 +1274,125 @@ class RemoveUK8SNodeGroupResponseSchema(schema.ResponseSchema): """ -API: UpdateUK8SULSConfig +API: UpdateUK8SNodeGroup -更新指定UK8S集群的日志采集规则。 +修改UK8S节点池 """ -class UpdateUK8SULSConfigParamMatchRulePodLabelsLabelsSchema( - schema.RequestSchema -): - """UpdateUK8SULSConfigParamMatchRulePodLabelsLabels -""" +class UpdateUK8SNodeGroupParamKubeletConfigurationSchema(schema.RequestSchema): + """UpdateUK8SNodeGroupParamKubeletConfiguration -""" fields = { - "Key": fields.Str(required=False, dump_to="Key"), - "Value": fields.Str(required=False, dump_to="Value"), - "ValueOperator": fields.Str(required=False, dump_to="ValueOperator"), + "ContainerLogMaxFiles": fields.Int( + required=False, dump_to="ContainerLogMaxFiles" + ), } -class UpdateUK8SULSConfigParamMatchRulePodLabelsSchema(schema.RequestSchema): - """UpdateUK8SULSConfigParamMatchRulePodLabels -""" +class UpdateUK8SNodeGroupParamNetworkInterfaceEIPSchema(schema.RequestSchema): + """UpdateUK8SNodeGroupParamNetworkInterfaceEIP -""" fields = { - "Labels": fields.List( - UpdateUK8SULSConfigParamMatchRulePodLabelsLabelsSchema() - ), - "Namespace": fields.Str(required=False, dump_to="Namespace"), - "NamespaceOperator": fields.Str( - required=False, dump_to="NamespaceOperator" + "Bandwidth": fields.Int(required=False, dump_to="Bandwidth"), + "CouponId": fields.Str(required=False, dump_to="CouponId"), + "OperatorName": fields.Str(required=False, dump_to="OperatorName"), + "PayMode": fields.Str(required=False, dump_to="PayMode"), + "ShareBandwidthId": fields.Str( + required=False, dump_to="ShareBandwidthId" ), } -class UpdateUK8SULSConfigParamInputDetailFilePathsSchema(schema.RequestSchema): - """UpdateUK8SULSConfigParamInputDetailFilePaths -""" +class UpdateUK8SNodeGroupParamNetworkInterfaceSchema(schema.RequestSchema): + """UpdateUK8SNodeGroupParamNetworkInterface -""" fields = { - "File": fields.Str(required=False, dump_to="File"), - "Path": fields.Str(required=False, dump_to="Path"), + "EIP": UpdateUK8SNodeGroupParamNetworkInterfaceEIPSchema( + required=False, dump_to="EIP" + ), } -class UpdateUK8SULSConfigParamInputDetailMetadataSchema(schema.RequestSchema): - """UpdateUK8SULSConfigParamInputDetailMetadata -""" +class UpdateUK8SNodeGroupParamSecGroupIdSchema(schema.RequestSchema): + """UpdateUK8SNodeGroupParamSecGroupId -""" fields = { - "Container": fields.Str(required=False, dump_to="Container"), - "Labels": fields.Str(required=False, dump_to="Labels"), + "Id": fields.Str(required=False, dump_to="Id"), + "Name": fields.Str(required=False, dump_to="Name"), + "Priority": fields.Str(required=False, dump_to="Priority"), } -class UpdateUK8SULSConfigParamInputDetailSchema(schema.RequestSchema): - """UpdateUK8SULSConfigParamInputDetail -""" +class UpdateUK8SNodeGroupRequestSchema(schema.RequestSchema): + """UpdateUK8SNodeGroup - 修改UK8S节点池""" fields = { - "FilePaths": fields.List( - UpdateUK8SULSConfigParamInputDetailFilePathsSchema() + "BootDiskSize": fields.Int(required=False, dump_to="BootDiskSize"), + "BootDiskType": fields.Str(required=False, dump_to="BootDiskType"), + "CPU": fields.Int(required=False, dump_to="CPU"), + "ChargeType": fields.Str(required=False, dump_to="ChargeType"), + "ClusterId": fields.Str(required=True, dump_to="ClusterId"), + "DataDiskSize": fields.Int(required=False, dump_to="DataDiskSize"), + "DataDiskType": fields.Str(required=False, dump_to="DataDiskType"), + "GPU": fields.Int(required=False, dump_to="GPU"), + "GpuType": fields.Str(required=False, dump_to="GpuType"), + "ImageId": fields.Str(required=False, dump_to="ImageId"), + "InitScript": fields.Str(required=False, dump_to="InitScript"), + "IsolationGroupId": fields.Str( + required=False, dump_to="IsolationGroupId" ), - "Metadata": UpdateUK8SULSConfigParamInputDetailMetadataSchema( - required=False, dump_to="Metadata" + "KubeletConfiguration": UpdateUK8SNodeGroupParamKubeletConfigurationSchema( + required=False, dump_to="KubeletConfiguration" ), - "Stream": fields.Str(required=False, dump_to="Stream"), - "Type": fields.Str(required=True, dump_to="Type"), + "Labels": fields.Str(required=False, dump_to="Labels"), + "MachineType": fields.Str(required=False, dump_to="MachineType"), + "MaxPods": fields.Str(required=False, dump_to="MaxPods"), + "Mem": fields.Int(required=False, dump_to="Mem"), + "MinimalCpuPlatform": fields.Str( + required=False, dump_to="MinimalCpuPlatform" + ), + "NetCapability": fields.Str(required=False, dump_to="NetCapability"), + "NetworkInterface": fields.List( + UpdateUK8SNodeGroupParamNetworkInterfaceSchema() + ), + "NodeGroupId": fields.Str(required=True, dump_to="NodeGroupId"), + "NodeGroupName": fields.Str(required=False, dump_to="NodeGroupName"), + "NodeNamePrefix": fields.Str(required=False, dump_to="NodeNamePrefix"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Region": fields.Str(required=True, dump_to="Region"), + "SecGroupId": fields.List(UpdateUK8SNodeGroupParamSecGroupIdSchema()), + "SecurityGroupId": fields.Str( + required=False, dump_to="SecurityGroupId" + ), + "SecurityMode": fields.Str(required=False, dump_to="SecurityMode"), + "SubnetId": fields.Str(required=False, dump_to="SubnetId"), + "Tag": fields.Str(required=False, dump_to="Tag"), + "Taints": fields.Str(required=False, dump_to="Taints"), + "UHostFamily": fields.Str(required=False, dump_to="UHostFamily"), + "UNIFeature": fields.Bool(required=False, dump_to="UNIFeature"), + "UserData": fields.Str(required=False, dump_to="UserData"), + "Zone": fields.Str(required=False, dump_to="Zone"), + "ZoneBaned": fields.Str(required=False, dump_to="ZoneBaned"), } +class UpdateUK8SNodeGroupResponseSchema(schema.ResponseSchema): + """UpdateUK8SNodeGroup - 修改UK8S节点池""" + + fields = { + "Message": fields.Str(required=True, load_from="Message"), + "NodeGroupId": fields.Str(required=True, load_from="NodeGroupId"), + } + + +""" +API: UpdateUK8SULSConfig + +更新指定UK8S集群的日志采集规则。 +""" + + class UpdateUK8SULSConfigParamMatchRuleWorkloadsSchema(schema.RequestSchema): """UpdateUK8SULSConfigParamMatchRuleWorkloads -""" @@ -1163,20 +1403,33 @@ class UpdateUK8SULSConfigParamMatchRuleWorkloadsSchema(schema.RequestSchema): } -class UpdateUK8SULSConfigParamMatchRuleSchema(schema.RequestSchema): - """UpdateUK8SULSConfigParamMatchRule -""" +class UpdateUK8SULSConfigParamInputDetailFilePathsSchema(schema.RequestSchema): + """UpdateUK8SULSConfigParamInputDetailFilePaths -""" + + fields = { + "File": fields.Str(required=False, dump_to="File"), + "Path": fields.Str(required=False, dump_to="Path"), + } + + +class UpdateUK8SULSConfigParamInputDetailMetadataSchema(schema.RequestSchema): + """UpdateUK8SULSConfigParamInputDetailMetadata -""" fields = { "Container": fields.Str(required=False, dump_to="Container"), - "ContainerOperator": fields.Str( - required=False, dump_to="ContainerOperator" - ), - "PodLabels": UpdateUK8SULSConfigParamMatchRulePodLabelsSchema( - required=False, dump_to="PodLabels" - ), - "Workloads": fields.List( - UpdateUK8SULSConfigParamMatchRuleWorkloadsSchema() - ), + "Labels": fields.Str(required=False, dump_to="Labels"), + } + + +class UpdateUK8SULSConfigParamMatchRulePodLabelsLabelsSchema( + schema.RequestSchema +): + """UpdateUK8SULSConfigParamMatchRulePodLabelsLabels -""" + + fields = { + "Key": fields.Str(required=False, dump_to="Key"), + "Value": fields.Str(required=False, dump_to="Value"), + "ValueOperator": fields.Str(required=False, dump_to="ValueOperator"), } @@ -1205,6 +1458,52 @@ class UpdateUK8SULSConfigParamExtractRuleSchema(schema.RequestSchema): } +class UpdateUK8SULSConfigParamMatchRulePodLabelsSchema(schema.RequestSchema): + """UpdateUK8SULSConfigParamMatchRulePodLabels -""" + + fields = { + "Labels": fields.List( + UpdateUK8SULSConfigParamMatchRulePodLabelsLabelsSchema() + ), + "Namespace": fields.Str(required=False, dump_to="Namespace"), + "NamespaceOperator": fields.Str( + required=False, dump_to="NamespaceOperator" + ), + } + + +class UpdateUK8SULSConfigParamMatchRuleSchema(schema.RequestSchema): + """UpdateUK8SULSConfigParamMatchRule -""" + + fields = { + "Container": fields.Str(required=False, dump_to="Container"), + "ContainerOperator": fields.Str( + required=False, dump_to="ContainerOperator" + ), + "PodLabels": UpdateUK8SULSConfigParamMatchRulePodLabelsSchema( + required=False, dump_to="PodLabels" + ), + "Workloads": fields.List( + UpdateUK8SULSConfigParamMatchRuleWorkloadsSchema() + ), + } + + +class UpdateUK8SULSConfigParamInputDetailSchema(schema.RequestSchema): + """UpdateUK8SULSConfigParamInputDetail -""" + + fields = { + "FilePaths": fields.List( + UpdateUK8SULSConfigParamInputDetailFilePathsSchema() + ), + "Metadata": UpdateUK8SULSConfigParamInputDetailMetadataSchema( + required=False, dump_to="Metadata" + ), + "Stream": fields.Str(required=False, dump_to="Stream"), + "Type": fields.Str(required=True, dump_to="Type"), + } + + class UpdateUK8SULSConfigRequestSchema(schema.RequestSchema): """UpdateUK8SULSConfig - 更新指定UK8S集群的日志采集规则。""" diff --git a/ucloud/services/uk8s/schemas/models.py b/ucloud/services/uk8s/schemas/models.py index 6e20855..9740c1f 100644 --- a/ucloud/services/uk8s/schemas/models.py +++ b/ucloud/services/uk8s/schemas/models.py @@ -3,22 +3,11 @@ from ucloud.core.typesystem import schema, fields -class IPSetSchema(schema.ResponseSchema): - """IPSet - 节点的IP信息""" +class KubeProxySchema(schema.ResponseSchema): + """KubeProxy - KubeProxy信息""" fields = { - "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), - "Default": fields.Str(required=False, load_from="Default"), - "IP": fields.Str(required=False, load_from="IP"), - "IPId": fields.Str(required=False, load_from="IPId"), - "IPMode": fields.Str(required=False, load_from="IPMode"), - "Mac": fields.Str(required=False, load_from="Mac"), - "NetworkInterfaceId": fields.Str( - required=False, load_from="NetworkInterfaceId" - ), - "SubnetId": fields.Str(required=False, load_from="SubnetId"), - "Type": fields.Str(required=False, load_from="Type"), - "VPCId": fields.Str(required=False, load_from="VPCId"), + "Mode": fields.Str(required=False, load_from="Mode"), } @@ -49,6 +38,47 @@ class DiskSetSchema(schema.ResponseSchema): } +class IPSetSchema(schema.ResponseSchema): + """IPSet - 节点的IP信息""" + + fields = { + "Bandwidth": fields.Int(required=False, load_from="Bandwidth"), + "Default": fields.Str(required=False, load_from="Default"), + "IP": fields.Str(required=False, load_from="IP"), + "IPId": fields.Str(required=False, load_from="IPId"), + "IPMode": fields.Str(required=False, load_from="IPMode"), + "Mac": fields.Str(required=False, load_from="Mac"), + "NetworkInterfaceId": fields.Str( + required=False, load_from="NetworkInterfaceId" + ), + "SubnetId": fields.Str(required=False, load_from="SubnetId"), + "Type": fields.Str(required=False, load_from="Type"), + "VPCId": fields.Str(required=False, load_from="VPCId"), + } + + +class AutoscalerSchema(schema.ResponseSchema): + """Autoscaler -""" + + fields = { + "Enabled": fields.Int(required=True, load_from="Enabled"), + "ScaleDownDelayAfterAdd": fields.Str( + required=True, load_from="ScaleDownDelayAfterAdd" + ), + "ScaleDownGpuUtilizationThreshold": fields.Str( + required=True, load_from="ScaleDownGpuUtilizationThreshold" + ), + "ScaleDownUnneededTime": fields.Str( + required=True, load_from="ScaleDownUnneededTime" + ), + "ScaleDownUtilizationThreshold": fields.Str( + required=True, load_from="ScaleDownUtilizationThreshold" + ), + "UpdateTime": fields.Int(required=True, load_from="UpdateTime"), + "Version": fields.Str(required=True, load_from="Version"), + } + + class UhostInfoSchema(schema.ResponseSchema): """UhostInfo - 机器信息""" @@ -75,14 +105,6 @@ class UhostInfoSchema(schema.ResponseSchema): } -class KubeProxySchema(schema.ResponseSchema): - """KubeProxy - KubeProxy信息""" - - fields = { - "Mode": fields.Str(required=False, load_from="Mode"), - } - - class LoopbackClientCertSchema(schema.ResponseSchema): """LoopbackClientCert - API Server 回环客户端证书""" @@ -92,28 +114,6 @@ class LoopbackClientCertSchema(schema.ResponseSchema): } -class AutoscalerSchema(schema.ResponseSchema): - """Autoscaler -""" - - fields = { - "Enabled": fields.Int(required=True, load_from="Enabled"), - "ScaleDownDelayAfterAdd": fields.Str( - required=True, load_from="ScaleDownDelayAfterAdd" - ), - "ScaleDownGpuUtilizationThreshold": fields.Str( - required=True, load_from="ScaleDownGpuUtilizationThreshold" - ), - "ScaleDownUnneededTime": fields.Str( - required=True, load_from="ScaleDownUnneededTime" - ), - "ScaleDownUtilizationThreshold": fields.Str( - required=True, load_from="ScaleDownUtilizationThreshold" - ), - "UpdateTime": fields.Int(required=True, load_from="UpdateTime"), - "Version": fields.Str(required=True, load_from="Version"), - } - - class ImageInfoSchema(schema.ResponseSchema): """ImageInfo - UK8S 可用镜像信息""" @@ -280,25 +280,6 @@ class ReservedResourceSchema(schema.ResponseSchema): } -class EvictionConditionSchema(schema.ResponseSchema): - """EvictionCondition - 驱逐条件或宽限时间""" - - fields = { - "ImagefsAvailable": fields.Str( - required=False, load_from="ImagefsAvailable" - ), - "MemoryAvailable": fields.Str( - required=False, load_from="MemoryAvailable" - ), - "NodefsAvailable": fields.Str( - required=False, load_from="NodefsAvailable" - ), - "NodefsInodesFree": fields.Str( - required=False, load_from="NodefsInodesFree" - ), - } - - class EIPSchema(schema.ResponseSchema): """EIP - 节点EIP""" @@ -313,11 +294,22 @@ class EIPSchema(schema.ResponseSchema): } -class NetworkInterfaceSchema(schema.ResponseSchema): - """NetworkInterface - 网络接口""" +class EvictionConditionSchema(schema.ResponseSchema): + """EvictionCondition - 驱逐条件或宽限时间""" fields = { - "EIP": EIPSchema(), + "ImagefsAvailable": fields.Str( + required=False, load_from="ImagefsAvailable" + ), + "MemoryAvailable": fields.Str( + required=False, load_from="MemoryAvailable" + ), + "NodefsAvailable": fields.Str( + required=False, load_from="NodefsAvailable" + ), + "NodefsInodesFree": fields.Str( + required=False, load_from="NodefsInodesFree" + ), } @@ -346,6 +338,14 @@ class KubeletConfigurationSchema(schema.ResponseSchema): } +class NetworkInterfaceSchema(schema.ResponseSchema): + """NetworkInterface - 网络接口""" + + fields = { + "EIP": EIPSchema(), + } + + class NodeGroupSetSchema(schema.ResponseSchema): """NodeGroupSet - 节点池配置""" @@ -431,21 +431,21 @@ class ULSExtractRuleSchema(schema.ResponseSchema): } -class ULSInputMetadataSchema(schema.ResponseSchema): - """ULSInputMetadata - ULSInputMetadata""" +class ULSFilePathsSchema(schema.ResponseSchema): + """ULSFilePaths - ULS采集文件路径""" fields = { - "Container": fields.Str(required=False, load_from="Container"), - "Labels": fields.Str(required=False, load_from="Labels"), + "File": fields.Str(required=False, load_from="File"), + "Path": fields.Str(required=False, load_from="Path"), } -class ULSFilePathsSchema(schema.ResponseSchema): - """ULSFilePaths - ULS采集文件路径""" +class ULSInputMetadataSchema(schema.ResponseSchema): + """ULSInputMetadata - ULSInputMetadata""" fields = { - "File": fields.Str(required=False, load_from="File"), - "Path": fields.Str(required=False, load_from="Path"), + "Container": fields.Str(required=False, load_from="Container"), + "Labels": fields.Str(required=False, load_from="Labels"), } diff --git a/ucloud/version.py b/ucloud/version.py index 2837085..5d1c30c 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.11.131" +version = "0.11.132"