import * as $dara from '@darabonba/typescript'; import { DataDisk } from "./DataDisk"; import { DiskInit } from "./DiskInit"; import { InstancePatterns } from "./InstancePatterns"; import { Tag } from "./Tag"; import { Taint } from "./Taint"; export declare class ModifyClusterNodePoolRequestAutoScaling extends $dara.Model { /** * @remarks * [This field is deprecated] Use internet_charge_type and internet_max_bandwidth_out instead. * The peak bandwidth of the EIP. * * Valid values: [1,100]. Unit: Mbit/s. * * @example * null * * @deprecated */ eipBandwidth?: number; /** * @remarks * [This field is deprecated] Use internet_charge_type and internet_max_bandwidth_out instead. * * The EIP billing type. Valid values: * * - `PayByBandwidth`: pay-by-bandwidth. * - `PayByTraffic`: pay-by-traffic. * * Default value: `PayByBandwidth`. * * @example * null * * @deprecated */ eipInternetChargeType?: string; /** * @remarks * Specifies whether to enable auto scaling. Valid values: * * - `true`: enables the auto scaling feature for the node pool. When the capacity planning of the cluster cannot meet the scheduling requirements of application pods, ACK automatically scales nodes based on the configured minimum and maximum instance counts. Clusters of version 1.24 or later use instant 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 and maintains the node count at the desired value. * * When the value is false, other configuration parameters in `auto_scaling` do not take effect. * * Default value: `false`. * * @example * true */ enable?: boolean; /** * @remarks * [This field is deprecated] This field is deprecated. Use internet_charge_type and internet_max_bandwidth_out instead. * * - `true`: associates an EIP. * - `false`: does not associate an EIP. * * Default value: `false`. * * @example * null * * @deprecated */ isBondEip?: boolean; /** * @remarks * The maximum number of instances that can be scaled in the node pool, excluding existing instances. This parameter takes effect only when `enable=true`. * * Valid values: [min_instances, 2000]. Default value: 0. * * @example * 10 */ maxInstances?: number; /** * @remarks * The minimum number of instances that can be scaled in the node pool, excluding existing instances. This parameter takes effect only when `enable=true`. * * Valid values: [0, max_instances]. Default value: 0. * * > - If the minimum number of instances is not 0, the corresponding number of ECS instances are automatically created after the scaling group takes effect. * > - Set the maximum number of instances to a value that is not less than the current number of nodes in the node pool. Otherwise, nodes in the node pool will be scaled in after the elastic scaling feature takes effect. * * @example * 2 */ minInstances?: number; /** * @remarks * The auto scaling type, classified by instance type. Valid values: * * - `cpu`: regular instance type. * - `gpu`: GPU instance type. * - `gpushare`: GPU sharing type. * - `spot`: spot instance type. * * Default value: `cpu`. * * @example * cpu * * @deprecated */ type?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestEfloNodeGroup extends $dara.Model { /** * @remarks * Specifies whether to enable automatic addition for the Lingjun node pool. (Not effective) */ autoAttachEnabled?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestKubernetesConfig extends $dara.Model { /** * @remarks * Specifies whether to install the CloudMonitor agent on ECS nodes. After installation, you can view monitoring information of 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. * * Default value: `false`. * * @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 enhanced CPU affinity and exclusivity for pods with certain resource characteristics on the node. * - `none`: enables the existing default CPU affinity scheme. * * Default value: `none`. * * @example * none */ cpuPolicy?: string; /** * @remarks * The node labels. Adds labels to Kubernetes cluster nodes. Label definition rules: * * - Labels consist of case-sensitive key-value pairs. You can set up to 20 labels. * - Label keys cannot be duplicated and can be up to 64 characters. Label values can be empty and can be up to 128 characters. Neither label keys nor label values can start with `aliyun`, `acs:`, `https://`, or `http://`. For more information, see [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). */ labels?: Tag[]; /** * @remarks * The custom node name parameter. A node name consists of three parts: prefix + node IP + suffix. * * Both the prefix and suffix can 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 node IP is the full private IP address of the node. * * The parameter contains four parts separated by commas. For example, if you pass in "customized,aliyun,ip,com" (where "customized" and "ip" are fixed strings, "aliyun" is the prefix, and "com" is the suffix), the node name is: aliyun.192.168.xxx.xxx.com. * * @example * customized,aliyun,ip,com */ nodeNameMode?: string; /** * @remarks * The instance pre-user data. Before the node joins the cluster, the specified pre-user data script is executed. For more information, see [User data scripts](https://help.aliyun.com/document_detail/49121.html). * * @example * IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi */ preUserData?: string; /** * @remarks * The container runtime name. 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. * * Default value: containerd. * * @example * containerd */ runtime?: string; /** * @remarks * The container runtime version. * * @example * 1.6.38 */ runtimeVersion?: string; /** * @remarks * The node taint configuration. */ taints?: Taint[]; /** * @remarks * Specifies whether the nodes added after scale-out are unschedulable. * * - true: Unschedulable. * * - false: Schedulable. * * @example * false */ unschedulable?: boolean; /** * @remarks * The instance user data. After the node joins the cluster, the specified user data script is executed. For more information, see [User data scripts](https://help.aliyun.com/document_detail/49121.html). * * @example * IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi */ userData?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestManagementAutoRepairPolicy extends $dara.Model { /** * @remarks * Specifies whether node repair requires manual approval. */ approvalRequired?: boolean; /** * @remarks * The auto repair policy ID. * * @example * r-xxxxxxxxxx */ autoRepairPolicyId?: string; /** * @example * 5 */ maxParallelRepairingNodes?: string; /** * @example * 20% */ maxUnhealthyNodesThreshold?: string; /** * @remarks * Specifies whether to allow node restart. This parameter takes effect only when `auto_repair=true`. Valid values: * * - `true`: allows node restart. * - `false`: does not allow node restart. * * Default value: `true`. * * @example * true */ restartNode?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestManagementAutoUpgradePolicy extends $dara.Model { /** * @remarks * Specifies whether to allow automatic kubelet upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values: * - `true`: allows automatic kubelet upgrade. * - `false`: does not allow automatic kubelet upgrade. * * Default value: `true`. * * @example * true */ autoUpgradeKubelet?: boolean; /** * @remarks * Specifies whether to allow automatic operating system upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values: * - `true`: allows automatic OS upgrade. * - `false`: does not allow automatic OS upgrade. * * Default value: `false`. * * @example * false */ autoUpgradeOs?: boolean; /** * @remarks * Specifies whether to allow automatic runtime upgrade. This parameter takes effect only when `auto_upgrade=true`. Valid values: * - `true`: allows automatic runtime upgrade. * - `false`: does not allow automatic runtime upgrade. * * Default value: `true`. * * @example * false */ autoUpgradeRuntime?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestManagementAutoVulFixPolicy extends $dara.Model { /** * @remarks * Specifies the packages to exclude during vulnerability fixing. * * Default value: `kernel`. * * @example * kernel */ excludePackages?: string; /** * @remarks * Specifies whether to allow node restart. This parameter takes effect only when `auto_vul_fix=true`. Valid values: * - `true`: allows node restart. * - `false`: does not allow node restart. * * Default value: `true`. * * @example * true */ restartNode?: boolean; /** * @remarks * The vulnerability levels allowed for automatic fixing, separated by commas. Example: `asap,later`. Supported vulnerability levels: * * - `asap`: high * - `later`: medium * - `nntf`: low * * Default value: `asap`. * * @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 ModifyClusterNodePoolRequestManagementUpgradeConfig extends $dara.Model { /** * @remarks * [This field is deprecated] Use the `auto_upgrade` parameter at the upper level instead. * * Specifies whether to enable auto upgrade: * * - true: enables auto upgrade. * - false: disables auto upgrade. * * Default value: `true`. * * @example * true * * @deprecated */ 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. This parameter is mutually exclusive with `surge_percentage`. * * During an upgrade, nodes become unavailable. You can create extra nodes to compensate for the cluster workload. * * > The number of extra nodes should not exceed the current number of nodes. * * @example * 5 */ surge?: number; /** * @remarks * The percentage of extra nodes. This parameter is mutually exclusive with `surge`. * * Number of extra nodes = percentage of extra nodes × number of nodes. For example, if the percentage is set to 50% and there are 6 existing nodes, the number of extra nodes = 50% × 6 = 3. * * @example * 0 */ surgePercentage?: number; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestManagement extends $dara.Model { /** * @remarks * Specifies whether to enable ECS fault detection for node self-healing. */ autoFaultDiagnosis?: boolean; /** * @remarks * Specifies whether to automatically repair nodes. This parameter takes effect only when `enable=true`. * * - `true`: enables auto repair. * * - `false`: disables auto repair. * * Default value: `true`. * * @example * true */ autoRepair?: boolean; /** * @remarks * The auto repair node policy. */ autoRepairPolicy?: ModifyClusterNodePoolRequestManagementAutoRepairPolicy; /** * @remarks * Specifies whether to automatically upgrade nodes. This parameter takes effect only when `enable=true`. * - `true`: enables auto upgrade. * - `false`: disables auto upgrade. * * Default value: `true`. * * @example * true */ autoUpgrade?: boolean; /** * @remarks * The auto upgrade policy. */ autoUpgradePolicy?: ModifyClusterNodePoolRequestManagementAutoUpgradePolicy; /** * @remarks * Specifies whether to automatically fix CVE vulnerabilities. This parameter takes effect only when `enable=true`. * * - `true`: allows automatic CVE fixing. * - `false`: does not allow automatic CVE fixing. * * Default value: `true`. * * @example * true */ autoVulFix?: boolean; /** * @remarks * The auto CVE fix policy. */ autoVulFixPolicy?: ModifyClusterNodePoolRequestManagementAutoVulFixPolicy; driftEnabled?: boolean; /** * @remarks * Specifies whether to enable the managed node pool. Valid values: * * - `true`: enables the managed node pool. * - `false`: disables the managed node pool. Other related configurations take effect only when `enable=true`. * * Default value: `false`. * * @example * true */ enable?: boolean; /** * @remarks * [This field is deprecated] Use the `auto_upgrade` parameter at the upper level instead. * * The auto upgrade configuration. This parameter takes effect only when `enable=true`. * * @deprecated */ upgradeConfig?: ModifyClusterNodePoolRequestManagementUpgradeConfig; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestNodepoolInfo extends $dara.Model { /** * @remarks * The node pool name. * * Naming rules: The name must be 1 to 63 characters in length and can contain digits, Chinese characters, letters, and hyphens (-). It cannot start with a hyphen (-). * * @example * default-nodepool */ name?: string; /** * @remarks * The resource group ID of the node pool. Instances created by the node pool belong to this resource group. * * A resource can belong to only one resource group. You can map resource groups to concepts such as projects, applications, or organizations based on your business scenarios. * * @example * rg-acfmyvw3wjm**** */ resourceGroupId?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestScalingGroupPrivatePoolOptions extends $dara.Model { /** * @remarks * The private node pool ID. When `match_criteria` is set to `Target`, you must specify the private pool ID. * * @example * eap-bp67acfmxazb4**** */ id?: string; /** * @remarks * The private node pool type and 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-type 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`: None mode. 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 ModifyClusterNodePoolRequestScalingGroupResourcePoolOptions extends $dara.Model { /** * @remarks * The list of private pool IDs, which are elasticity assurance IDs or capacity reservation IDs. Only Target mode private pool IDs can be specified. Valid values of N: 1 to 20. */ privatePoolIds?: string[]; /** * @remarks * The resource pool strategy used when creating instances. Resource pools include private pools generated after an elasticity assurance or capacity reservation takes effect, and public pools, for instance launch. Valid values: * PrivatePoolFirst: private pool first. When this strategy is selected, if resouce_pool_options.private_pool_ids is specified, the specified private pools are used first. If no private pool is specified or the specified private pool capacity is insufficient, open-type private pools are automatically matched. If no matching private pool is available, public pool resources are used. * PrivatePoolOnly: private pool only. When this strategy is selected, you must specify resouce_pool_options.private_pool_ids. If the specified private pool capacity is insufficient, the instance fails to launch. * None: no resource pool strategy is used. * Default value: None. * * @example * PrivatePoolFirst */ strategy?: string; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestScalingGroupSpotPriceLimit extends $dara.Model { /** * @remarks * The spot instance type. * * @example * ecs.c6.large */ instanceType?: string; /** * @remarks * The maximum price 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 ModifyClusterNodePoolRequestScalingGroup extends $dara.Model { /** * @remarks * Specifies whether to enable auto-renewal for nodes. This parameter takes effect only when `instance_charge_type` is set to `PrePaid`. Valid values: * * - `true`: enables auto-renewal. * - `false`: disables auto-renewal. * * Default value: `false`. * * @example * true */ autoRenew?: boolean; /** * @remarks * The auto-renewal period for a single renewal. Valid values: * - When PeriodUnit=Week: 1, 2, 3. * - When PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. * * Default value: 1. * * @example * 1 */ autoRenewPeriod?: number; /** * @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 if 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; /** * @remarks * The data cloud disk configuration for nodes. Valid values: [0,10\\]. You can add up to 10 data cloud disks. */ dataDisks?: DataDisk[]; /** * @remarks * The deployment set ID for ECS instances created by the node pool. This setting applies only to new nodes and does not change the deployment set of existing nodes. * * @example * ds-bp1d19mmbsv3jf6xxxxx */ deploymentsetId?: string; /** * @remarks * The desired number of nodes in the node pool. * * The total number of nodes that the node pool should maintain. We recommend that you configure at least 2 nodes to ensure that cluster components run properly. You can scale the node pool in or out by adjusting the desired node count. * * If you do not need to create nodes, set this parameter to 0 and manually adjust it later to add nodes. * * @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. The latest system image is used by default. * * @example * aliyun_3_x64_20G_alibase_20241218.vhd */ imageId?: string; /** * @remarks * The operating system distribution type. We recommend that you use this field to specify the node operating system. 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 method of nodes in the node pool. Valid values: * * - `PrePaid`: subscription. * - `PostPaid`: pay-as-you-go. * * Default value: `PostPaid`. * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The instance attribute configuration. */ instancePatterns?: InstancePatterns[]; /** * @remarks * The list of node instance types. You can select multiple instance types as alternatives. When each node is created, the system attempts to purchase instances starting from the first specification until the creation succeeds. The final purchased instance type may vary depending on inventory availability. * * Supported number of instance types: [1,10]. */ instanceTypes?: string[]; /** * @remarks * The billing type for public IP addresses. Valid values: * * - `PayByBandwidth`: pay-by-bandwidth. * - `PayByTraffic`: pay-by-traffic. * * @example * PayByBandwidth */ internetChargeType?: string; /** * @remarks * The maximum outbound bandwidth for node public IP addresses. Unit: Mbit/s. Valid values: [1,100\\]. * * @example * 5 */ internetMaxBandwidthOut?: number; /** * @remarks * The key pair name. This parameter is mutually exclusive with `login_password`. For managed node pools, only `key_pair` is supported. * * @example * pro-nodepool */ keyPair?: string; /** * @remarks * The SSH logon password. This parameter is mutually exclusive with `key_pair`. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. * * @example * Hello1234 */ loginPassword?: string; /** * @remarks * The multi-zone scaling policy for ECS instances in the scaling group. Valid values: * * - `PRIORITY`: scales based on the vSwitches (VSwitchIds.N) you defined. When ECS instances cannot be created in the zone of a higher-priority vSwitch, the system automatically uses the next-priority vSwitch to create ECS instances. * * - `COST_OPTIMIZED`: attempts to create instances in order of vCPU unit price from lowest to highest. When the scaling configuration sets the spot billing method for multiple instance types, spot instances are created first. 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 the scaling configuration specifies multiple instance types or uses spot instances. * * - `BALANCE`: evenly allocates ECS instances across the multiple active zones specified in the scaling group. If zones become unbalanced due to insufficient inventory, you can call the `RebalanceInstances` API operation to rebalance resources. For more information, see [RebalanceInstances](https://help.aliyun.com/document_detail/71516.html). * * Default value: `PRIORITY`. * * @example * BALANCE */ multiAzPolicy?: string; /** * @remarks * The minimum number of pay-as-you-go instances required by the scaling group. Valid values: [0,1000\\]. Pay-as-you-go instances are created first 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 instances that exceed the minimum number of pay-as-you-go instances (`on_demand_base_capacity`). Valid values: [0,100\\]. * * @example * 20 */ onDemandPercentageAboveBaseCapacity?: number; /** * @remarks * The subscription duration of nodes in the node pool. 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 billing cycle of nodes in the node pool. This parameter takes effect and is required only when `instance_charge_type` is set to `PrePaid`. * * - `Month`: the billing cycle is month. * - `Week`: the billing cycle is week. * * Default value: `Month`. * * @example * Month */ periodUnit?: string; /** * @remarks * **This parameter is deprecated.** Use the `image_type` parameter instead. * * The operating system platform. Valid values: * * - `AliyunLinux` * - `CentOS` * - `Windows` * - `WindowsCore` * * @example * AliyunLinux * * @deprecated */ platform?: string; /** * @remarks * The private node pool configuration. */ privatePoolOptions?: ModifyClusterNodePoolRequestScalingGroupPrivatePoolOptions; /** * @remarks * The list of ApsaraDB RDS instances. */ rdsInstances?: string[]; /** * @remarks * The resource pool and resource pool strategy used when creating instances. Note the following when you set this parameter: * This parameter takes effect only when creating pay-as-you-go instances. * This parameter cannot be set together with private_pool_options.match_criteria or private_pool_options.id. */ resourcePoolOptions?: ModifyClusterNodePoolRequestScalingGroupResourcePoolOptions; /** * @remarks * The scaling group mode. Valid values: * * - `release`: standard mode. Scales by creating and releasing ECS instances based on resource usage. * - `recycle`: rapid mode. Scales by creating, stopping, and starting 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 local disk instance types). * * @example * release */ scalingPolicy?: string; /** * @remarks * The list of security group IDs. */ securityGroupIds?: string[]; /** * @remarks * The number of available instance types. The scaling group creates spot instances of multiple types that are the most cost-effective. Valid values: [1,10\\]. * * @example * 5 */ spotInstancePools?: number; /** * @remarks * Specifies whether to enable spot instance supplementation. If enabled, when the system sends a notification that a spot instance will be reclaimed, the scaling group attempts to create a new instance to replace the spot instance that will be reclaimed. Valid values: * * - `true`: Enables spot instance supplementation. * - `false`: Disables spot instance supplementation. * * @example * false */ spotInstanceRemedy?: boolean; /** * @remarks * The price limit configuration for spot instances. */ spotPriceLimit?: ModifyClusterNodePoolRequestScalingGroupSpotPriceLimit[]; /** * @remarks * The spot instance type. Valid values: * * - `NoSpot`: non-spot instance. * - `SpotWithPriceLimit`: sets a maximum price for spot instances. * - `SpotAsPriceGo`: the system automatically bids at the current market price. * * For more information, see [Spot instances](https://help.aliyun.com/document_detail/157759.html). * * @example * SpotWithPriceLimit */ spotStrategy?: string; /** * @remarks * Specifies whether to enable burst (performance burst) for the node system cloud disk. Valid values: * - true: enables burst. When enabled, the cloud disk temporarily improves performance during sudden data read/write pressure from fluctuating workloads until the workload returns to a steady state. * - false: disables burst. * * 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 * Multiple system cloud disk types. When a higher-priority cloud disk type is unavailable, the system automatically attempts the next-priority cloud disk type to create the system cloud disk. */ systemDiskCategories?: string[]; /** * @remarks * The type of the node system cloud disk. 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. * * Default value: `cloud_efficiency`. * * @example * cloud_efficiency */ systemDiskCategory?: string; /** * @remarks * The encryption algorithm used by 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: encrypts the system cloud disk. * * - false: does not encrypt the system cloud disk. * * @example * false */ systemDiskEncrypted?: boolean; /** * @remarks * The KMS key ID used by 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 cloud disk size. For more information, see [ESSD cloud disks](https://help.aliyun.com/document_detail/122389.html). * - PL0: moderate maximum concurrent I/O performance with relatively stable read/write latency. * - PL1: moderate maximum concurrent I/O performance with relatively stable read/write latency. * - PL2: high maximum concurrent I/O performance with stable read/write latency. * - PL3: ultra-high maximum concurrent I/O performance with extremely stable read/write latency. * * @example * PL1 */ systemDiskPerformanceLevel?: string; /** * @remarks * The provisioned read/write IOPS of the node system cloud disk. * * Valid values: 0~min{50,000, 1000\\*capacity-baseline performance}. Baseline performance=min{1,800+50\\*capacity, 50000}. * * 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 * 1000 */ systemDiskProvisionedIops?: number; /** * @remarks * The size of the node system cloud disk. Unit: GiB. * * Valid values: [20,2048\\]. * * The value must be greater than or equal to max{20, ImageSize}. * * Default value: max{40, image size corresponding to the ImageId parameter}. * * @example * 120 */ systemDiskSize?: number; /** * @remarks * The snapshot policy for the system cloud disk. * * @example * sp-0jl6xnmme8v7o935**** */ systemDiskSnapshotPolicyId?: string; /** * @remarks * Tags added only to ECS instances. * * Tag keys cannot be duplicated and can be up to 128 characters in length. Tag keys and tag values cannot start with "aliyun" or "acs:", or contain "https://" or "http://". */ tags?: Tag[]; /** * @remarks * The list of vSwitch IDs. Valid values: [1,8\\]. * * > To ensure high availability, select vSwitches in different zones. */ vswitchIds?: string[]; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequestTeeConfig extends $dara.Model { /** * @remarks * Specifies whether to enable confidential computing for the cluster. Valid values: * * - `true`: Enabled. * - `false`: Disabled. * * Default value: `false`. * * @example * false */ teeEnable?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); } export declare class ModifyClusterNodePoolRequest extends $dara.Model { /** * @remarks * The auto scaling configuration. */ autoScaling?: ModifyClusterNodePoolRequestAutoScaling; /** * @remarks * Specifies whether to enable concurrency. * * @example * true */ concurrency?: boolean; /** * @remarks * The Lingjun node pool configuration. (Not effective) */ efloNodeGroup?: ModifyClusterNodePoolRequestEfloNodeGroup; /** * @remarks * The cluster-related configuration. */ kubernetesConfig?: ModifyClusterNodePoolRequestKubernetesConfig; /** * @remarks * The managed node pool configuration. */ management?: ModifyClusterNodePoolRequestManagement; /** * @remarks * The node pool configuration. */ nodepoolInfo?: ModifyClusterNodePoolRequestNodepoolInfo; /** * @remarks * The scaling group configuration of the node pool. */ scalingGroup?: ModifyClusterNodePoolRequestScalingGroup; /** * @remarks * The confidential computing cluster configuration. */ teeConfig?: ModifyClusterNodePoolRequestTeeConfig; /** * @remarks * Synchronously updates node labels and taints. * * @example * true */ updateNodes?: boolean; static names(): { [key: string]: string; }; static types(): { [key: string]: any; }; validate(): void; constructor(map?: { [key: string]: any; }); }