import * as $dara from '@darabonba/typescript'; import { DataDisk } from "./DataDisk"; import { DiskInit } from "./DiskInit"; import { InstancePatterns } from "./InstancePatterns"; import { Tag } from "./Tag"; import { KubeletConfig } from "./KubeletConfig"; import { Hugepage } from "./Hugepage"; import { Taint } from "./Taint"; export declare class DescribeClusterNodePoolsResponseBodyNodepoolsAutoMode extends $dara.Model { /** * @remarks * Specifies whether to enable intelligent managed mode. * * @example * true */ enable?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsAutoScaling extends $dara.Model { /** * @remarks * The EIP peak bandwidth. * * Valid values: [1,100]. Unit: Mbit/s. * * @example * 5 */ eipBandwidth?: number; /** * @remarks * The EIP billing type. Valid values: * * - `PayByBandwidth`: pay-by-bandwidth. * - `PayByTraffic`: pay-by-traffic. * * @example * PayByBandwidth */ eipInternetChargeType?: string; /** * @remarks * Specifies whether auto scaling is enabled. Valid values: * * - `true`: Enables the node pool automatic scaling feature. When the cluster capacity planning cannot meet application Pod scheduling requirements, ACK automatically scales node resources based on the configured minimum and maximum instance counts. Clusters of version 1.24 and later use instant node elasticity by default. Clusters of versions earlier than 1.24 use node auto scaling by default. For more information, see [Node scaling](https://help.aliyun.com/document_detail/2746785.html). * * - `false`: Disables auto scaling. ACK adjusts the number of nodes in the node pool based on the configured desired node count to maintain the node count at the desired number. * * When the value is false, other configuration parameters in `auto_scaling` do not take effect. * * @example * true */ enable?: boolean; /** * @remarks * Specifies whether to associate an EIP. Valid values: * * - `true`: Associate an EIP. * - `false`: Do not associate an EIP. * * @example * true */ isBondEip?: boolean; /** * @remarks * The maximum number of scalable instances in the node pool, excluding your existing instances. * * @example * 10 */ maxInstances?: number; /** * @remarks * The minimum number of scalable instances in the node pool, excluding your existing instances. * * @example * 2 */ minInstances?: number; /** * @remarks * The auto scaling type, categorized by instance type. Valid values: * * - `cpu`: regular instance type. * - `gpu`: GPU instance type. * - `gpushare`: GPU sharing type. * - `spot`: spot instance type. * * @example * cpu */ type?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsEfloNodeGroup extends $dara.Model { /** * @remarks * Specifies whether to enable automatic node addition for the Lingjun node pool (not effective). */ autoAttachEnabled?: boolean; /** * @remarks * The Lingjun cluster ID. * * @example * i113790071760688002461 */ clusterId?: string; /** * @remarks * The Lingjun group ID. * * @example * i128147721760688002463 */ groupId?: string; /** * @remarks * The worker RAM role used by the Lingjun node pool. */ workerRamRoleName?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsInterconnectConfig extends $dara.Model { /** * @remarks * [Deprecated] * * The network bandwidth of the enhanced edge node pool, in Mbps. * * @example * 10 */ bandwidth?: number; /** * @remarks * [Deprecated] * * The Cloud Connect Network (CCN) instance ID bound to the enhanced edge node pool. * * @example * ccn-qm5i0i0q9yi******* */ ccnId?: string; /** * @remarks * [Deprecated] * * The region of the Cloud Connect Network instance bound to the enhanced edge node pool. * * @example * cn-shanghai */ ccnRegionId?: string; /** * @remarks * [Deprecated] * * The Cloud Enterprise Network (CEN) instance ID bound to the enhanced edge node pool. * * @example * cen-ey9k9nfhz0f******* */ cenId?: string; /** * @remarks * [Deprecated] * * The subscription duration of the enhanced edge node pool, in months. * * @example * 1 */ improvedPeriod?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsKubernetesConfig extends $dara.Model { /** * @remarks * Specifies whether to install the CloudMonitor agent on ECS nodes. After installation, you can view monitoring information for the created ECS instances in the CloudMonitor console. We recommend that you enable this feature. Valid values: * * - `true`: Installs the CloudMonitor agent on ECS nodes. * - `false`: Does not install the CloudMonitor agent on ECS nodes. * * @example * true */ cmsEnabled?: boolean; /** * @remarks * The node CPU management policy. The following two policies are supported for cluster versions 1.12.6 and later: * * - `static`: allows pods with certain resource characteristics on the node to be granted enhanced CPU affinity and exclusivity. * - `none`: enables the existing default CPU affinity scheme. * * @example * none */ cpuPolicy?: string; /** * @remarks * The node tag. */ labels?: Tag[]; /** * @remarks * The custom node name. * * A node name consists of three parts: prefix \\+ node IP address substring \\+ suffix: * * - The prefix and suffix can each consist of one or more parts separated by ".". Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit. * - The IP address segment length specifies the number of digits taken from the end of the node IP address. Valid values: 5 to 12. * * For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP address segment length is 5, and the suffix is test, the node name is aliyun.com00055test. * * @example * aliyun.com192.XX.YY.55test */ nodeNameMode?: string; /** * @remarks * The pre-initialization custom data for the node pool. This is a script that runs before node initialization. For more information, see [Generate instance user data](https://help.aliyun.com/document_detail/49121.html). * * @example * IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD */ preUserData?: string; /** * @remarks * The container runtime. ACK supports the following three container runtimes: * * - containerd: recommended. Supports all cluster versions. * - Sandboxed-Container.runv: sandboxed container that provides higher isolation. Supports cluster versions 1.31 and earlier. * - docker: no longer maintained. Supports cluster versions 1.22 and earlier. * * @example * containerd */ runtime?: string; /** * @remarks * The container runtime version. * * @example * 1.6.38 */ runtimeVersion?: string; /** * @remarks * The node taint information. Taints and tolerations work together to prevent pods from being scheduled to inappropriate nodes. For more information, see [taint-and-toleration](https://kubernetes.io/zh/docs/concepts/scheduling-eviction/taint-and-toleration/). */ taints?: Taint[]; /** * @remarks * Specifies whether scaled-out nodes are unschedulable. * * - true: unschedulable. * * - false: schedulable. * * @example * true */ unschedulable?: boolean; /** * @remarks * The custom data for the node pool. This is a script that runs after node initialization. For more information, see [Generate instance user data](https://help.aliyun.com/document_detail/49121.html). * * @example * IyEvYmluL3NoCmVjaG8gIkhlbGxvIEFD**** */ userData?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsManagementAutoRepairPolicy extends $dara.Model { /** * @remarks * Specifies whether manual approval is required for node repair. * * @example * false */ approvalRequired?: boolean; /** * @remarks * The ID of the auto repair policy. * * @example * r-xxxxxxxxx */ autoRepairPolicyId?: string; /** * @example * 1 */ maxParallelRepairingNodes?: string; /** * @example * 10% */ maxUnhealthyNodesThreshold?: string; /** * @remarks * Specifies whether to allow node restart. This parameter takes effect only when `auto_repair=true`. * * - `true`: Allow node restart. * - `false`: Do not allow node restart. * * @example * true */ restartNode?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsManagementAutoUpgradePolicy extends $dara.Model { /** * @remarks * Specifies whether to allow automatic kubelet upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values: * - `true`: Allow automatic kubelet upgrade. * - `false`: Do not allow automatic kubelet upgrade. * * @example * true */ autoUpgradeKubelet?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsManagementAutoVulFixPolicy extends $dara.Model { /** * @remarks * The packages to exclude during vulnerability fix. * * @example * kernel */ excludePackages?: string; /** * @remarks * Specifies whether to allow node restart. This parameter takes effect only when `auto_vul_fix=true`. Valid values: * - `true`: Allow node restart. * - `false`: Do not allow node restart. * * @example * true */ restartNode?: boolean; /** * @remarks * The vulnerability levels allowed for automatic fix, separated by commas. * * - `asap`: high * - `later`: medium * - `nntf`: low * * @example * asap,nntf */ vulLevel?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsManagementUpgradeConfig extends $dara.Model { /** * @remarks * Specifies whether to enable automatic upgrade. Valid values: * * - `true`: Enable automatic upgrade. * - `false`: Disable automatic upgrade. * * @example * true */ autoUpgrade?: boolean; /** * @remarks * The maximum number of unavailable nodes. Valid values: [1,1000\\]. * * Default value: 1. * * @example * 1 */ maxUnavailable?: number; /** * @remarks * The number of extra nodes. Mutually exclusive with `surge_percentage`. * * @example * 5 */ surge?: number; /** * @remarks * The percentage of extra nodes. Mutually exclusive with `surge`. * * Extra nodes = surge percentage × node count. For example, if the surge percentage is 50% and the existing node count is 6, the number of extra nodes = 50% × 6 = 3. * * @example * 50 */ surgePercentage?: number; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsManagement extends $dara.Model { /** * @remarks * Specifies whether to enable ECS fault detection for node self-healing. */ autoFaultDiagnosis?: boolean; /** * @remarks * Specifies whether to enable auto repair. This parameter takes effect only when `enable=true`. * * - `true`: Enable auto repair. * - `false`: Disable auto repair. * * @example * true */ autoRepair?: boolean; /** * @remarks * The auto repair policy for nodes. */ autoRepairPolicy?: DescribeClusterNodePoolsResponseBodyNodepoolsManagementAutoRepairPolicy; /** * @remarks * Specifies whether to enable automatic node upgrade. This parameter takes effect only when `enable=true`. * - `true`: Enable automatic upgrade. * - `false`: Disable automatic upgrade. * * @example * true */ autoUpgrade?: boolean; /** * @remarks * The automatic upgrade policy. */ autoUpgradePolicy?: DescribeClusterNodePoolsResponseBodyNodepoolsManagementAutoUpgradePolicy; /** * @remarks * Specifies whether to enable automatic CVE fix. This parameter takes effect only when `enable=true`. * * - `true`: Enable automatic CVE fix. * - `false`: Disable automatic CVE fix. * * @example * true */ autoVulFix?: boolean; /** * @remarks * The automatic CVE fix policy. */ autoVulFixPolicy?: DescribeClusterNodePoolsResponseBodyNodepoolsManagementAutoVulFixPolicy; driftEnabled?: boolean; /** * @remarks * Specifies whether to enable the managed node pool. Valid values: * * - `true`: Enable the managed node pool. * - `false`: Disable the managed node pool. Other related configurations take effect only when `enable=true`. * * @example * true */ enable?: boolean; /** * @remarks * The automatic upgrade configuration. This parameter takes effect only when `enable=true`. */ upgradeConfig?: DescribeClusterNodePoolsResponseBodyNodepoolsManagementUpgradeConfig; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsNodeComponentsConfig extends $dara.Model { /** * @remarks * The custom node component configuration. * * @example * {"cpuManagerPolicy":"static"} */ customConfig?: { [key: string]: any; }; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsNodeComponents extends $dara.Model { /** * @remarks * The node component configuration. */ config?: DescribeClusterNodePoolsResponseBodyNodepoolsNodeComponentsConfig; /** * @remarks * The custom node component configuration revision number. * * @example * 1 */ configRevision?: string; /** * @remarks * The node component name. * * @example * kubelet */ name?: string; /** * @remarks * The node component version. * * @example * 1.33.3-aliyun.1 */ version?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsNodeConfigNodeOsConfig extends $dara.Model { /** * @remarks * The hugepage configuration. */ hugepage?: Hugepage; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsNodeConfig extends $dara.Model { /** * @remarks * The Kubelet parameter settings. */ kubeletConfiguration?: KubeletConfig; /** * @remarks * The node operating system configuration. */ nodeOsConfig?: DescribeClusterNodePoolsResponseBodyNodepoolsNodeConfigNodeOsConfig; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsNodepoolInfo extends $dara.Model { /** * @remarks * The time when the node pool was created. * * @example * 2025-04-15T16:33:29.362888807+08:00 */ created?: string; /** * @remarks * Indicates whether the node pool is the default node pool. A cluster typically has only one default node pool. Valid values: * * - `true`: The node pool is the default node pool. * - `false`: The node pool is not the default node pool. * * @example * true */ isDefault?: boolean; /** * @remarks * The node pool name. * * @example * default-nodepool */ name?: string; /** * @remarks * The node pool ID. * * @example * np615c0e0966124216a0412e10afe0**** */ nodepoolId?: string; /** * @remarks * The region ID. * * @example * cn-beijing */ regionId?: string; /** * @remarks * The resource group ID. * * @example * rg-acfmyvw3wjm**** */ resourceGroupId?: string; /** * @remarks * The node pool type. Valid values: * * - `ess`: standard node pool (includes managed features and elastic scaling). * - `edge`: edge node pool. * - `lingjun`: Lingjun node pool. * * @example * ess */ type?: string; /** * @remarks * The time when the node pool was last updated. * * @example * 2025-04-15T16:33:32.823+08:00 */ updated?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupCpuOptions extends $dara.Model { /** * @example * enabled */ nestedVirtualization?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupPrivatePoolOptions extends $dara.Model { /** * @remarks * The private pool ID, which is the ID of the elasticity assurance or capacity reservation. * * @example * eap-bp67acfmxazb4**** */ id?: string; /** * @remarks * The private node pool type. Specifies the private pool capacity option for instance launch. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instance launch. Valid values: * * - `Open`: open mode. Automatically matches open private pool capacity. If no matching private pool capacity is available, public pool resources are used. * * - `Target`: targeted mode. Uses the specified private pool capacity to launch instances. If the specified private pool capacity is unavailable, the instance fails to launch. * * - `None`: no private pool. The instance launch does not use private pool capacity. * * @example * Open */ matchCriteria?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupResourcePoolOptions extends $dara.Model { /** * @remarks * The list of private pool IDs. */ privatePoolIds?: string[]; /** * @remarks * The resource pool policy used when creating instances. Valid values: * PrivatePoolFirst: private pool first. * PrivatePoolOnly: private pool only. * None: no resource pool policy. * * @example * PrivatePoolFirst */ strategy?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupSpotPriceLimit extends $dara.Model { /** * @remarks * The spot instance type. * * @example * ecs.c6.large */ instanceType?: string; /** * @remarks * The market price range per instance. * * Unit: CNY/hour. * * Unit: USD/hour. * * @example * 0.39 */ priceLimit?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroup extends $dara.Model { /** * @remarks * Specifies whether to enable auto-renewal. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`. Valid values: * * - `true`: Enable auto-renewal. * - `false`: Disable auto-renewal. * * @example * false */ autoRenew?: boolean; /** * @remarks * The duration of each auto-renewal cycle. Valid values: * - PeriodUnit=Week: 1, 2, 3. * - PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. * * @example * 0 */ autoRenewPeriod?: number; /** * @remarks * [Deprecated] * * Use the security_hardening_os parameter instead. * * @example * false * * @deprecated */ cisEnabled?: boolean; /** * @remarks * When `multi_az_policy` is set to `COST_OPTIMIZED`, specifies whether to allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to cost or inventory reasons. Valid values: * * - `true`: Allows automatic creation of pay-as-you-go instances to meet the required number of ECS instances. * - `false`: Does not allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances. * * @example * true */ compensateWithOnDemand?: boolean; cpuOptions?: DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupCpuOptions; /** * @remarks * The combination of data cloud disk type, size, and other configurations for nodes. */ dataDisks?: DataDisk[]; /** * @remarks * The deployment set ID. * * @example * ds-bp1d19mmbsv3jf6xxxxx */ deploymentsetId?: string; /** * @remarks * The desired number of nodes in the node pool. * * @example * 2 */ desiredSize?: number; /** * @remarks * The block device initialization configuration. */ diskInit?: DiskInit[]; /** * @remarks * The custom image ID. You can call `DescribeKubernetesVersionMetadata` to query the images supported by the system. * * @example * aliyun_3_x64_20G_alibase_20241218.vhd */ imageId?: string; /** * @remarks * The operating system image type. Valid values: * - `AliyunLinux`: Alinux2 image. * - `AliyunLinuxSecurity`: Alinux2 UEFI image. * - `AliyunLinux3`: Alinux3 image. * - `AliyunLinux3Arm64`: Alinux3 ARM image. * - `AliyunLinux3Security`: Alinux3 UEFI image. * - `CentOS`: CentOS image. * - `Windows`: Windows image. * - `WindowsCore`: WindowsCore image. * - `ContainerOS`: container-optimized image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. * * @example * AliyunLinux3 */ imageType?: string; /** * @remarks * The billing type of nodes in the node pool. Valid values: * * - `PrePaid`: subscription. * - `PostPaid`: pay-as-you-go. * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The instance attribute configurations. */ instancePatterns?: InstancePatterns[]; /** * @remarks * The list of node instance types. You can select multiple instance types as alternatives. Each node creation attempts to purchase from the first specification until successful. The final purchased instance type may vary depending on inventory. * * @example * ecs.n4.large */ instanceTypes?: string[]; /** * @remarks * The billing method for the public IP addresses of nodes. * * - PayByBandwidth: billed on a fixed-bandwidth basis. * - PayByTraffic: billed based on actual traffic usage. * * @example * PayByBandwidth */ internetChargeType?: string; /** * @remarks * The maximum outbound bandwidth for the public IP addresses of nodes, in Mbps (Mega bit per second). Valid values: 1 to 100. * * @example * 10 */ internetMaxBandwidthOut?: number; /** * @remarks * The key pair name. Mutually exclusive with `login_password`. * * For managed node pools, only `key_pair` is supported. * * @example * pro-nodepool */ keyPair?: string; /** * @remarks * Specifies whether scaled-out ECS instances use non-root logon. * * - true: Log on as a non-root user (ecs-user). * * - false: Log on as the root user. * [_single.resp.200.props.nodepools.items.scaling_group.cis * * @example * true */ loginAsNonRoot?: boolean; /** * @remarks * The SSH logon password. Mutually exclusive with `key_pair`. The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. * * For security purposes, the password is encrypted in query results. * * @example * ****** */ loginPassword?: string; /** * @remarks * The scaling policy for ECS instances in a multi-zone scaling group. Valid values: * * - `PRIORITY`: Scales based on the vSwitches (VSwitchIds.N) that you define. When ECS instances cannot be created in the zone of the vSwitch with the highest priority, the system automatically uses the vSwitch with the next highest priority to create ECS instances. * * - `COST_OPTIMIZED`: Attempts to create instances based on the unit price of vCPUs, from low to high. When the scaling configuration sets multiple instance types with the spot billing method, spot instances are preferentially created. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically attempt to create pay-as-you-go instances when spot instances cannot be created due to insufficient inventory or other reasons. * * >`COST_OPTIMIZED` takes effect only when multiple instance types are specified in the scaling configuration or spot instances are selected. * * - `BALANCE`: Evenly allocates ECS instances across the active zones specified for the scaling group. If the zones become unbalanced due to insufficient inventory or other reasons, you can call the [RebalanceInstances](https://help.aliyun.com/document_detail/71516.html) API operation to rebalance resources. * * @example * COST_OPTIMIZED */ multiAzPolicy?: string; /** * @remarks * The minimum number of pay-as-you-go instances required in the scaling group. Valid values: [0,1000\\]. Pay-as-you-go instances are preferentially created when the number of pay-as-you-go instances is less than this value. * * @example * 0 */ onDemandBaseCapacity?: number; /** * @remarks * The percentage of pay-as-you-go instances among the extra instances that exceed the minimum number of pay-as-you-go instances (`on_demand_base_capacity`) required in the scaling group. Valid values: [0,100\\]. * * @example * 20 */ onDemandPercentageAboveBaseCapacity?: number; /** * @remarks * The subscription duration of nodes. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`. * * - When `period_unit=Week`, valid values of `period`: {1, 2, 3, 4}. * - When `period_unit=Month`, valid values of `period`: {1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60}. * * @example * 1 */ period?: number; /** * @remarks * The node billing period unit. This parameter must be specified when `instance_charge_type` is set to `PrePaid`. * * - `Month`: month. * - `Week`: week. * * @example * Month */ periodUnit?: string; /** * @remarks * [Deprecated] * * The operating system distribution. Valid values: * * - `CentOS` * - `AliyunLinux` * - `Windows` * - `WindowsCore` * * @example * AliyunLinux */ platform?: string; /** * @remarks * The private pool options. */ privatePoolOptions?: DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupPrivatePoolOptions; /** * @remarks * This field is deprecated. Use ram_role_name instead. * * @example * KubernetesWorkerRole-021dc54f-929b-437a-8ae0-34c24d3e**** */ ramPolicy?: string; /** * @remarks * The worker RAM role name. * * @example * KubernetesWorkerRole-4a4fa089-80c1-48a5-b3c6-9349311f**** */ ramRoleName?: string; /** * @remarks * If an RDS instance list is specified, the ECS instances in the cluster nodes are automatically added to the RDS access whitelist. */ rdsInstances?: string[]; /** * @remarks * The resource pool and resource pool policy used when creating instances. */ resourcePoolOptions?: DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupResourcePoolOptions; /** * @remarks * The scaling group ID. * * @example * asg-2ze8n5qw4atggut8**** */ scalingGroupId?: string; /** * @remarks * The scaling group mode. Valid values: * * - `release`: standard mode. Scales by creating and releasing ECS instances based on resource usage. * - `recycle`: swift mode. Scales by creating, stopping, and starting ECS instances, which improves the speed of subsequent scaling operations. Compute resources are not charged during the stopped state. Only storage fees are charged, except for instances with local disks. * * @example * release */ scalingPolicy?: string; /** * @remarks * [Deprecated] * * The security group ID of the node pool. When the node pool is associated with multiple security groups, this is the first value in `security_group_ids`. * * @example * sg-2ze1iuk12m2sb4c4**** */ securityGroupId?: string; /** * @remarks * The list of security group IDs for the node pool. */ securityGroupIds?: string[]; /** * @remarks * Specifies whether to enable Alibaba Cloud OS security hardening. Valid values: * * - `true`: Enabled. * - `false`: Disabled. * * Default value: `false`. * * @example * false */ securityHardeningOs?: boolean; /** * @remarks * Specifies whether to enable MLPS 2.0 security hardening. MLPS 2.0 security hardening can be enabled only when the system image is Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3. Alibaba Cloud provides classified protection compliance baseline check standards and scanning programs for MLPS 2.0 Level 3 images of Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3. * * @example * false */ socEnabled?: boolean; /** * @remarks * The number of available instance types. The scaling group creates spot instances across multiple types at the lowest cost. Valid values: [1,10\\]. * * @example * 5 */ spotInstancePools?: number; /** * @remarks * Specifies whether to enable supplementing spot instances. When enabled, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed. Valid values: * * - `true`: Enabled. * - `false`: Disabled. * * @example * false */ spotInstanceRemedy?: boolean; /** * @remarks * The spot instance market price range configuration. */ spotPriceLimit?: DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroupSpotPriceLimit[]; /** * @remarks * The spot instance type. Valid values: * - NoSpot: non-spot instance. * - SpotWithPriceLimit: spot instance with a price limit. * - SpotAsPriceGo: system automatically bids at the current market price. * * For more information, see [Spot instances](https://help.aliyun.com/document_detail/157759.html). * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * Specifies whether to enable burst (performance burst) for the node system cloud disk. Valid values: * - true: Enable. When enabled, the cloud disk temporarily boosts performance during sudden data read/write pressure until the workload stabilizes. * - false: Disable. * * This parameter is supported only when `system_disk_category` is set to `cloud_auto`. For more information, see [ESSD AutoPL cloud disks](https://help.aliyun.com/document_detail/368372.html). * * @example * true */ systemDiskBurstingEnabled?: boolean; /** * @remarks * The multiple system cloud disk types. When a higher-priority disk type is unavailable, the system automatically attempts the next-priority disk type to create the system cloud disk. */ systemDiskCategories?: string[]; /** * @remarks * The node system cloud disk type. Valid values: * - `cloud_efficiency`: ultra cloud disk. * - `cloud_ssd`: standard SSD. * - `cloud_essd`: ESSD. * - `cloud_auto`: ESSD AutoPL cloud disk. * - `cloud_essd_entry`: ESSD Entry cloud disk. * * @example * cloud_efficiency */ systemDiskCategory?: string; /** * @remarks * The encryption algorithm for the system cloud disk. Valid values: aes-256. * * @example * aes-256 */ systemDiskEncryptAlgorithm?: string; /** * @remarks * Specifies whether to encrypt the system cloud disk. Valid values: * * - true: Encrypted. * - false: Not encrypted. * * @example * false */ systemDiskEncrypted?: boolean; /** * @remarks * The KMS key ID used for the system cloud disk. * * @example * 0e478b7a-4262-4802-b8cb-00d3fb40**** */ systemDiskKmsKeyId?: string; /** * @remarks * The performance level of the node system cloud disk. This parameter takes effect only for ESSD cloud disks. The performance level is related to the disk size. For more information, see [ESSD cloud disks](https://help.aliyun.com/document_detail/122389.html). * - PL0: moderate concurrent I/O performance with relatively stable read/write latency. * - PL1: moderate concurrent I/O performance with relatively stable read/write latency. * - PL2: high concurrent I/O performance with stable read/write latency. * - PL3: ultra-high concurrent I/O performance with extremely stable read/write latency. * * @example * PL1 */ systemDiskPerformanceLevel?: string; /** * @remarks * The provisioned read/write IOPS for the node system cloud disk. Configure this parameter when the disk type is cloud_auto. * * @example * 1000 */ systemDiskProvisionedIops?: number; /** * @remarks * The node system cloud disk size. Unit: GiB. * * Valid values: [20,2048\\]. * * @example * 120 */ systemDiskSize?: number; /** * @remarks * The snapshot policy for the system cloud disk. * * @example * sp-0jl6xnmme8v7o935**** */ systemDiskSnapshotPolicyId?: string; /** * @remarks * The ECS instance tags. */ tags?: Tag[]; /** * @remarks * The list of vSwitch IDs. */ vswitchIds?: string[]; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsStatus extends $dara.Model { /** * @remarks * The number of failed instances. * * @example * 0 */ failedNodes?: number; /** * @remarks * The number of healthy instances. * * @example * 3 */ healthyNodes?: number; /** * @remarks * The number of nodes being created. * * @example * 0 */ initialNodes?: number; /** * @remarks * The number of offline nodes. * * @example * 0 */ offlineNodes?: number; /** * @remarks * The number of nodes being removed. * * @example * 0 */ removingNodes?: number; /** * @remarks * The number of nodes in the serving state. * * @example * 3 */ servingNodes?: number; /** * @remarks * The node pool status. Valid values: * * - `active`: active. * - `scaling`: scaling. * - `removing`: removing nodes. * - `deleting`: deleting. * - `updating`: updating. * * @example * active */ state?: string; /** * @remarks * The total number of nodes in the node pool. * * @example * 3 */ totalNodes?: number; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepoolsTeeConfig extends $dara.Model { /** * @remarks * Specifies whether to enable confidential computing for the cluster. Valid values: * * - `true`: Enabled. * - `false`: Disabled. * * @example * false */ teeEnable?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBodyNodepools extends $dara.Model { /** * @remarks * The intelligent managed configuration. */ autoMode?: DescribeClusterNodePoolsResponseBodyNodepoolsAutoMode; /** * @remarks * The auto scaling configuration. */ autoScaling?: DescribeClusterNodePoolsResponseBodyNodepoolsAutoScaling; /** * @remarks * The Lingjun node group information. */ efloNodeGroup?: DescribeClusterNodePoolsResponseBodyNodepoolsEfloNodeGroup; /** * @remarks * [Deprecated] * * The network configuration for edge node pools. This value is meaningful only for edge-type node pools. */ interconnectConfig?: DescribeClusterNodePoolsResponseBodyNodepoolsInterconnectConfig; /** * @remarks * The network type of the edge node pool. This parameter takes effect only for node pools whose `type` is `edge`. Valid values: * * - `basic`: public network. Nodes in cloud node pool interact with cloud nodes over the Internet. Applications in cloud node pool cannot directly access the cloud VPC internal network. * - `private`: private network. Nodes in cloud node pool connect to the cloud through Express Connect, VPN, or CEN, providing higher cloud-edge communication quality and more effective security. * * @example * basic */ interconnectMode?: string; /** * @remarks * The cluster-related configuration. */ kubernetesConfig?: DescribeClusterNodePoolsResponseBodyNodepoolsKubernetesConfig; /** * @remarks * The managed node pool configuration. This configuration takes effect only in ACK Pro clusters. */ management?: DescribeClusterNodePoolsResponseBodyNodepoolsManagement; /** * @remarks * The maximum number of nodes allowed in the edge node pool. This parameter must be greater than or equal to 0. A value of 0 indicates no additional limit (limited only by the maximum number of nodes the cluster can accommodate, with no additional limit on the node pool itself). This value is typically greater than 0 for edge node pools. For ESS-type node pools and default edge-type node pools, this value is 0. * * @example * 10 */ maxNodes?: number; /** * @remarks * The list of node components. */ nodeComponents?: DescribeClusterNodePoolsResponseBodyNodepoolsNodeComponents[]; /** * @remarks * The node configuration. */ nodeConfig?: DescribeClusterNodePoolsResponseBodyNodepoolsNodeConfig; /** * @remarks * The node pool information. */ nodepoolInfo?: DescribeClusterNodePoolsResponseBodyNodepoolsNodepoolInfo; /** * @remarks * The scaling group configuration of the node pool. */ scalingGroup?: DescribeClusterNodePoolsResponseBodyNodepoolsScalingGroup; /** * @remarks * The node pool status. */ status?: DescribeClusterNodePoolsResponseBodyNodepoolsStatus; /** * @remarks * The confidential computing configuration. */ teeConfig?: DescribeClusterNodePoolsResponseBodyNodepoolsTeeConfig; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class DescribeClusterNodePoolsResponseBody extends $dara.Model { /** * @remarks * The list of node pool instances. */ nodepools?: DescribeClusterNodePoolsResponseBodyNodepools[]; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); }