com.aliyun.cs20151215.models.CreateClusterNodePoolRequest Maven / Gradle / Ivy
Show all versions of cs20151215 Show documentation
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.cs20151215.models;
import com.aliyun.tea.*;
public class CreateClusterNodePoolRequest extends TeaModel {
/**
* The configurations of auto scaling.
*/
@NameInMap("auto_scaling")
public CreateClusterNodePoolRequestAutoScaling autoScaling;
/**
* This parameter is deprecated. Use desired_size instead.
* The number of nodes in the node pool.
*
* example:
* 1
*/
@NameInMap("count")
@Deprecated
public Long count;
/**
* This parameter is deprecated.
* The configurations of the edge node pool.
*/
@NameInMap("interconnect_config")
@Deprecated
public CreateClusterNodePoolRequestInterconnectConfig interconnectConfig;
/**
* The network type of the edge node pool. This parameter takes effect only if you set the type
of the node pool to edge
. Valid values:
*
* basic
: basic
* private
: dedicated Only Kubernetes 1.22 and later support this value.
*
*
* example:
* basic
*/
@NameInMap("interconnect_mode")
public String interconnectMode;
/**
* The configurations of the cluster.
*/
@NameInMap("kubernetes_config")
public CreateClusterNodePoolRequestKubernetesConfig kubernetesConfig;
/**
* The configurations of the managed node pool feature.
*/
@NameInMap("management")
public CreateClusterNodePoolRequestManagement management;
/**
* The maximum number of nodes that can be contained in the edge node pool. The value of this parameter must be greater than or equal to 0. A value of 0 indicates that the number of nodes in the node pool is limited only by the quota of nodes in the cluster.
*
* - In most cases, this parameter is set to a value greater than 0 for edge node pools.
* - This parameter is set to 0 for node pools whose types are ess or default edge node pools.
*
*
* example:
* 10
*/
@NameInMap("max_nodes")
@Deprecated
public Long maxNodes;
/**
* The node configurations.
*/
@NameInMap("node_config")
public CreateClusterNodePoolRequestNodeConfig nodeConfig;
/**
* The configurations of the node pool.
*/
@NameInMap("nodepool_info")
public CreateClusterNodePoolRequestNodepoolInfo nodepoolInfo;
/**
* The configurations of the scaling group that is used by the node pool.
*/
@NameInMap("scaling_group")
public CreateClusterNodePoolRequestScalingGroup scalingGroup;
/**
* The configurations of confidential computing for the cluster.
*/
@NameInMap("tee_config")
public CreateClusterNodePoolRequestTeeConfig teeConfig;
public static CreateClusterNodePoolRequest build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequest self = new CreateClusterNodePoolRequest();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequest setAutoScaling(CreateClusterNodePoolRequestAutoScaling autoScaling) {
this.autoScaling = autoScaling;
return this;
}
public CreateClusterNodePoolRequestAutoScaling getAutoScaling() {
return this.autoScaling;
}
public CreateClusterNodePoolRequest setCount(Long count) {
this.count = count;
return this;
}
public Long getCount() {
return this.count;
}
public CreateClusterNodePoolRequest setInterconnectConfig(CreateClusterNodePoolRequestInterconnectConfig interconnectConfig) {
this.interconnectConfig = interconnectConfig;
return this;
}
public CreateClusterNodePoolRequestInterconnectConfig getInterconnectConfig() {
return this.interconnectConfig;
}
public CreateClusterNodePoolRequest setInterconnectMode(String interconnectMode) {
this.interconnectMode = interconnectMode;
return this;
}
public String getInterconnectMode() {
return this.interconnectMode;
}
public CreateClusterNodePoolRequest setKubernetesConfig(CreateClusterNodePoolRequestKubernetesConfig kubernetesConfig) {
this.kubernetesConfig = kubernetesConfig;
return this;
}
public CreateClusterNodePoolRequestKubernetesConfig getKubernetesConfig() {
return this.kubernetesConfig;
}
public CreateClusterNodePoolRequest setManagement(CreateClusterNodePoolRequestManagement management) {
this.management = management;
return this;
}
public CreateClusterNodePoolRequestManagement getManagement() {
return this.management;
}
public CreateClusterNodePoolRequest setMaxNodes(Long maxNodes) {
this.maxNodes = maxNodes;
return this;
}
public Long getMaxNodes() {
return this.maxNodes;
}
public CreateClusterNodePoolRequest setNodeConfig(CreateClusterNodePoolRequestNodeConfig nodeConfig) {
this.nodeConfig = nodeConfig;
return this;
}
public CreateClusterNodePoolRequestNodeConfig getNodeConfig() {
return this.nodeConfig;
}
public CreateClusterNodePoolRequest setNodepoolInfo(CreateClusterNodePoolRequestNodepoolInfo nodepoolInfo) {
this.nodepoolInfo = nodepoolInfo;
return this;
}
public CreateClusterNodePoolRequestNodepoolInfo getNodepoolInfo() {
return this.nodepoolInfo;
}
public CreateClusterNodePoolRequest setScalingGroup(CreateClusterNodePoolRequestScalingGroup scalingGroup) {
this.scalingGroup = scalingGroup;
return this;
}
public CreateClusterNodePoolRequestScalingGroup getScalingGroup() {
return this.scalingGroup;
}
public CreateClusterNodePoolRequest setTeeConfig(CreateClusterNodePoolRequestTeeConfig teeConfig) {
this.teeConfig = teeConfig;
return this;
}
public CreateClusterNodePoolRequestTeeConfig getTeeConfig() {
return this.teeConfig;
}
public static class CreateClusterNodePoolRequestAutoScaling extends TeaModel {
/**
* This parameter is deprecated.
* The maximum bandwidth of the EIP. Unit: Mbit/s.
* **
* Important This parameter is deprecated. Use internet_charge_type and internet_max_bandwidth_out.
*
* example:
* 5
*/
@NameInMap("eip_bandwidth")
@Deprecated
public Long eipBandwidth;
/**
* This parameter is deprecated.
* The metering method of the EIP. Valid values:
*
* PayByBandwidth
: pay-by-bandwidth.
* PayByTraffic
: pay-by-data-transfer.
*
* Default value: PayByBandwidth
.
* **
* Important This parameter is deprecated. Use internet_charge_type and internet_max_bandwidth_out.
*
* example:
* PayByBandwidth
*/
@NameInMap("eip_internet_charge_type")
@Deprecated
public String eipInternetChargeType;
/**
* Specifies whether to enable auto scaling for the node pool. Valid values:
*
* true
: enables auto scaling.
* false
: disables auto scaling. If you set this parameter to false, other parameters in the auto_scaling
section do not take effect.
*
* Default value: false
.
*
* example:
* true
*/
@NameInMap("enable")
public Boolean enable;
/**
* This parameter is deprecated.
* Specifies whether to associate an elastic IP address (EIP) with the node pool. Valid values:
*
* true
: associates an EIP with the node pool.
* false
: does not associate an EIP with the node pool.
*
* Default value: false
.
* **
* Important This parameter is deprecated. Use internet_charge_type and internet_max_bandwidth_out.
*
* example:
* true
*/
@NameInMap("is_bond_eip")
@Deprecated
public Boolean isBondEip;
/**
* The maximum number to which the Elastic Compute Service (ECS) instances in the node pool can be scaled. The number of nodes in the node pool cannot be greater than this value. This parameter takes effect only if enable
is set to true. Valid values: [min_instances, 2000]. Default value: 0.
*
* example:
* 10
*/
@NameInMap("max_instances")
public Long maxInstances;
/**
* The minimum number to which the ECS instances in the node pool can be scaled. The number of nodes in the node pool cannot be smaller than this value. This parameter takes effect only if enable
is set to true. Valid values: [0, max_instances]. Default value: 0.
*
* example:
* 1
*/
@NameInMap("min_instances")
public Long minInstances;
/**
* The instance type that is used for auto scaling. This parameter takes effect only if enable
is set to true. Valid values:
*
* cpu
: regular instance.
* gpu
: GPU-accelerated instance.
* gpushare
: shared GPU-accelerated instance.
* spot
: preemptible instance.
*
* Default value: cpu
.
*
* You cannot modify this parameter after the node pool is created.
*
*
* example:
* cpu
*/
@NameInMap("type")
public String type;
public static CreateClusterNodePoolRequestAutoScaling build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestAutoScaling self = new CreateClusterNodePoolRequestAutoScaling();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestAutoScaling setEipBandwidth(Long eipBandwidth) {
this.eipBandwidth = eipBandwidth;
return this;
}
public Long getEipBandwidth() {
return this.eipBandwidth;
}
public CreateClusterNodePoolRequestAutoScaling setEipInternetChargeType(String eipInternetChargeType) {
this.eipInternetChargeType = eipInternetChargeType;
return this;
}
public String getEipInternetChargeType() {
return this.eipInternetChargeType;
}
public CreateClusterNodePoolRequestAutoScaling setEnable(Boolean enable) {
this.enable = enable;
return this;
}
public Boolean getEnable() {
return this.enable;
}
public CreateClusterNodePoolRequestAutoScaling setIsBondEip(Boolean isBondEip) {
this.isBondEip = isBondEip;
return this;
}
public Boolean getIsBondEip() {
return this.isBondEip;
}
public CreateClusterNodePoolRequestAutoScaling setMaxInstances(Long maxInstances) {
this.maxInstances = maxInstances;
return this;
}
public Long getMaxInstances() {
return this.maxInstances;
}
public CreateClusterNodePoolRequestAutoScaling setMinInstances(Long minInstances) {
this.minInstances = minInstances;
return this;
}
public Long getMinInstances() {
return this.minInstances;
}
public CreateClusterNodePoolRequestAutoScaling setType(String type) {
this.type = type;
return this;
}
public String getType() {
return this.type;
}
}
public static class CreateClusterNodePoolRequestInterconnectConfig extends TeaModel {
/**
* This parameter is deprecated.
* The bandwidth of the enhanced edge node pool. Unit: Mbit/s.
*
* example:
* 10
*/
@NameInMap("bandwidth")
public Long bandwidth;
/**
* This parameter is deprecated.
* The ID of the Cloud Connect Network (CCN) instance that is associated with the enhanced edge node pool.
*
* example:
* ccn-qm5i0i0q9yi*******
*/
@NameInMap("ccn_id")
public String ccnId;
/**
* This parameter is deprecated.
* The region to which the CCN instance that is associated with the enhanced edge node pool belongs.
*
* example:
* cn-shanghai
*/
@NameInMap("ccn_region_id")
public String ccnRegionId;
/**
* This parameter is deprecated.
* The ID of the Cloud Enterprise Network (CEN) instance that is associated with the enhanced edge node pool.
*
* example:
* cen-ey9k9nfhz0f*******
*/
@NameInMap("cen_id")
public String cenId;
/**
* This parameter is deprecated.
* The subscription duration of the enhanced edge node pool. The duration is measured in months.
*
* example:
* 1
*/
@NameInMap("improved_period")
public String improvedPeriod;
public static CreateClusterNodePoolRequestInterconnectConfig build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestInterconnectConfig self = new CreateClusterNodePoolRequestInterconnectConfig();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestInterconnectConfig setBandwidth(Long bandwidth) {
this.bandwidth = bandwidth;
return this;
}
public Long getBandwidth() {
return this.bandwidth;
}
public CreateClusterNodePoolRequestInterconnectConfig setCcnId(String ccnId) {
this.ccnId = ccnId;
return this;
}
public String getCcnId() {
return this.ccnId;
}
public CreateClusterNodePoolRequestInterconnectConfig setCcnRegionId(String ccnRegionId) {
this.ccnRegionId = ccnRegionId;
return this;
}
public String getCcnRegionId() {
return this.ccnRegionId;
}
public CreateClusterNodePoolRequestInterconnectConfig setCenId(String cenId) {
this.cenId = cenId;
return this;
}
public String getCenId() {
return this.cenId;
}
public CreateClusterNodePoolRequestInterconnectConfig setImprovedPeriod(String improvedPeriod) {
this.improvedPeriod = improvedPeriod;
return this;
}
public String getImprovedPeriod() {
return this.improvedPeriod;
}
}
public static class CreateClusterNodePoolRequestKubernetesConfig extends TeaModel {
/**
* Specifies whether to install the CloudMonitor agent on ECS nodes. After the CloudMonitor agent is installed on ECS nodes, you can view monitoring information about the instances in the CloudMonitor console. We recommend that you install the CloudMonitor agent. 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
*/
@NameInMap("cms_enabled")
public Boolean cmsEnabled;
/**
* The CPU management policy of nodes in the node pool. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later:
*
* static
: allows pods with specific resource characteristics on the node to be granted with enhanced CPU affinity and exclusivity.
* none
: specifies that the default CPU affinity is used.
*
* Default value: none
.
*
* example:
* none
*/
@NameInMap("cpu_policy")
public String cpuPolicy;
/**
* The labels that you want to add to nodes in the cluster.
*/
@NameInMap("labels")
public java.util.List labels;
/**
* The custom node name. A custom node name consists of a prefix, a node IP address, and a suffix.
*
* - The prefix and the suffix can contain multiple parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). A custom node name must start and end with a digit or lowercase letter.
* - The node IP address in a custom node name is the private IP address of the node.
*
* Set the parameter to a value in the customized,aliyun,ip,com format. The value consists of four parts that are separated by commas (,). customized and ip are fixed content. aliyun is the prefix and com is the suffix. Example: aliyun.192.168.xxx.xxx.com.
*
* example:
* customized,aliyun,ip,com
*/
@NameInMap("node_name_mode")
public String nodeNameMode;
@NameInMap("pre_user_data")
public String preUserData;
/**
* The name of the container runtime. The following types of runtime are supported by Container Service for Kubernetes (ACK):
*
* - containerd: containerd is the recommended runtime and supports all Kubernetes versions.
* - Sandboxed-Container.runv: The Sandbox-Container runtime provides improved isolation and supports Kubernetes 1.24 and earlier.
* - docker: The Docker runtime supports Kubernetes 1.22 and earlier.
*
* Default value: containerd.
*
* example:
* docker
*/
@NameInMap("runtime")
public String runtime;
/**
* The version of the container runtime.
*
* example:
* 19.03.5
*/
@NameInMap("runtime_version")
public String runtimeVersion;
/**
* The taints.
*/
@NameInMap("taints")
public java.util.List taints;
/**
* Specifies whether the nodes are schedulable after a scale-out operation is performed.
*
* example:
* true
*/
@NameInMap("unschedulable")
public Boolean unschedulable;
/**
* The user data on the node.
*
* example:
* dGhpcyBpcyBhIGV4YW1wbGU=
*/
@NameInMap("user_data")
public String userData;
public static CreateClusterNodePoolRequestKubernetesConfig build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestKubernetesConfig self = new CreateClusterNodePoolRequestKubernetesConfig();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestKubernetesConfig setCmsEnabled(Boolean cmsEnabled) {
this.cmsEnabled = cmsEnabled;
return this;
}
public Boolean getCmsEnabled() {
return this.cmsEnabled;
}
public CreateClusterNodePoolRequestKubernetesConfig setCpuPolicy(String cpuPolicy) {
this.cpuPolicy = cpuPolicy;
return this;
}
public String getCpuPolicy() {
return this.cpuPolicy;
}
public CreateClusterNodePoolRequestKubernetesConfig setLabels(java.util.List labels) {
this.labels = labels;
return this;
}
public java.util.List getLabels() {
return this.labels;
}
public CreateClusterNodePoolRequestKubernetesConfig setNodeNameMode(String nodeNameMode) {
this.nodeNameMode = nodeNameMode;
return this;
}
public String getNodeNameMode() {
return this.nodeNameMode;
}
public CreateClusterNodePoolRequestKubernetesConfig setPreUserData(String preUserData) {
this.preUserData = preUserData;
return this;
}
public String getPreUserData() {
return this.preUserData;
}
public CreateClusterNodePoolRequestKubernetesConfig setRuntime(String runtime) {
this.runtime = runtime;
return this;
}
public String getRuntime() {
return this.runtime;
}
public CreateClusterNodePoolRequestKubernetesConfig setRuntimeVersion(String runtimeVersion) {
this.runtimeVersion = runtimeVersion;
return this;
}
public String getRuntimeVersion() {
return this.runtimeVersion;
}
public CreateClusterNodePoolRequestKubernetesConfig setTaints(java.util.List taints) {
this.taints = taints;
return this;
}
public java.util.List getTaints() {
return this.taints;
}
public CreateClusterNodePoolRequestKubernetesConfig setUnschedulable(Boolean unschedulable) {
this.unschedulable = unschedulable;
return this;
}
public Boolean getUnschedulable() {
return this.unschedulable;
}
public CreateClusterNodePoolRequestKubernetesConfig setUserData(String userData) {
this.userData = userData;
return this;
}
public String getUserData() {
return this.userData;
}
}
public static class CreateClusterNodePoolRequestManagementAutoRepairPolicy extends TeaModel {
/**
* Specifies whether to allow node restart. This parameter takes effect only if auto_repair
is set to true. Valid values:
*
* true
: allows node restart.
* false
: does not allow node restart.
*
* If auto_repair
is set to true, the default value of this parameter is true
. If auto_repair
is set to false, the default value of this parameter is false
.
*
* example:
* true
*/
@NameInMap("restart_node")
public Boolean restartNode;
public static CreateClusterNodePoolRequestManagementAutoRepairPolicy build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestManagementAutoRepairPolicy self = new CreateClusterNodePoolRequestManagementAutoRepairPolicy();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestManagementAutoRepairPolicy setRestartNode(Boolean restartNode) {
this.restartNode = restartNode;
return this;
}
public Boolean getRestartNode() {
return this.restartNode;
}
}
public static class CreateClusterNodePoolRequestManagementAutoUpgradePolicy extends TeaModel {
/**
* Specifies whether to allow auto update of the kubelet. This parameter takes effect only if auto_upgrade
is set to true. Valid values:
*
* true
: allows auto update of the kubelet.
* false
: does not allow auto update of the kubelet.
*
* If auto_upgrade
is set to true, the default value of this parameter is true
. If auto_upgrade
is set to false, the default value of this parameter is false
.
*
* example:
* true
*/
@NameInMap("auto_upgrade_kubelet")
public Boolean autoUpgradeKubelet;
/**
* Specifies whether to allow auto update of the OS. This parameter takes effect only if auto_upgrade
is set to true. Valid values:
*
* true
: allows auto update of the OS.
* false
: does not allow auto update of the OS.
*
* Default value: false
.
*/
@NameInMap("auto_upgrade_os")
public Boolean autoUpgradeOs;
/**
* Specifies whether to allow auto update of the runtime. This parameter takes effect only if auto_upgrade
is set to true. Valid values:
*
* true
: allows auto update of the runtime.
* false
: does not allow auto update of the runtime.
*
* Default value: false
.
*/
@NameInMap("auto_upgrade_runtime")
public Boolean autoUpgradeRuntime;
public static CreateClusterNodePoolRequestManagementAutoUpgradePolicy build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestManagementAutoUpgradePolicy self = new CreateClusterNodePoolRequestManagementAutoUpgradePolicy();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestManagementAutoUpgradePolicy setAutoUpgradeKubelet(Boolean autoUpgradeKubelet) {
this.autoUpgradeKubelet = autoUpgradeKubelet;
return this;
}
public Boolean getAutoUpgradeKubelet() {
return this.autoUpgradeKubelet;
}
public CreateClusterNodePoolRequestManagementAutoUpgradePolicy setAutoUpgradeOs(Boolean autoUpgradeOs) {
this.autoUpgradeOs = autoUpgradeOs;
return this;
}
public Boolean getAutoUpgradeOs() {
return this.autoUpgradeOs;
}
public CreateClusterNodePoolRequestManagementAutoUpgradePolicy setAutoUpgradeRuntime(Boolean autoUpgradeRuntime) {
this.autoUpgradeRuntime = autoUpgradeRuntime;
return this;
}
public Boolean getAutoUpgradeRuntime() {
return this.autoUpgradeRuntime;
}
}
public static class CreateClusterNodePoolRequestManagementAutoVulFixPolicy extends TeaModel {
/**
* Specifies whether to allow node restart. This parameter takes effect only if auto_vul_fix
is set to true. Valid values:
*
* true
: allows node restart.
* false
: does not allow node restart. If auto_vul_fix
is set to true, the default value of this parameter is false
. If auto_vul_fix
is set to false, the default value of this parameter is false
.
*
*
* example:
* true
*/
@NameInMap("restart_node")
public Boolean restartNode;
/**
* The severity levels of CVEs that can be automatically patched. Separate multiple levels with commas (,). Example: asap,later
. Valid values:
*
* asap
: high.
* later
: medium.
* nntf
: low.
*
* If auto_vul_fix
is set to true, the default value of this parameter is asap
.
*
* example:
* asap,nntf
*/
@NameInMap("vul_level")
public String vulLevel;
public static CreateClusterNodePoolRequestManagementAutoVulFixPolicy build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestManagementAutoVulFixPolicy self = new CreateClusterNodePoolRequestManagementAutoVulFixPolicy();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestManagementAutoVulFixPolicy setRestartNode(Boolean restartNode) {
this.restartNode = restartNode;
return this;
}
public Boolean getRestartNode() {
return this.restartNode;
}
public CreateClusterNodePoolRequestManagementAutoVulFixPolicy setVulLevel(String vulLevel) {
this.vulLevel = vulLevel;
return this;
}
public String getVulLevel() {
return this.vulLevel;
}
}
public static class CreateClusterNodePoolRequestManagementUpgradeConfig extends TeaModel {
/**
* Specifies whether to enable auto update. Valid values:
*
* true
: enables auto update.
* false
: disables auto update.
*
* **
* Caution This parameter is deprecated. Use the preceding auto_upgrade parameter.
*
* example:
* false
*/
@NameInMap("auto_upgrade")
@Deprecated
public Boolean autoUpgrade;
/**
* The maximum number of unavailable nodes. Valid values: 1 to 1000.
* Default value: 1
*
* example:
* 1
*/
@NameInMap("max_unavailable")
public Long maxUnavailable;
/**
* The number of additional nodes that are temporarily added to the node pool during an auto update.
*
* example:
* 0
*/
@NameInMap("surge")
public Long surge;
/**
* The percentage of additional nodes that are temporarily added to the node pool during an auto update. You must set this parameter or surge
.
*
* example:
* 0
*/
@NameInMap("surge_percentage")
public Long surgePercentage;
public static CreateClusterNodePoolRequestManagementUpgradeConfig build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestManagementUpgradeConfig self = new CreateClusterNodePoolRequestManagementUpgradeConfig();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestManagementUpgradeConfig setAutoUpgrade(Boolean autoUpgrade) {
this.autoUpgrade = autoUpgrade;
return this;
}
public Boolean getAutoUpgrade() {
return this.autoUpgrade;
}
public CreateClusterNodePoolRequestManagementUpgradeConfig setMaxUnavailable(Long maxUnavailable) {
this.maxUnavailable = maxUnavailable;
return this;
}
public Long getMaxUnavailable() {
return this.maxUnavailable;
}
public CreateClusterNodePoolRequestManagementUpgradeConfig setSurge(Long surge) {
this.surge = surge;
return this;
}
public Long getSurge() {
return this.surge;
}
public CreateClusterNodePoolRequestManagementUpgradeConfig setSurgePercentage(Long surgePercentage) {
this.surgePercentage = surgePercentage;
return this;
}
public Long getSurgePercentage() {
return this.surgePercentage;
}
}
public static class CreateClusterNodePoolRequestManagement extends TeaModel {
/**
* Specifies whether to enable auto node repair. This parameter takes effect only if enable
is set to true.
*
* true
: enables auto node repair.
* false
: disables auto node repair.
*
* If enable
is set to true, the default value of this parameter is true
. If enable
is set to false, the default value of this parameter is false
.
*
* example:
* false
*/
@NameInMap("auto_repair")
public Boolean autoRepair;
/**
* The auto node repair policy.
*/
@NameInMap("auto_repair_policy")
public CreateClusterNodePoolRequestManagementAutoRepairPolicy autoRepairPolicy;
/**
* Specifies whether to enable auto node update. This parameter takes effect only if enable
is set to true.
*
* true
: enables auto node update.
* false
: disables auto node update.
*
* If enable
is set to true, the default value of this parameter is true
. If enable
is set to false, the default value of this parameter is false
.
*
* example:
* true
*/
@NameInMap("auto_upgrade")
public Boolean autoUpgrade;
/**
* The auto node update policy.
*/
@NameInMap("auto_upgrade_policy")
public CreateClusterNodePoolRequestManagementAutoUpgradePolicy autoUpgradePolicy;
/**
* Specifies whether to enable auto Common Vulnerabilities and Exposures (CVE) patching. This parameter takes effect only if enable
is set to true.
*
* true
: enables auto CVE patching.
* false
: disables auto CVE patching.
*
* If enable
is set to true, the default value of this parameter is true
. If enable
is set to false, the default value of this parameter is false
.
*
* example:
* true
*/
@NameInMap("auto_vul_fix")
public Boolean autoVulFix;
/**
* The auto CVE patching policy.
*/
@NameInMap("auto_vul_fix_policy")
public CreateClusterNodePoolRequestManagementAutoVulFixPolicy autoVulFixPolicy;
/**
* Specifies whether to enable the managed node pool feature. Valid values:
*
* true
: enables the managed node pool feature.
* false
: disables the managed node pool feature. Other parameters in this section take effect only if enable is set to true.
*
* Default value: false
*
* example:
* false
*/
@NameInMap("enable")
public Boolean enable;
/**
* The configurations of auto update. The configurations take effects only if enable
is set to true.
*/
@NameInMap("upgrade_config")
@Deprecated
public CreateClusterNodePoolRequestManagementUpgradeConfig upgradeConfig;
public static CreateClusterNodePoolRequestManagement build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestManagement self = new CreateClusterNodePoolRequestManagement();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestManagement setAutoRepair(Boolean autoRepair) {
this.autoRepair = autoRepair;
return this;
}
public Boolean getAutoRepair() {
return this.autoRepair;
}
public CreateClusterNodePoolRequestManagement setAutoRepairPolicy(CreateClusterNodePoolRequestManagementAutoRepairPolicy autoRepairPolicy) {
this.autoRepairPolicy = autoRepairPolicy;
return this;
}
public CreateClusterNodePoolRequestManagementAutoRepairPolicy getAutoRepairPolicy() {
return this.autoRepairPolicy;
}
public CreateClusterNodePoolRequestManagement setAutoUpgrade(Boolean autoUpgrade) {
this.autoUpgrade = autoUpgrade;
return this;
}
public Boolean getAutoUpgrade() {
return this.autoUpgrade;
}
public CreateClusterNodePoolRequestManagement setAutoUpgradePolicy(CreateClusterNodePoolRequestManagementAutoUpgradePolicy autoUpgradePolicy) {
this.autoUpgradePolicy = autoUpgradePolicy;
return this;
}
public CreateClusterNodePoolRequestManagementAutoUpgradePolicy getAutoUpgradePolicy() {
return this.autoUpgradePolicy;
}
public CreateClusterNodePoolRequestManagement setAutoVulFix(Boolean autoVulFix) {
this.autoVulFix = autoVulFix;
return this;
}
public Boolean getAutoVulFix() {
return this.autoVulFix;
}
public CreateClusterNodePoolRequestManagement setAutoVulFixPolicy(CreateClusterNodePoolRequestManagementAutoVulFixPolicy autoVulFixPolicy) {
this.autoVulFixPolicy = autoVulFixPolicy;
return this;
}
public CreateClusterNodePoolRequestManagementAutoVulFixPolicy getAutoVulFixPolicy() {
return this.autoVulFixPolicy;
}
public CreateClusterNodePoolRequestManagement setEnable(Boolean enable) {
this.enable = enable;
return this;
}
public Boolean getEnable() {
return this.enable;
}
public CreateClusterNodePoolRequestManagement setUpgradeConfig(CreateClusterNodePoolRequestManagementUpgradeConfig upgradeConfig) {
this.upgradeConfig = upgradeConfig;
return this;
}
public CreateClusterNodePoolRequestManagementUpgradeConfig getUpgradeConfig() {
return this.upgradeConfig;
}
}
public static class CreateClusterNodePoolRequestNodeConfig extends TeaModel {
/**
* The configurations of the kubelet.
*/
@NameInMap("kubelet_configuration")
public KubeletConfig kubeletConfiguration;
public static CreateClusterNodePoolRequestNodeConfig build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestNodeConfig self = new CreateClusterNodePoolRequestNodeConfig();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestNodeConfig setKubeletConfiguration(KubeletConfig kubeletConfiguration) {
this.kubeletConfiguration = kubeletConfiguration;
return this;
}
public KubeletConfig getKubeletConfiguration() {
return this.kubeletConfiguration;
}
}
public static class CreateClusterNodePoolRequestNodepoolInfo extends TeaModel {
/**
* The name of the node pool.
* This parameter is required.
*
* example:
* cluster-demo
*/
@NameInMap("name")
public String name;
/**
* The ID of the resource group to which the node pool belongs. Instances that are added to the node pool belong to this resource group.
*
* example:
* rg-acfmyvw3wjmb****
*/
@NameInMap("resource_group_id")
public String resourceGroupId;
/**
* The type of node pool. Valid values:
*
* ess
: regular node pool, which supports the managed node pool feature and the auto scaling feature.
* edge
: edge node pool.
* lingjun
: Lingjun node pool.
*
*
* example:
* ess
*/
@NameInMap("type")
public String type;
public static CreateClusterNodePoolRequestNodepoolInfo build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestNodepoolInfo self = new CreateClusterNodePoolRequestNodepoolInfo();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestNodepoolInfo setName(String name) {
this.name = name;
return this;
}
public String getName() {
return this.name;
}
public CreateClusterNodePoolRequestNodepoolInfo setResourceGroupId(String resourceGroupId) {
this.resourceGroupId = resourceGroupId;
return this;
}
public String getResourceGroupId() {
return this.resourceGroupId;
}
public CreateClusterNodePoolRequestNodepoolInfo setType(String type) {
this.type = type;
return this;
}
public String getType() {
return this.type;
}
}
public static class CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions extends TeaModel {
/**
* The private node pool ID.
*
* example:
* eap-bp67acfmxazb4****
*/
@NameInMap("id")
public String id;
/**
* The type of private node pool. This parameter specifies the type of private pool that you want to use to create instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. The system selects a private pool to start instances. Valid values:
*
* Open
: open private node pool. The system selects an open private pool to start instances. If no matching open private pools are available, the resources in the public pool are used.
* Target
: private node pool. The system uses the resources of the specified private pool to start instances. If the specified private pool is unavailable, instances cannot be started.
* None
: does not use private pools. The resources of private node pools are not used to launch instances.
*
*
* example:
* Open
*/
@NameInMap("match_criteria")
public String matchCriteria;
public static CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions self = new CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions setId(String id) {
this.id = id;
return this;
}
public String getId() {
return this.id;
}
public CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions setMatchCriteria(String matchCriteria) {
this.matchCriteria = matchCriteria;
return this;
}
public String getMatchCriteria() {
return this.matchCriteria;
}
}
public static class CreateClusterNodePoolRequestScalingGroupSpotPriceLimit extends TeaModel {
/**
* The instance type of preemptible instances.
*
* example:
* ecs.c6.large
*/
@NameInMap("instance_type")
public String instanceType;
/**
* The price cap of a preemptible instance.
*
* example:
* 0.39
*/
@NameInMap("price_limit")
public String priceLimit;
public static CreateClusterNodePoolRequestScalingGroupSpotPriceLimit build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestScalingGroupSpotPriceLimit self = new CreateClusterNodePoolRequestScalingGroupSpotPriceLimit();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestScalingGroupSpotPriceLimit setInstanceType(String instanceType) {
this.instanceType = instanceType;
return this;
}
public String getInstanceType() {
return this.instanceType;
}
public CreateClusterNodePoolRequestScalingGroupSpotPriceLimit setPriceLimit(String priceLimit) {
this.priceLimit = priceLimit;
return this;
}
public String getPriceLimit() {
return this.priceLimit;
}
}
public static class CreateClusterNodePoolRequestScalingGroupTags extends TeaModel {
/**
* The label key.
*
* example:
* node-k-1
*/
@NameInMap("key")
public String key;
/**
* The label value.
*
* example:
* node-v-1
*/
@NameInMap("value")
public String value;
public static CreateClusterNodePoolRequestScalingGroupTags build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestScalingGroupTags self = new CreateClusterNodePoolRequestScalingGroupTags();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestScalingGroupTags setKey(String key) {
this.key = key;
return this;
}
public String getKey() {
return this.key;
}
public CreateClusterNodePoolRequestScalingGroupTags setValue(String value) {
this.value = value;
return this;
}
public String getValue() {
return this.value;
}
}
public static class CreateClusterNodePoolRequestScalingGroup extends TeaModel {
/**
* Specifies whether to enable auto-renewal for nodes in the node pool. This parameter takes effect only when you set instance_charge_type
to PrePaid
. Valid values:
*
* true
: enables auto-renewal.
* false
: disables auto-renewal.
*
* Default value: false
.
*
* example:
* true
*/
@NameInMap("auto_renew")
public Boolean autoRenew;
/**
* The auto-renewal duration of nodes in the node pool. This parameter is available and required only if you set instance_charge_type to PrePaid and auto_renew to true. If PeriodUnit=Month
is configured, the valid values are 1, 2, 3, 6, and 12.
* Default value: 1.
*
* example:
* 1
*/
@NameInMap("auto_renew_period")
public Long autoRenewPeriod;
/**
* This parameter is deprecated. Use security_hardening_os instead.
*
* example:
* false
*/
@NameInMap("cis_enabled")
@Deprecated
public Boolean cisEnabled;
/**
* Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as the price or insufficient inventory. This parameter takes effect when you set multi_az_policy
to COST_OPTIMIZED
. Valid values:
*
* true
: automatically creates pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.
* false
: does not create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.
*
*
* example:
* true
*/
@NameInMap("compensate_with_on_demand")
public Boolean compensateWithOnDemand;
/**
* The configurations of the data disks that are mounted to nodes in the node pool.
*/
@NameInMap("data_disks")
public java.util.List dataDisks;
/**
* The ID of the deployment set.
*
* example:
* ds-bp1d19mmbsv3jf6xxxxx
*/
@NameInMap("deploymentset_id")
public String deploymentsetId;
/**
* The expected number of nodes in the node pool.
*
* example:
* 0
*/
@NameInMap("desired_size")
public Long desiredSize;
/**
* The custom image ID. By default, the image provided by ACK is used.
*
* example:
* aliyun_2_1903_x64_20G_alibase_20200529.vhd
*/
@NameInMap("image_id")
public String imageId;
/**
* The type of the OS image. You must specify this parameter or platform
. Valid values:
*
* AliyunLinux
: Alibaba Cloud Linux 2.
* AliyunLinuxSecurity
: Alibaba Cloud Linux 2 (UEFI).
* AliyunLinux3
: Alibaba Cloud Linux 3.
* AliyunLinux3Arm64
: Alibaba Cloud Linux 3 (ARM).
* AliyunLinux3Security
: Alibaba Cloud Linux 3 (UEFI).
* CentOS
: CentOS.
* Windows
: Windows.
* WindowsCore
: Windows Core.
* ContainerOS
: ContainerOS.
*
*
* example:
* AliyunLinux
*/
@NameInMap("image_type")
public String imageType;
/**
* The billing method of nodes in the node pool. Valid values:
*
* PrePaid
: subscription.
* PostPaid
: pay-as-you-go.
*
* Default value: PostPaid
.
* This parameter is required.
*
* example:
* PrePaid
*/
@NameInMap("instance_charge_type")
public String instanceChargeType;
/**
* The instance attributes.
*/
@NameInMap("instance_patterns")
public java.util.List instancePatterns;
/**
* The instance types of nodes in the node pool. When the system adds a node to the node pool, the system selects the most appropriate one from the specified instance types for the node. You can specify 1 to 10 instance types.
*
* To ensure high availability, we recommend that you specify multiple instance types.
*
* This parameter is required.
*/
@NameInMap("instance_types")
public java.util.List instanceTypes;
/**
* The metering method of the public IP address. Valid values:
*
* - PayByBandwidth: pay-by-bandwidth.
* - PayByTraffic: pay-by-data-transfer.
*
*
* example:
* PayByTraffic
*/
@NameInMap("internet_charge_type")
public String internetChargeType;
/**
* The maximum outbound bandwidth of the public IP address. Unit: Mbit/s. Valid values: 1 to 100.
*
* example:
* 5
*/
@NameInMap("internet_max_bandwidth_out")
public Long internetMaxBandwidthOut;
/**
* The name of the key pair used to log on to nodes in the node pool. You must set this parameter or login_password
.
*
* If you select ContainerOS as the OS of nodes in the node pool, you must specify key_pair
.
*
*
* example:
* np-key-name
*/
@NameInMap("key_pair")
public String keyPair;
/**
* Specifies whether to allow a non-root user to log on to an ECS instance that is added to the node pool.
*
* example:
* true
*/
@NameInMap("login_as_non_root")
public Boolean loginAsNonRoot;
/**
* The password for SSH logon. You must specify this parameter or 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
*/
@NameInMap("login_password")
public String loginPassword;
/**
* The ECS instance scaling policy for the multi-zone scaling group. Valid values:
*
* PRIORITY
: ECS instances are scaled based on the value of VSwitchIds.N. If an ECS instance cannot be created in the zone where the vSwitch that has the highest priority resides, the system creates the ECS instance in the zone where the vSwitch that has the next highest priority resides.
*
* COST_OPTIMIZED
: ECS instances are created based on the vCPU unit price in ascending order. Preemptible instances are preferably created when preemptible instance types are specified in the scaling configurations. You can set CompensateWithOnDemand
to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient inventory.
* **
* Note COST_OPTIMIZED
is valid only when multiple instance types are specified or at least one preemptible instance type is specified.
*
* BALANCE
: ECS instances are evenly distributed across multiple zones specified by the scaling group. If ECS instances become imbalanced among multiple zones due to insufficient inventory, you can call the RebalanceInstances operation of Auto Scaling to evenly distribute the ECS instances among zones.
*
*
* Default value: PRIORITY
.
*
* example:
* COST_OPTIMIZED
*/
@NameInMap("multi_az_policy")
public String multiAzPolicy;
/**
* The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is smaller than the value of this parameter, Auto Scaling preferably creates pay-as-you-go instances.
*
* example:
* 0
*/
@NameInMap("on_demand_base_capacity")
public Long onDemandBaseCapacity;
/**
* The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by on_demand_base_capacity
. Valid values: 0 to 100.
*
* example:
* 20
*/
@NameInMap("on_demand_percentage_above_base_capacity")
public Long onDemandPercentageAboveBaseCapacity;
/**
* The subscription duration of nodes in the node pool. This parameter takes effect and is required if you set instance_charge_type
to PrePaid
.
*
* - If
period_unit
is set to Week, the valid values of period
are 1, 2, 3, and 4.
* - If
period_unit
is set to Month, the valid values of period
are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.
*
*
* example:
* 1
*/
@NameInMap("period")
public Long period;
/**
* The billing cycle of nodes in the node pool. This parameter takes effect and is required if you set instance_charge_type
to PrePaid
. Valid values:
*
* Month
: The subscription duration is measured in months.
* Week
: The subscription duration is measured in weeks.
*
* Default value: Month
.
*
* example:
* Month
*/
@NameInMap("period_unit")
public String periodUnit;
/**
* The OS distribution that is used. Valid values:
*
* CentOS
* AliyunLinux
* Windows
* WindowsCore
*
* Default value: AliyunLinux
.
*
* example:
* AliyunLinux
*/
@NameInMap("platform")
@Deprecated
public String platform;
/**
* The configurations of the private node pool.
*/
@NameInMap("private_pool_options")
public CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions privatePoolOptions;
/**
* The name of the worker Resource Access Management (RAM) role.
*
* - If you do not specify this parameter, the default worker RAM role created by the cluster is used.
* - The specified RAM role must be a regular service role and the Select Trusted Service parameter must be set to Elastic Compute Service. For more information, see Create a normal service role. If the specified RAM role is not the default worker RAM role created by the cluster, the name of the RAM role cannot start with
KubernetesMasterRole-
or KubernetesWorkerRole-
.
*
* This parameter is available only to users in the whitelist. To use this parameter, submit a ticket.
*
* This parameter is available only for ACK managed clusters that run Kubernetes 1.22 or later.
*
*
* example:
* example-role
*/
@NameInMap("ram_role_name")
public String ramRoleName;
/**
* A list of ApsaraDB RDS instances.
*/
@NameInMap("rds_instances")
public java.util.List rdsInstances;
/**
* The scaling mode of the scaling group. Valid values:
*
* release
: the standard mode. ECS instances are created and released based on resource usage.
* recycle
: the swift mode. ECS instances are created, stopped, or started during scaling events. This reduces the time required for the next scale-out event. When the instance is stopped, you are charged only for the storage service. This does not apply to ECS instances that are attached with local disks.
*
* Default value: release
.
*
* example:
* release
*/
@NameInMap("scaling_policy")
public String scalingPolicy;
/**
* The ID of the security group to which you want to add the node pool. You must specify this parameter or the security_group_ids
parameter. We recommend that you specify security_group_ids
.
*
* example:
* sg-wz9a8g2mt6x5llu0****
*/
@NameInMap("security_group_id")
@Deprecated
public String securityGroupId;
/**
* The IDs of security groups. You must specify this parameter or security_group_id
. We recommend that you specify security_group_ids
. If you specify both security_group_id
and security_group_ids
, security_group_ids
is used.
*/
@NameInMap("security_group_ids")
public java.util.List securityGroupIds;
/**
* Specifies whether to enable Alibaba Cloud Linux Security Hardening. Valid values:
*
* true
: enables Alibaba Cloud Linux Security Hardening.
* false
: disables Alibaba Cloud Linux Security Hardening.
*
* Default value: false
.
*/
@NameInMap("security_hardening_os")
public Boolean securityHardeningOs;
/**
* Specifies whether to enable MLPS Security Hardening. You can enable MLPS Security Hardening only when Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3 is installed on nodes. Alibaba Cloud provides standards for baseline checks and a scanner to ensure the compliance of Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 images with the level 3 standards of MLPS 2.0.
*
* example:
* false
*/
@NameInMap("soc_enabled")
public Boolean socEnabled;
/**
* The number of instance types that are available for creating preemptible instances. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.
*
* example:
* 5
*/
@NameInMap("spot_instance_pools")
public Long spotInstancePools;
/**
* Specifies whether to supplement preemptible instances. If you set this parameter to true, when the scaling group receives a system message indicating that a preemptible instance is to be reclaimed, the scaling group creates a new instance to replace this instance. Valid values:
*
* true
: supplements preemptible instances.
* false
: does not supplement preemptible instances.
*
*
* example:
* false
*/
@NameInMap("spot_instance_remedy")
public Boolean spotInstanceRemedy;
/**
* The instance type of preemptible instances and the price cap for the instance type.
*/
@NameInMap("spot_price_limit")
public java.util.List spotPriceLimit;
/**
* The bidding policy of preemptible instances. Valid values:
*
* NoSpot
: non-preemptible.
* SpotWithPriceLimit
: specifies the highest bid.
* SpotAsPriceGo
: automatically submits bids based on the up-to-date market price.
*
* For more information, see Preemptible instances.
*
* example:
* NoSpot
*/
@NameInMap("spot_strategy")
public String spotStrategy;
/**
* Specifies whether to enable the burst feature for the system disk. Valid values:
*
* - true: enables the burst feature.
* - false: disables the burst feature.
*
* This parameter is available only when SystemDiskCategory
is set to cloud_auto
. For more information, see ESSD AutoPL disks.
*
* example:
* true
*/
@NameInMap("system_disk_bursting_enabled")
public Boolean systemDiskBurstingEnabled;
/**
* The system disk types. The system creates system disks of a disk type with a lower priority if the disk type with a higher priority is unavailable. Valid values:
*
* cloud
: basic disk.
* cloud_efficiency
: ultra disk.
* cloud_ssd
: standard SSD.
* cloud_essd
: ESSD.
* cloud_auto
: ESSD AutoPL disk.
* cloud_essd_entry
: ESSD Entry disk.
*
*/
@NameInMap("system_disk_categories")
public java.util.List systemDiskCategories;
/**
* The system disk type. Valid values:
*
* cloud
: basic disk.
* cloud_efficiency
: ultra disk.
* cloud_ssd
: standard SSD.
* cloud_essd
: Enterprise SSD (ESSD).
* cloud_auto
: ESSD AutoPL disk.
* cloud_essd_entry
: ESSD Entry disk.
*
* Default value: cloud_efficiency
.
*
* example:
* cloud_efficiency
*/
@NameInMap("system_disk_category")
public String systemDiskCategory;
/**
* The encryption algorithm that is used to encrypt the system disk. Set the value to aes-256.
*
* example:
* aes-256
*/
@NameInMap("system_disk_encrypt_algorithm")
public String systemDiskEncryptAlgorithm;
/**
* Specifies whether to encrypt the system disk. Valid values: true: encrypts the system disk. false: does not encrypt the system disk.
*
* example:
* false
*/
@NameInMap("system_disk_encrypted")
public Boolean systemDiskEncrypted;
/**
* The ID of the Key Management Service (KMS) key that is used to encrypt the system disk.
*
* example:
* 0e478b7a-4262-4802-b8cb-00d3fb40****
*/
@NameInMap("system_disk_kms_key_id")
public String systemDiskKmsKeyId;
/**
* The performance level (PL) of the system disk. This parameter takes effect only for an ESSD.
*
* - PL0: moderate maximum concurrent I/O performance and low I/O latency.
* - PL1: moderate maximum concurrent I/O performance and low I/O latency.
* - PL2: high maximum concurrent I/O performance and low I/O latency.
* - PL3: ultra-high maximum concurrent I/O performance and ultra-low I/O latency.
*
*
* Disks support all of the preceding PLs. However, when you create a disk, the available PLs vary based on the ECS instance type that you selected. For more information, see Overview of ECS instance families.
*
*
* example:
* PL1
*/
@NameInMap("system_disk_performance_level")
public String systemDiskPerformanceLevel;
/**
* The preset read/write IOPS of the system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS} Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.
* This parameter is available only when SystemDiskCategory
is set to cloud_auto
. For more information, see ESSD AutoPL disks.
*
* example:
* 1000
*/
@NameInMap("system_disk_provisioned_iops")
public Long systemDiskProvisionedIops;
/**
* The size of the system disk. Unit: GiB.
* Valid values: 20 to 20248.
*
* example:
* 120
*/
@NameInMap("system_disk_size")
public Long systemDiskSize;
/**
* The labels that you want to add only to ECS instances.
* The label key must be unique and cannot exceed 128 characters in length. The label key and value cannot start with aliyun or acs: and cannot contain https:// or http://.
*/
@NameInMap("tags")
public java.util.List tags;
/**
* The vSwitch IDs. You can specify one to eight vSwitch IDs.
*
* To ensure high availability, we recommend that you select vSwitches that reside in different zones.
*
* This parameter is required.
*/
@NameInMap("vswitch_ids")
public java.util.List vswitchIds;
public static CreateClusterNodePoolRequestScalingGroup build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestScalingGroup self = new CreateClusterNodePoolRequestScalingGroup();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestScalingGroup setAutoRenew(Boolean autoRenew) {
this.autoRenew = autoRenew;
return this;
}
public Boolean getAutoRenew() {
return this.autoRenew;
}
public CreateClusterNodePoolRequestScalingGroup setAutoRenewPeriod(Long autoRenewPeriod) {
this.autoRenewPeriod = autoRenewPeriod;
return this;
}
public Long getAutoRenewPeriod() {
return this.autoRenewPeriod;
}
public CreateClusterNodePoolRequestScalingGroup setCisEnabled(Boolean cisEnabled) {
this.cisEnabled = cisEnabled;
return this;
}
public Boolean getCisEnabled() {
return this.cisEnabled;
}
public CreateClusterNodePoolRequestScalingGroup setCompensateWithOnDemand(Boolean compensateWithOnDemand) {
this.compensateWithOnDemand = compensateWithOnDemand;
return this;
}
public Boolean getCompensateWithOnDemand() {
return this.compensateWithOnDemand;
}
public CreateClusterNodePoolRequestScalingGroup setDataDisks(java.util.List dataDisks) {
this.dataDisks = dataDisks;
return this;
}
public java.util.List getDataDisks() {
return this.dataDisks;
}
public CreateClusterNodePoolRequestScalingGroup setDeploymentsetId(String deploymentsetId) {
this.deploymentsetId = deploymentsetId;
return this;
}
public String getDeploymentsetId() {
return this.deploymentsetId;
}
public CreateClusterNodePoolRequestScalingGroup setDesiredSize(Long desiredSize) {
this.desiredSize = desiredSize;
return this;
}
public Long getDesiredSize() {
return this.desiredSize;
}
public CreateClusterNodePoolRequestScalingGroup setImageId(String imageId) {
this.imageId = imageId;
return this;
}
public String getImageId() {
return this.imageId;
}
public CreateClusterNodePoolRequestScalingGroup setImageType(String imageType) {
this.imageType = imageType;
return this;
}
public String getImageType() {
return this.imageType;
}
public CreateClusterNodePoolRequestScalingGroup setInstanceChargeType(String instanceChargeType) {
this.instanceChargeType = instanceChargeType;
return this;
}
public String getInstanceChargeType() {
return this.instanceChargeType;
}
public CreateClusterNodePoolRequestScalingGroup setInstancePatterns(java.util.List instancePatterns) {
this.instancePatterns = instancePatterns;
return this;
}
public java.util.List getInstancePatterns() {
return this.instancePatterns;
}
public CreateClusterNodePoolRequestScalingGroup setInstanceTypes(java.util.List instanceTypes) {
this.instanceTypes = instanceTypes;
return this;
}
public java.util.List getInstanceTypes() {
return this.instanceTypes;
}
public CreateClusterNodePoolRequestScalingGroup setInternetChargeType(String internetChargeType) {
this.internetChargeType = internetChargeType;
return this;
}
public String getInternetChargeType() {
return this.internetChargeType;
}
public CreateClusterNodePoolRequestScalingGroup setInternetMaxBandwidthOut(Long internetMaxBandwidthOut) {
this.internetMaxBandwidthOut = internetMaxBandwidthOut;
return this;
}
public Long getInternetMaxBandwidthOut() {
return this.internetMaxBandwidthOut;
}
public CreateClusterNodePoolRequestScalingGroup setKeyPair(String keyPair) {
this.keyPair = keyPair;
return this;
}
public String getKeyPair() {
return this.keyPair;
}
public CreateClusterNodePoolRequestScalingGroup setLoginAsNonRoot(Boolean loginAsNonRoot) {
this.loginAsNonRoot = loginAsNonRoot;
return this;
}
public Boolean getLoginAsNonRoot() {
return this.loginAsNonRoot;
}
public CreateClusterNodePoolRequestScalingGroup setLoginPassword(String loginPassword) {
this.loginPassword = loginPassword;
return this;
}
public String getLoginPassword() {
return this.loginPassword;
}
public CreateClusterNodePoolRequestScalingGroup setMultiAzPolicy(String multiAzPolicy) {
this.multiAzPolicy = multiAzPolicy;
return this;
}
public String getMultiAzPolicy() {
return this.multiAzPolicy;
}
public CreateClusterNodePoolRequestScalingGroup setOnDemandBaseCapacity(Long onDemandBaseCapacity) {
this.onDemandBaseCapacity = onDemandBaseCapacity;
return this;
}
public Long getOnDemandBaseCapacity() {
return this.onDemandBaseCapacity;
}
public CreateClusterNodePoolRequestScalingGroup setOnDemandPercentageAboveBaseCapacity(Long onDemandPercentageAboveBaseCapacity) {
this.onDemandPercentageAboveBaseCapacity = onDemandPercentageAboveBaseCapacity;
return this;
}
public Long getOnDemandPercentageAboveBaseCapacity() {
return this.onDemandPercentageAboveBaseCapacity;
}
public CreateClusterNodePoolRequestScalingGroup setPeriod(Long period) {
this.period = period;
return this;
}
public Long getPeriod() {
return this.period;
}
public CreateClusterNodePoolRequestScalingGroup setPeriodUnit(String periodUnit) {
this.periodUnit = periodUnit;
return this;
}
public String getPeriodUnit() {
return this.periodUnit;
}
public CreateClusterNodePoolRequestScalingGroup setPlatform(String platform) {
this.platform = platform;
return this;
}
public String getPlatform() {
return this.platform;
}
public CreateClusterNodePoolRequestScalingGroup setPrivatePoolOptions(CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions privatePoolOptions) {
this.privatePoolOptions = privatePoolOptions;
return this;
}
public CreateClusterNodePoolRequestScalingGroupPrivatePoolOptions getPrivatePoolOptions() {
return this.privatePoolOptions;
}
public CreateClusterNodePoolRequestScalingGroup setRamRoleName(String ramRoleName) {
this.ramRoleName = ramRoleName;
return this;
}
public String getRamRoleName() {
return this.ramRoleName;
}
public CreateClusterNodePoolRequestScalingGroup setRdsInstances(java.util.List rdsInstances) {
this.rdsInstances = rdsInstances;
return this;
}
public java.util.List getRdsInstances() {
return this.rdsInstances;
}
public CreateClusterNodePoolRequestScalingGroup setScalingPolicy(String scalingPolicy) {
this.scalingPolicy = scalingPolicy;
return this;
}
public String getScalingPolicy() {
return this.scalingPolicy;
}
public CreateClusterNodePoolRequestScalingGroup setSecurityGroupId(String securityGroupId) {
this.securityGroupId = securityGroupId;
return this;
}
public String getSecurityGroupId() {
return this.securityGroupId;
}
public CreateClusterNodePoolRequestScalingGroup setSecurityGroupIds(java.util.List securityGroupIds) {
this.securityGroupIds = securityGroupIds;
return this;
}
public java.util.List getSecurityGroupIds() {
return this.securityGroupIds;
}
public CreateClusterNodePoolRequestScalingGroup setSecurityHardeningOs(Boolean securityHardeningOs) {
this.securityHardeningOs = securityHardeningOs;
return this;
}
public Boolean getSecurityHardeningOs() {
return this.securityHardeningOs;
}
public CreateClusterNodePoolRequestScalingGroup setSocEnabled(Boolean socEnabled) {
this.socEnabled = socEnabled;
return this;
}
public Boolean getSocEnabled() {
return this.socEnabled;
}
public CreateClusterNodePoolRequestScalingGroup setSpotInstancePools(Long spotInstancePools) {
this.spotInstancePools = spotInstancePools;
return this;
}
public Long getSpotInstancePools() {
return this.spotInstancePools;
}
public CreateClusterNodePoolRequestScalingGroup setSpotInstanceRemedy(Boolean spotInstanceRemedy) {
this.spotInstanceRemedy = spotInstanceRemedy;
return this;
}
public Boolean getSpotInstanceRemedy() {
return this.spotInstanceRemedy;
}
public CreateClusterNodePoolRequestScalingGroup setSpotPriceLimit(java.util.List spotPriceLimit) {
this.spotPriceLimit = spotPriceLimit;
return this;
}
public java.util.List getSpotPriceLimit() {
return this.spotPriceLimit;
}
public CreateClusterNodePoolRequestScalingGroup setSpotStrategy(String spotStrategy) {
this.spotStrategy = spotStrategy;
return this;
}
public String getSpotStrategy() {
return this.spotStrategy;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskBurstingEnabled(Boolean systemDiskBurstingEnabled) {
this.systemDiskBurstingEnabled = systemDiskBurstingEnabled;
return this;
}
public Boolean getSystemDiskBurstingEnabled() {
return this.systemDiskBurstingEnabled;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskCategories(java.util.List systemDiskCategories) {
this.systemDiskCategories = systemDiskCategories;
return this;
}
public java.util.List getSystemDiskCategories() {
return this.systemDiskCategories;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskCategory(String systemDiskCategory) {
this.systemDiskCategory = systemDiskCategory;
return this;
}
public String getSystemDiskCategory() {
return this.systemDiskCategory;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskEncryptAlgorithm(String systemDiskEncryptAlgorithm) {
this.systemDiskEncryptAlgorithm = systemDiskEncryptAlgorithm;
return this;
}
public String getSystemDiskEncryptAlgorithm() {
return this.systemDiskEncryptAlgorithm;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskEncrypted(Boolean systemDiskEncrypted) {
this.systemDiskEncrypted = systemDiskEncrypted;
return this;
}
public Boolean getSystemDiskEncrypted() {
return this.systemDiskEncrypted;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskKmsKeyId(String systemDiskKmsKeyId) {
this.systemDiskKmsKeyId = systemDiskKmsKeyId;
return this;
}
public String getSystemDiskKmsKeyId() {
return this.systemDiskKmsKeyId;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskPerformanceLevel(String systemDiskPerformanceLevel) {
this.systemDiskPerformanceLevel = systemDiskPerformanceLevel;
return this;
}
public String getSystemDiskPerformanceLevel() {
return this.systemDiskPerformanceLevel;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskProvisionedIops(Long systemDiskProvisionedIops) {
this.systemDiskProvisionedIops = systemDiskProvisionedIops;
return this;
}
public Long getSystemDiskProvisionedIops() {
return this.systemDiskProvisionedIops;
}
public CreateClusterNodePoolRequestScalingGroup setSystemDiskSize(Long systemDiskSize) {
this.systemDiskSize = systemDiskSize;
return this;
}
public Long getSystemDiskSize() {
return this.systemDiskSize;
}
public CreateClusterNodePoolRequestScalingGroup setTags(java.util.List tags) {
this.tags = tags;
return this;
}
public java.util.List getTags() {
return this.tags;
}
public CreateClusterNodePoolRequestScalingGroup setVswitchIds(java.util.List vswitchIds) {
this.vswitchIds = vswitchIds;
return this;
}
public java.util.List getVswitchIds() {
return this.vswitchIds;
}
}
public static class CreateClusterNodePoolRequestTeeConfig extends TeaModel {
/**
* Specifies whether to enable confidential computing for the cluster.
*
* example:
* true
*/
@NameInMap("tee_enable")
public Boolean teeEnable;
public static CreateClusterNodePoolRequestTeeConfig build(java.util.Map map) throws Exception {
CreateClusterNodePoolRequestTeeConfig self = new CreateClusterNodePoolRequestTeeConfig();
return TeaModel.build(map, self);
}
public CreateClusterNodePoolRequestTeeConfig setTeeEnable(Boolean teeEnable) {
this.teeEnable = teeEnable;
return this;
}
public Boolean getTeeEnable() {
return this.teeEnable;
}
}
}