pulumi-alicloud 3.84.0a1756507491__py3-none-any.whl → 3.85.0a1757389637__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-alicloud might be problematic. Click here for more details.

Files changed (283) hide show
  1. pulumi_alicloud/__init__.py +172 -0
  2. pulumi_alicloud/_inputs.py +635 -0
  3. pulumi_alicloud/ackone/membership_attachment.py +122 -0
  4. pulumi_alicloud/actiontrail/__init__.py +1 -0
  5. pulumi_alicloud/actiontrail/advanced_query_template.py +311 -0
  6. pulumi_alicloud/actiontrail/trail.py +303 -149
  7. pulumi_alicloud/actiontrail/trail_deprecated.py +131 -23
  8. pulumi_alicloud/alb/a_script.py +170 -0
  9. pulumi_alicloud/alb/get_rules.py +206 -0
  10. pulumi_alicloud/alb/listener.py +240 -0
  11. pulumi_alicloud/alb/listener_acl_attachment.py +180 -0
  12. pulumi_alicloud/alb/listener_additional_certificate_attachment.py +314 -0
  13. pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +136 -0
  14. pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py +122 -0
  15. pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py +124 -0
  16. pulumi_alicloud/alb/rule.py +202 -0
  17. pulumi_alicloud/alikafka/sasl_user.py +2 -2
  18. pulumi_alicloud/amqp/get_instances.py +49 -20
  19. pulumi_alicloud/amqp/outputs.py +20 -20
  20. pulumi_alicloud/amqp/virtual_host.py +46 -20
  21. pulumi_alicloud/apig/environment.py +86 -0
  22. pulumi_alicloud/arms/__init__.py +6 -0
  23. pulumi_alicloud/arms/addon_release.py +174 -0
  24. pulumi_alicloud/arms/env_feature.py +158 -0
  25. pulumi_alicloud/arms/env_pod_monitor.py +206 -0
  26. pulumi_alicloud/arms/env_service_monitor.py +204 -0
  27. pulumi_alicloud/arms/environment.py +150 -0
  28. pulumi_alicloud/arms/get_addon_releases.py +354 -0
  29. pulumi_alicloud/arms/get_env_custom_jobs.py +268 -0
  30. pulumi_alicloud/arms/get_env_features.py +342 -0
  31. pulumi_alicloud/arms/get_env_pod_monitors.py +390 -0
  32. pulumi_alicloud/arms/get_env_service_monitors.py +388 -0
  33. pulumi_alicloud/arms/get_environments.py +282 -0
  34. pulumi_alicloud/arms/outputs.py +620 -0
  35. pulumi_alicloud/arms/prometheus_monitoring.py +190 -0
  36. pulumi_alicloud/cen/transit_router_multicast_domain_member.py +118 -0
  37. pulumi_alicloud/cen/transit_router_multicast_domain_source.py +160 -0
  38. pulumi_alicloud/cfg/aggregate_delivery.py +100 -0
  39. pulumi_alicloud/cfg/delivery_channel.py +54 -0
  40. pulumi_alicloud/cloudauth/face_config.py +48 -0
  41. pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py +236 -0
  42. pulumi_alicloud/cloudmonitor/__init__.py +1 -0
  43. pulumi_alicloud/cloudmonitor/get_service_metric_alarm_rules.py +333 -0
  44. pulumi_alicloud/cloudmonitor/outputs.py +696 -0
  45. pulumi_alicloud/cloudsso/__init__.py +1 -0
  46. pulumi_alicloud/cloudsso/access_configuration.py +12 -12
  47. pulumi_alicloud/cloudsso/access_configuration_provisioning.py +84 -0
  48. pulumi_alicloud/cloudsso/access_management.py +90 -0
  49. pulumi_alicloud/cloudsso/delegate_account.py +218 -0
  50. pulumi_alicloud/cloudsso/group.py +60 -0
  51. pulumi_alicloud/cloudsso/user.py +66 -0
  52. pulumi_alicloud/cloudsso/user_attachment.py +82 -0
  53. pulumi_alicloud/cloudstoragegateway/express_sync.py +154 -0
  54. pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py +160 -0
  55. pulumi_alicloud/cloudstoragegateway/gateway.py +0 -13
  56. pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py +132 -0
  57. pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py +92 -0
  58. pulumi_alicloud/cloudstoragegateway/gateway_file_share.py +130 -0
  59. pulumi_alicloud/cloudstoragegateway/gateway_logging.py +120 -0
  60. pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py +92 -0
  61. pulumi_alicloud/cms/alarm.py +4 -4
  62. pulumi_alicloud/cms/get_site_monitors.py +20 -20
  63. pulumi_alicloud/cms/hybrid_monitor_fc_task.py +24 -24
  64. pulumi_alicloud/cms/hybrid_monitor_sls_task.py +164 -0
  65. pulumi_alicloud/cms/site_monitor.py +20 -20
  66. pulumi_alicloud/cms/sls_group.py +80 -0
  67. pulumi_alicloud/compute/nest_service_instance.py +10 -10
  68. pulumi_alicloud/cs/_inputs.py +565 -0
  69. pulumi_alicloud/cs/autoscaling_config.py +260 -35
  70. pulumi_alicloud/cs/get_cluster_credential.py +30 -0
  71. pulumi_alicloud/cs/get_kubernetes_addon_metadata.py +78 -0
  72. pulumi_alicloud/cs/get_kubernetes_addons.py +72 -0
  73. pulumi_alicloud/cs/get_kubernetes_node_pools.py +124 -0
  74. pulumi_alicloud/cs/kubernetes.py +296 -0
  75. pulumi_alicloud/cs/kubernetes_addon.py +108 -0
  76. pulumi_alicloud/cs/kubernetes_permission.py +162 -0
  77. pulumi_alicloud/cs/managed_kubernetes.py +583 -14
  78. pulumi_alicloud/cs/node_pool.py +423 -0
  79. pulumi_alicloud/cs/outputs.py +374 -0
  80. pulumi_alicloud/dataworks/data_source_shared_rule.py +116 -0
  81. pulumi_alicloud/dataworks/dw_resource_group.py +82 -0
  82. pulumi_alicloud/dataworks/network.py +100 -0
  83. pulumi_alicloud/ddos/bgp_ip.py +57 -48
  84. pulumi_alicloud/ddos/ddos_bgp_instance.py +246 -106
  85. pulumi_alicloud/ddos/domain_resource.py +6 -6
  86. pulumi_alicloud/directmail/mail_address.py +62 -0
  87. pulumi_alicloud/directmail/receivers.py +40 -0
  88. pulumi_alicloud/dms/__init__.py +1 -0
  89. pulumi_alicloud/dms/enterprise_workspace.py +354 -0
  90. pulumi_alicloud/dns/access_strategy.py +152 -0
  91. pulumi_alicloud/dns/address_pool.py +4 -4
  92. pulumi_alicloud/dns/ddos_bgp_instance.py +246 -106
  93. pulumi_alicloud/dts/job_monitor_rule.py +228 -0
  94. pulumi_alicloud/dts/migration_job.py +238 -0
  95. pulumi_alicloud/dts/synchronization_job.py +266 -14
  96. pulumi_alicloud/ebs/disk_replica_pair.py +112 -0
  97. pulumi_alicloud/ecs/ecs_network_interface_permission.py +84 -0
  98. pulumi_alicloud/ecs/image_import.py +2 -2
  99. pulumi_alicloud/ecs/ram_role_attachment.py +28 -28
  100. pulumi_alicloud/edas/k8s_application.py +124 -0
  101. pulumi_alicloud/edas/k8s_cluster.py +104 -0
  102. pulumi_alicloud/edas/k8s_slb_attachment.py +152 -0
  103. pulumi_alicloud/eflo/__init__.py +2 -0
  104. pulumi_alicloud/eflo/_inputs.py +94 -0
  105. pulumi_alicloud/eflo/er.py +487 -0
  106. pulumi_alicloud/eflo/node.py +54 -7
  107. pulumi_alicloud/eflo/node_group_attachment.py +604 -0
  108. pulumi_alicloud/eflo/outputs.py +75 -0
  109. pulumi_alicloud/emr/cluster.py +64 -64
  110. pulumi_alicloud/emr/get_clusters.py +16 -16
  111. pulumi_alicloud/emrv2/cluster.py +16 -16
  112. pulumi_alicloud/emrv2/get_cluster_instances.py +16 -16
  113. pulumi_alicloud/esa/__init__.py +7 -0
  114. pulumi_alicloud/esa/kv_account.py +145 -0
  115. pulumi_alicloud/esa/origin_ca_certificate.py +441 -0
  116. pulumi_alicloud/esa/origin_client_certificate.py +564 -0
  117. pulumi_alicloud/esa/origin_protection.py +290 -0
  118. pulumi_alicloud/esa/routine_related_record.py +226 -0
  119. pulumi_alicloud/esa/site_origin_client_certificate.py +515 -0
  120. pulumi_alicloud/esa/url_observation.py +352 -0
  121. pulumi_alicloud/eventbridge/rule.py +102 -0
  122. pulumi_alicloud/fc/_inputs.py +77 -3
  123. pulumi_alicloud/fc/custom_domain.py +14 -14
  124. pulumi_alicloud/fc/function.py +14 -14
  125. pulumi_alicloud/fc/function_async_invoke_config.py +48 -48
  126. pulumi_alicloud/fc/get_service.py +2 -2
  127. pulumi_alicloud/fc/outputs.py +63 -2
  128. pulumi_alicloud/fc/trigger.py +100 -100
  129. pulumi_alicloud/fc/v3_async_invoke_config.py +154 -0
  130. pulumi_alicloud/fc/v3_function.py +189 -3
  131. pulumi_alicloud/fc/v3_function_version.py +30 -2
  132. pulumi_alicloud/fnf/execution.py +14 -14
  133. pulumi_alicloud/fnf/flow.py +14 -14
  134. pulumi_alicloud/ga/additional_certificate.py +236 -0
  135. pulumi_alicloud/gpdb/hadoop_data_source.py +16 -16
  136. pulumi_alicloud/gpdb/streaming_job.py +4 -4
  137. pulumi_alicloud/gwlb/listener.py +172 -0
  138. pulumi_alicloud/gwlb/load_balancer.py +96 -0
  139. pulumi_alicloud/gwlb/server_group.py +160 -0
  140. pulumi_alicloud/hbr/ecs_backup_plan.py +4 -4
  141. pulumi_alicloud/hbr/ots_backup_plan.py +28 -28
  142. pulumi_alicloud/hbr/restore_job.py +4 -4
  143. pulumi_alicloud/hologram/instance.py +35 -0
  144. pulumi_alicloud/imm/project.py +14 -14
  145. pulumi_alicloud/kms/get_aliases.py +6 -6
  146. pulumi_alicloud/kms/get_instances.py +178 -0
  147. pulumi_alicloud/kms/instance.py +470 -16
  148. pulumi_alicloud/kms/policy.py +96 -0
  149. pulumi_alicloud/log/dashboard.py +40 -40
  150. pulumi_alicloud/log/ingestion.py +38 -38
  151. pulumi_alicloud/log/log_tail_attachment.py +20 -20
  152. pulumi_alicloud/log/log_tail_config.py +20 -20
  153. pulumi_alicloud/log/oss_export.py +6 -0
  154. pulumi_alicloud/log/project.py +20 -20
  155. pulumi_alicloud/log/resource.py +22 -22
  156. pulumi_alicloud/log/resource_record.py +40 -40
  157. pulumi_alicloud/maxcompute/get_service.py +2 -2
  158. pulumi_alicloud/message/__init__.py +1 -0
  159. pulumi_alicloud/message/_inputs.py +141 -0
  160. pulumi_alicloud/message/outputs.py +120 -0
  161. pulumi_alicloud/message/service_event_rule.py +490 -0
  162. pulumi_alicloud/message/service_subscription.py +48 -1
  163. pulumi_alicloud/mongodb/__init__.py +1 -0
  164. pulumi_alicloud/mongodb/global_security_ip_group.py +304 -0
  165. pulumi_alicloud/mongodb/instance.py +47 -0
  166. pulumi_alicloud/mongodb/sharding_instance.py +385 -0
  167. pulumi_alicloud/msc_sub_webhook.py +44 -0
  168. pulumi_alicloud/mse/cluster.py +47 -0
  169. pulumi_alicloud/mse/gateway.py +62 -0
  170. pulumi_alicloud/nas/access_group.py +46 -18
  171. pulumi_alicloud/nas/access_rule.py +28 -0
  172. pulumi_alicloud/nas/data_flow.py +114 -0
  173. pulumi_alicloud/nlb/listener_additional_certificate_attachment.py +328 -0
  174. pulumi_alicloud/nlb/server_group.py +28 -21
  175. pulumi_alicloud/oos/execution.py +30 -30
  176. pulumi_alicloud/oos/get_parameters.py +10 -10
  177. pulumi_alicloud/oos/get_secret_parameters.py +10 -10
  178. pulumi_alicloud/oos/template.py +28 -28
  179. pulumi_alicloud/oss/bucket.py +634 -0
  180. pulumi_alicloud/oss/bucket_replication.py +56 -56
  181. pulumi_alicloud/outputs.py +489 -0
  182. pulumi_alicloud/pai/flow_pipeline.py +70 -70
  183. pulumi_alicloud/pai/workspace_datasetversion.py +108 -0
  184. pulumi_alicloud/pai/workspace_run.py +62 -0
  185. pulumi_alicloud/polardb/cluster.py +7 -7
  186. pulumi_alicloud/privatelink/vpc_endpoint.py +21 -7
  187. pulumi_alicloud/privatelink/vpc_endpoint_service.py +11 -11
  188. pulumi_alicloud/pulumi-plugin.json +1 -1
  189. pulumi_alicloud/pvtz/endpoint.py +96 -0
  190. pulumi_alicloud/pvtz/rule.py +122 -0
  191. pulumi_alicloud/pvtz/rule_attachment.py +150 -0
  192. pulumi_alicloud/ram/get_policies.py +18 -18
  193. pulumi_alicloud/ram/get_policy_document.py +2 -2
  194. pulumi_alicloud/ram/get_role_policy_attachments.py +34 -34
  195. pulumi_alicloud/ram/get_users.py +32 -32
  196. pulumi_alicloud/ram/group_membership.py +74 -0
  197. pulumi_alicloud/ram/group_policy_attachment.py +18 -18
  198. pulumi_alicloud/ram/policy.py +18 -18
  199. pulumi_alicloud/ram/role.py +16 -16
  200. pulumi_alicloud/ram/role_attachment.py +14 -14
  201. pulumi_alicloud/ram/role_policy_attachment.py +34 -34
  202. pulumi_alicloud/ram/user_policy_attachment.py +18 -18
  203. pulumi_alicloud/rds/get_instance_classes.py +6 -4
  204. pulumi_alicloud/rds/outputs.py +4 -0
  205. pulumi_alicloud/rds/rds_clone_db_instance.py +8 -1
  206. pulumi_alicloud/resourcemanager/__init__.py +1 -0
  207. pulumi_alicloud/resourcemanager/auto_grouping_rule.py +24 -24
  208. pulumi_alicloud/resourcemanager/control_policy.py +18 -18
  209. pulumi_alicloud/resourcemanager/control_policy_attachment.py +18 -18
  210. pulumi_alicloud/resourcemanager/delegated_administrator.py +22 -50
  211. pulumi_alicloud/resourcemanager/folder.py +106 -29
  212. pulumi_alicloud/resourcemanager/get_accounts.py +35 -18
  213. pulumi_alicloud/resourcemanager/get_shared_resources.py +64 -0
  214. pulumi_alicloud/resourcemanager/message_contact.py +572 -0
  215. pulumi_alicloud/resourcemanager/outputs.py +31 -20
  216. pulumi_alicloud/resourcemanager/policy.py +16 -16
  217. pulumi_alicloud/resourcemanager/policy_attachment.py +82 -0
  218. pulumi_alicloud/resourcemanager/policy_version.py +32 -32
  219. pulumi_alicloud/resourcemanager/resource_directory.py +137 -46
  220. pulumi_alicloud/resourcemanager/role.py +14 -14
  221. pulumi_alicloud/resourcemanager/shared_resource.py +81 -45
  222. pulumi_alicloud/resourcemanager/shared_target.py +60 -24
  223. pulumi_alicloud/rocketmq/qos_policy.py +70 -0
  224. pulumi_alicloud/ros/_inputs.py +70 -18
  225. pulumi_alicloud/ros/outputs.py +59 -12
  226. pulumi_alicloud/ros/stack.py +14 -14
  227. pulumi_alicloud/ros/stack_group.py +342 -223
  228. pulumi_alicloud/ros/template.py +2 -2
  229. pulumi_alicloud/sag/qos_policy.py +70 -0
  230. pulumi_alicloud/sddp/data_limit.py +148 -0
  231. pulumi_alicloud/sddp/rule.py +10 -10
  232. pulumi_alicloud/servicecatalog/principal_portfolio_association.py +16 -16
  233. pulumi_alicloud/servicecatalog/product_portfolio_association.py +54 -0
  234. pulumi_alicloud/sls/__init__.py +5 -0
  235. pulumi_alicloud/sls/_inputs.py +128 -0
  236. pulumi_alicloud/sls/collection_policy.py +276 -0
  237. pulumi_alicloud/sls/get_etls.py +294 -0
  238. pulumi_alicloud/sls/get_logtail_configs.py +395 -0
  239. pulumi_alicloud/sls/get_machine_groups.py +229 -0
  240. pulumi_alicloud/sls/logtail_config.py +692 -0
  241. pulumi_alicloud/sls/machine_group.py +502 -0
  242. pulumi_alicloud/sls/oss_export_sink.py +134 -0
  243. pulumi_alicloud/sls/outputs.py +449 -0
  244. pulumi_alicloud/sslcertificatesservice/__init__.py +9 -0
  245. pulumi_alicloud/sslcertificatesservice/pca_certificate.py +646 -0
  246. pulumi_alicloud/star_rocks_instance.py +1425 -0
  247. pulumi_alicloud/tag/policy.py +2 -2
  248. pulumi_alicloud/tag/policy_attachment.py +2 -2
  249. pulumi_alicloud/threatdetection/__init__.py +1 -0
  250. pulumi_alicloud/threatdetection/_inputs.py +183 -0
  251. pulumi_alicloud/threatdetection/anti_brute_force_rule.py +50 -1
  252. pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py +218 -0
  253. pulumi_alicloud/threatdetection/image_event_operation.py +191 -90
  254. pulumi_alicloud/threatdetection/oss_scan_config.py +257 -65
  255. pulumi_alicloud/threatdetection/outputs.py +147 -0
  256. pulumi_alicloud/vod/editing_project.py +8 -8
  257. pulumi_alicloud/vpc/_inputs.py +87 -54
  258. pulumi_alicloud/vpc/common_bandwith_package.py +28 -0
  259. pulumi_alicloud/vpc/dhcp_options_set.py +97 -58
  260. pulumi_alicloud/vpc/flow_log.py +117 -25
  261. pulumi_alicloud/vpc/gateway_endpoint.py +12 -12
  262. pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py +12 -12
  263. pulumi_alicloud/vpc/ha_vip_attachment.py +41 -60
  264. pulumi_alicloud/vpc/ha_vipv2.py +100 -88
  265. pulumi_alicloud/vpc/ipam_ipam_pool.py +54 -0
  266. pulumi_alicloud/vpc/network_acl.py +34 -23
  267. pulumi_alicloud/vpc/outputs.py +58 -36
  268. pulumi_alicloud/vpc/route_entry.py +6 -2
  269. pulumi_alicloud/vpc/vbr_ha.py +100 -0
  270. pulumi_alicloud/vpc/vpc_network_acl_attachment.py +48 -0
  271. pulumi_alicloud/vpn/get_gateways.py +98 -0
  272. pulumi_alicloud/vpn/ssl_vpn_client_cert.py +82 -0
  273. pulumi_alicloud/vpn/ssl_vpn_server.py +76 -0
  274. pulumi_alicloud/wafv3/__init__.py +1 -0
  275. pulumi_alicloud/wafv3/_inputs.py +1318 -182
  276. pulumi_alicloud/wafv3/defense_rule.py +806 -0
  277. pulumi_alicloud/wafv3/defense_template.py +87 -124
  278. pulumi_alicloud/wafv3/domain.py +136 -35
  279. pulumi_alicloud/wafv3/outputs.py +925 -123
  280. {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0a1757389637.dist-info}/METADATA +1 -1
  281. {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0a1757389637.dist-info}/RECORD +283 -251
  282. {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0a1757389637.dist-info}/WHEEL +0 -0
  283. {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0a1757389637.dist-info}/top_level.txt +0 -0
@@ -26,6 +26,7 @@ class AutoscalingConfigArgs:
26
26
  gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
27
27
  max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
28
28
  min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
29
+ priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
29
30
  recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
30
31
  scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
31
32
  scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -38,21 +39,22 @@ class AutoscalingConfigArgs:
38
39
  """
39
40
  The set of arguments for constructing a AutoscalingConfig resource.
40
41
  :param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
41
- :param pulumi.Input[_builtins.str] cool_down_duration: The cool down duration. Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
42
+ :param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
42
43
  :param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
43
- :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
44
+ :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
44
45
  :param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
45
46
  :param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
46
47
  :param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
48
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
47
49
  :param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
48
50
  :param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
49
51
  :param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
50
- :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
52
+ :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
51
53
  :param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
52
54
  :param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
53
55
  :param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
54
- :param pulumi.Input[_builtins.str] unneeded_duration: The unneeded duration. Default is `10m`.
55
- :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
56
+ :param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
57
+ :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
56
58
  """
57
59
  if cluster_id is not None:
58
60
  pulumi.set(__self__, "cluster_id", cluster_id)
@@ -68,6 +70,8 @@ class AutoscalingConfigArgs:
68
70
  pulumi.set(__self__, "max_graceful_termination_sec", max_graceful_termination_sec)
69
71
  if min_replica_count is not None:
70
72
  pulumi.set(__self__, "min_replica_count", min_replica_count)
73
+ if priorities is not None:
74
+ pulumi.set(__self__, "priorities", priorities)
71
75
  if recycle_node_deletion_enabled is not None:
72
76
  pulumi.set(__self__, "recycle_node_deletion_enabled", recycle_node_deletion_enabled)
73
77
  if scale_down_enabled is not None:
@@ -103,7 +107,7 @@ class AutoscalingConfigArgs:
103
107
  @pulumi.getter(name="coolDownDuration")
104
108
  def cool_down_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
105
109
  """
106
- The cool down duration. Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
110
+ Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
107
111
  """
108
112
  return pulumi.get(self, "cool_down_duration")
109
113
 
@@ -127,7 +131,7 @@ class AutoscalingConfigArgs:
127
131
  @pulumi.getter
128
132
  def expander(self) -> Optional[pulumi.Input[_builtins.str]]:
129
133
  """
130
- The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
134
+ The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
131
135
  """
132
136
  return pulumi.get(self, "expander")
133
137
 
@@ -171,6 +175,18 @@ class AutoscalingConfigArgs:
171
175
  def min_replica_count(self, value: Optional[pulumi.Input[_builtins.int]]):
172
176
  pulumi.set(self, "min_replica_count", value)
173
177
 
178
+ @_builtins.property
179
+ @pulumi.getter
180
+ def priorities(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
181
+ """
182
+ Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
183
+ """
184
+ return pulumi.get(self, "priorities")
185
+
186
+ @priorities.setter
187
+ def priorities(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
188
+ pulumi.set(self, "priorities", value)
189
+
174
190
  @_builtins.property
175
191
  @pulumi.getter(name="recycleNodeDeletionEnabled")
176
192
  def recycle_node_deletion_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -211,7 +227,7 @@ class AutoscalingConfigArgs:
211
227
  @pulumi.getter(name="scalerType")
212
228
  def scaler_type(self) -> Optional[pulumi.Input[_builtins.str]]:
213
229
  """
214
- The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
230
+ The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
215
231
  """
216
232
  return pulumi.get(self, "scaler_type")
217
233
 
@@ -259,7 +275,7 @@ class AutoscalingConfigArgs:
259
275
  @pulumi.getter(name="unneededDuration")
260
276
  def unneeded_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
261
277
  """
262
- The unneeded duration. Default is `10m`.
278
+ Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
263
279
  """
264
280
  return pulumi.get(self, "unneeded_duration")
265
281
 
@@ -271,7 +287,7 @@ class AutoscalingConfigArgs:
271
287
  @pulumi.getter(name="utilizationThreshold")
272
288
  def utilization_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
273
289
  """
274
- The scale-in threshold. Default is `0.5`.
290
+ The scale-in a threshold. Default is `0.5`.
275
291
  """
276
292
  return pulumi.get(self, "utilization_threshold")
277
293
 
@@ -290,6 +306,7 @@ class _AutoscalingConfigState:
290
306
  gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
291
307
  max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
292
308
  min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
309
+ priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
293
310
  recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
294
311
  scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
295
312
  scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -302,21 +319,22 @@ class _AutoscalingConfigState:
302
319
  """
303
320
  Input properties used for looking up and filtering AutoscalingConfig resources.
304
321
  :param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
305
- :param pulumi.Input[_builtins.str] cool_down_duration: The cool down duration. Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
322
+ :param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
306
323
  :param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
307
- :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
324
+ :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
308
325
  :param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
309
326
  :param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
310
327
  :param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
328
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
311
329
  :param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
312
330
  :param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
313
331
  :param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
314
- :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
332
+ :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
315
333
  :param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
316
334
  :param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
317
335
  :param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
318
- :param pulumi.Input[_builtins.str] unneeded_duration: The unneeded duration. Default is `10m`.
319
- :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
336
+ :param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
337
+ :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
320
338
  """
321
339
  if cluster_id is not None:
322
340
  pulumi.set(__self__, "cluster_id", cluster_id)
@@ -332,6 +350,8 @@ class _AutoscalingConfigState:
332
350
  pulumi.set(__self__, "max_graceful_termination_sec", max_graceful_termination_sec)
333
351
  if min_replica_count is not None:
334
352
  pulumi.set(__self__, "min_replica_count", min_replica_count)
353
+ if priorities is not None:
354
+ pulumi.set(__self__, "priorities", priorities)
335
355
  if recycle_node_deletion_enabled is not None:
336
356
  pulumi.set(__self__, "recycle_node_deletion_enabled", recycle_node_deletion_enabled)
337
357
  if scale_down_enabled is not None:
@@ -367,7 +387,7 @@ class _AutoscalingConfigState:
367
387
  @pulumi.getter(name="coolDownDuration")
368
388
  def cool_down_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
369
389
  """
370
- The cool down duration. Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
390
+ Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
371
391
  """
372
392
  return pulumi.get(self, "cool_down_duration")
373
393
 
@@ -391,7 +411,7 @@ class _AutoscalingConfigState:
391
411
  @pulumi.getter
392
412
  def expander(self) -> Optional[pulumi.Input[_builtins.str]]:
393
413
  """
394
- The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
414
+ The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
395
415
  """
396
416
  return pulumi.get(self, "expander")
397
417
 
@@ -435,6 +455,18 @@ class _AutoscalingConfigState:
435
455
  def min_replica_count(self, value: Optional[pulumi.Input[_builtins.int]]):
436
456
  pulumi.set(self, "min_replica_count", value)
437
457
 
458
+ @_builtins.property
459
+ @pulumi.getter
460
+ def priorities(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
461
+ """
462
+ Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
463
+ """
464
+ return pulumi.get(self, "priorities")
465
+
466
+ @priorities.setter
467
+ def priorities(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
468
+ pulumi.set(self, "priorities", value)
469
+
438
470
  @_builtins.property
439
471
  @pulumi.getter(name="recycleNodeDeletionEnabled")
440
472
  def recycle_node_deletion_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -475,7 +507,7 @@ class _AutoscalingConfigState:
475
507
  @pulumi.getter(name="scalerType")
476
508
  def scaler_type(self) -> Optional[pulumi.Input[_builtins.str]]:
477
509
  """
478
- The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
510
+ The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
479
511
  """
480
512
  return pulumi.get(self, "scaler_type")
481
513
 
@@ -523,7 +555,7 @@ class _AutoscalingConfigState:
523
555
  @pulumi.getter(name="unneededDuration")
524
556
  def unneeded_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
525
557
  """
526
- The unneeded duration. Default is `10m`.
558
+ Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
527
559
  """
528
560
  return pulumi.get(self, "unneeded_duration")
529
561
 
@@ -535,7 +567,7 @@ class _AutoscalingConfigState:
535
567
  @pulumi.getter(name="utilizationThreshold")
536
568
  def utilization_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
537
569
  """
538
- The scale-in threshold. Default is `0.5`.
570
+ The scale-in a threshold. Default is `0.5`.
539
571
  """
540
572
  return pulumi.get(self, "utilization_threshold")
541
573
 
@@ -557,6 +589,7 @@ class AutoscalingConfig(pulumi.CustomResource):
557
589
  gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
558
590
  max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
559
591
  min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
592
+ priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
560
593
  recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
561
594
  scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
562
595
  scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -578,24 +611,114 @@ class AutoscalingConfig(pulumi.CustomResource):
578
611
 
579
612
  > **NOTE:** From version 1.237.0, support for selecting the type of autoscaler by parameter `scaler_type`.
580
613
 
614
+ > **NOTE:** From version 1.256.0, support for setting the priority of scaling groups by parameter `priorities`.
615
+
616
+ ## Example Usage
617
+
618
+ If you do not have an existing cluster, you need to create an ACK cluster through cs.ManagedKubernetes first, and then configure automatic scaling.
619
+
620
+ Basic Usage
621
+
622
+ ```python
623
+ import pulumi
624
+ import pulumi_alicloud as alicloud
625
+ import pulumi_std as std
626
+
627
+ config = pulumi.Config()
628
+ name = config.get("name")
629
+ if name is None:
630
+ name = "terraform-example"
631
+ default = alicloud.get_zones(available_resource_creation="VSwitch")
632
+ default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
633
+ cpu_core_count=4,
634
+ memory_size=8,
635
+ kubernetes_node_role="Worker",
636
+ system_disk_category="cloud_essd")
637
+ default_network = alicloud.vpc.Network("default",
638
+ vpc_name=name,
639
+ cidr_block="10.4.0.0/16")
640
+ default_switch = alicloud.vpc.Switch("default",
641
+ vswitch_name=name,
642
+ cidr_block="10.4.0.0/24",
643
+ vpc_id=default_network.id,
644
+ zone_id=default.zones[0].id)
645
+ default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
646
+ name_prefix=name,
647
+ cluster_spec="ack.pro.small",
648
+ worker_vswitch_ids=[default_switch.id],
649
+ new_nat_gateway=True,
650
+ pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
651
+ newbits=8,
652
+ netnum=36).result,
653
+ service_cidr=std.cidrsubnet(input="172.16.0.0/16",
654
+ newbits=4,
655
+ netnum=7).result,
656
+ slb_internet_enabled=True)
657
+ default_node_pool = []
658
+ for range in [{"value": i} for i in range(0, 3)]:
659
+ default_node_pool.append(alicloud.cs.NodePool(f"default-{range['value']}",
660
+ node_pool_name=std.format(input="%s-%d",
661
+ args=[
662
+ name,
663
+ range["value"],
664
+ ]).result,
665
+ cluster_id=default_managed_kubernetes.id,
666
+ vswitch_ids=[default_switch.id],
667
+ instance_types=[default_get_instance_types.instance_types[0].id],
668
+ system_disk_category="cloud_essd",
669
+ system_disk_size=40,
670
+ image_type="AliyunLinux3",
671
+ scaling_config={
672
+ "enable": True,
673
+ "min_size": 0,
674
+ "max_size": 10,
675
+ }))
676
+ default_autoscaling_config = alicloud.cs.AutoscalingConfig("default",
677
+ cluster_id=default_managed_kubernetes.id,
678
+ cool_down_duration="10m",
679
+ unneeded_duration="10m",
680
+ utilization_threshold="0.5",
681
+ gpu_utilization_threshold="0.5",
682
+ scan_interval="30s",
683
+ scale_down_enabled=True,
684
+ expander="priority",
685
+ skip_nodes_with_system_pods=True,
686
+ skip_nodes_with_local_storage=False,
687
+ daemonset_eviction_for_nodes=False,
688
+ max_graceful_termination_sec=14400,
689
+ min_replica_count=0,
690
+ recycle_node_deletion_enabled=False,
691
+ scale_up_from_zero=True,
692
+ scaler_type="cluster-autoscaler",
693
+ priorities={
694
+ "10": std.join_output(separator=",",
695
+ input=[
696
+ default_node_pool[0].scaling_group_id,
697
+ default_node_pool[1].scaling_group_id,
698
+ ]).apply(lambda invoke: invoke.result),
699
+ "20": default_node_pool[2].scaling_group_id,
700
+ })
701
+ ```
702
+
581
703
  :param str resource_name: The name of the resource.
582
704
  :param pulumi.ResourceOptions opts: Options for the resource.
583
705
  :param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
584
- :param pulumi.Input[_builtins.str] cool_down_duration: The cool down duration. Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
706
+ :param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
585
707
  :param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
586
- :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
708
+ :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
587
709
  :param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
588
710
  :param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
589
711
  :param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
712
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
590
713
  :param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
591
714
  :param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
592
715
  :param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
593
- :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
716
+ :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
594
717
  :param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
595
718
  :param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
596
719
  :param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
597
- :param pulumi.Input[_builtins.str] unneeded_duration: The unneeded duration. Default is `10m`.
598
- :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
720
+ :param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
721
+ :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
599
722
  """
600
723
  ...
601
724
  @overload
@@ -614,6 +737,95 @@ class AutoscalingConfig(pulumi.CustomResource):
614
737
 
615
738
  > **NOTE:** From version 1.237.0, support for selecting the type of autoscaler by parameter `scaler_type`.
616
739
 
740
+ > **NOTE:** From version 1.256.0, support for setting the priority of scaling groups by parameter `priorities`.
741
+
742
+ ## Example Usage
743
+
744
+ If you do not have an existing cluster, you need to create an ACK cluster through cs.ManagedKubernetes first, and then configure automatic scaling.
745
+
746
+ Basic Usage
747
+
748
+ ```python
749
+ import pulumi
750
+ import pulumi_alicloud as alicloud
751
+ import pulumi_std as std
752
+
753
+ config = pulumi.Config()
754
+ name = config.get("name")
755
+ if name is None:
756
+ name = "terraform-example"
757
+ default = alicloud.get_zones(available_resource_creation="VSwitch")
758
+ default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
759
+ cpu_core_count=4,
760
+ memory_size=8,
761
+ kubernetes_node_role="Worker",
762
+ system_disk_category="cloud_essd")
763
+ default_network = alicloud.vpc.Network("default",
764
+ vpc_name=name,
765
+ cidr_block="10.4.0.0/16")
766
+ default_switch = alicloud.vpc.Switch("default",
767
+ vswitch_name=name,
768
+ cidr_block="10.4.0.0/24",
769
+ vpc_id=default_network.id,
770
+ zone_id=default.zones[0].id)
771
+ default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
772
+ name_prefix=name,
773
+ cluster_spec="ack.pro.small",
774
+ worker_vswitch_ids=[default_switch.id],
775
+ new_nat_gateway=True,
776
+ pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
777
+ newbits=8,
778
+ netnum=36).result,
779
+ service_cidr=std.cidrsubnet(input="172.16.0.0/16",
780
+ newbits=4,
781
+ netnum=7).result,
782
+ slb_internet_enabled=True)
783
+ default_node_pool = []
784
+ for range in [{"value": i} for i in range(0, 3)]:
785
+ default_node_pool.append(alicloud.cs.NodePool(f"default-{range['value']}",
786
+ node_pool_name=std.format(input="%s-%d",
787
+ args=[
788
+ name,
789
+ range["value"],
790
+ ]).result,
791
+ cluster_id=default_managed_kubernetes.id,
792
+ vswitch_ids=[default_switch.id],
793
+ instance_types=[default_get_instance_types.instance_types[0].id],
794
+ system_disk_category="cloud_essd",
795
+ system_disk_size=40,
796
+ image_type="AliyunLinux3",
797
+ scaling_config={
798
+ "enable": True,
799
+ "min_size": 0,
800
+ "max_size": 10,
801
+ }))
802
+ default_autoscaling_config = alicloud.cs.AutoscalingConfig("default",
803
+ cluster_id=default_managed_kubernetes.id,
804
+ cool_down_duration="10m",
805
+ unneeded_duration="10m",
806
+ utilization_threshold="0.5",
807
+ gpu_utilization_threshold="0.5",
808
+ scan_interval="30s",
809
+ scale_down_enabled=True,
810
+ expander="priority",
811
+ skip_nodes_with_system_pods=True,
812
+ skip_nodes_with_local_storage=False,
813
+ daemonset_eviction_for_nodes=False,
814
+ max_graceful_termination_sec=14400,
815
+ min_replica_count=0,
816
+ recycle_node_deletion_enabled=False,
817
+ scale_up_from_zero=True,
818
+ scaler_type="cluster-autoscaler",
819
+ priorities={
820
+ "10": std.join_output(separator=",",
821
+ input=[
822
+ default_node_pool[0].scaling_group_id,
823
+ default_node_pool[1].scaling_group_id,
824
+ ]).apply(lambda invoke: invoke.result),
825
+ "20": default_node_pool[2].scaling_group_id,
826
+ })
827
+ ```
828
+
617
829
  :param str resource_name: The name of the resource.
618
830
  :param AutoscalingConfigArgs args: The arguments to use to populate this resource's properties.
619
831
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -636,6 +848,7 @@ class AutoscalingConfig(pulumi.CustomResource):
636
848
  gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
637
849
  max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
638
850
  min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
851
+ priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
639
852
  recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
640
853
  scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
641
854
  scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -661,6 +874,7 @@ class AutoscalingConfig(pulumi.CustomResource):
661
874
  __props__.__dict__["gpu_utilization_threshold"] = gpu_utilization_threshold
662
875
  __props__.__dict__["max_graceful_termination_sec"] = max_graceful_termination_sec
663
876
  __props__.__dict__["min_replica_count"] = min_replica_count
877
+ __props__.__dict__["priorities"] = priorities
664
878
  __props__.__dict__["recycle_node_deletion_enabled"] = recycle_node_deletion_enabled
665
879
  __props__.__dict__["scale_down_enabled"] = scale_down_enabled
666
880
  __props__.__dict__["scale_up_from_zero"] = scale_up_from_zero
@@ -687,6 +901,7 @@ class AutoscalingConfig(pulumi.CustomResource):
687
901
  gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
688
902
  max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
689
903
  min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
904
+ priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
690
905
  recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
691
906
  scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
692
907
  scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -704,21 +919,22 @@ class AutoscalingConfig(pulumi.CustomResource):
704
919
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
705
920
  :param pulumi.ResourceOptions opts: Options for the resource.
706
921
  :param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
707
- :param pulumi.Input[_builtins.str] cool_down_duration: The cool down duration. Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
922
+ :param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
708
923
  :param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
709
- :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
924
+ :param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
710
925
  :param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
711
926
  :param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
712
927
  :param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
928
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
713
929
  :param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
714
930
  :param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
715
931
  :param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
716
- :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
932
+ :param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
717
933
  :param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
718
934
  :param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
719
935
  :param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
720
- :param pulumi.Input[_builtins.str] unneeded_duration: The unneeded duration. Default is `10m`.
721
- :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
936
+ :param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
937
+ :param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
722
938
  """
723
939
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
724
940
 
@@ -731,6 +947,7 @@ class AutoscalingConfig(pulumi.CustomResource):
731
947
  __props__.__dict__["gpu_utilization_threshold"] = gpu_utilization_threshold
732
948
  __props__.__dict__["max_graceful_termination_sec"] = max_graceful_termination_sec
733
949
  __props__.__dict__["min_replica_count"] = min_replica_count
950
+ __props__.__dict__["priorities"] = priorities
734
951
  __props__.__dict__["recycle_node_deletion_enabled"] = recycle_node_deletion_enabled
735
952
  __props__.__dict__["scale_down_enabled"] = scale_down_enabled
736
953
  __props__.__dict__["scale_up_from_zero"] = scale_up_from_zero
@@ -754,7 +971,7 @@ class AutoscalingConfig(pulumi.CustomResource):
754
971
  @pulumi.getter(name="coolDownDuration")
755
972
  def cool_down_duration(self) -> pulumi.Output[Optional[_builtins.str]]:
756
973
  """
757
- The cool down duration. Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
974
+ Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
758
975
  """
759
976
  return pulumi.get(self, "cool_down_duration")
760
977
 
@@ -770,7 +987,7 @@ class AutoscalingConfig(pulumi.CustomResource):
770
987
  @pulumi.getter
771
988
  def expander(self) -> pulumi.Output[Optional[_builtins.str]]:
772
989
  """
773
- The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
990
+ The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
774
991
  """
775
992
  return pulumi.get(self, "expander")
776
993
 
@@ -798,6 +1015,14 @@ class AutoscalingConfig(pulumi.CustomResource):
798
1015
  """
799
1016
  return pulumi.get(self, "min_replica_count")
800
1017
 
1018
+ @_builtins.property
1019
+ @pulumi.getter
1020
+ def priorities(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1021
+ """
1022
+ Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
1023
+ """
1024
+ return pulumi.get(self, "priorities")
1025
+
801
1026
  @_builtins.property
802
1027
  @pulumi.getter(name="recycleNodeDeletionEnabled")
803
1028
  def recycle_node_deletion_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
@@ -826,7 +1051,7 @@ class AutoscalingConfig(pulumi.CustomResource):
826
1051
  @pulumi.getter(name="scalerType")
827
1052
  def scaler_type(self) -> pulumi.Output[Optional[_builtins.str]]:
828
1053
  """
829
- The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
1054
+ The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
830
1055
  """
831
1056
  return pulumi.get(self, "scaler_type")
832
1057
 
@@ -858,7 +1083,7 @@ class AutoscalingConfig(pulumi.CustomResource):
858
1083
  @pulumi.getter(name="unneededDuration")
859
1084
  def unneeded_duration(self) -> pulumi.Output[Optional[_builtins.str]]:
860
1085
  """
861
- The unneeded duration. Default is `10m`.
1086
+ Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
862
1087
  """
863
1088
  return pulumi.get(self, "unneeded_duration")
864
1089
 
@@ -866,7 +1091,7 @@ class AutoscalingConfig(pulumi.CustomResource):
866
1091
  @pulumi.getter(name="utilizationThreshold")
867
1092
  def utilization_threshold(self) -> pulumi.Output[Optional[_builtins.str]]:
868
1093
  """
869
- The scale-in threshold. Default is `0.5`.
1094
+ The scale-in a threshold. Default is `0.5`.
870
1095
  """
871
1096
  return pulumi.get(self, "utilization_threshold")
872
1097
 
@@ -139,6 +139,21 @@ def get_cluster_credential(cluster_id: Optional[_builtins.str] = None,
139
139
 
140
140
  > **NOTE:** This datasource can be used on all kinds of ACK clusters, including managed clusters, imported kubernetes clusters, serverless clusters and edge clusters. Please make sure that the target cluster is not in the failed state before using this datasource, since the api server of clusters in the failed state cannot be accessed.
141
141
 
142
+ ## Example Usage
143
+
144
+ ```python
145
+ import pulumi
146
+ import pulumi_alicloud as alicloud
147
+ import pulumi_std as std
148
+
149
+ # Declare the data source
150
+ k8s = alicloud.cs.get_managed_kubernetes_clusters(name_regex="my-cluster",
151
+ enable_details=False)
152
+ auth = {__key: alicloud.cs.get_cluster_credential(cluster_id=__key,
153
+ temporary_duration_minutes=60,
154
+ output_file="my-auth-json") for __key, __value in std.toset(input=k8s.ids).result}
155
+ ```
156
+
142
157
 
143
158
  :param _builtins.str cluster_id: The id of target cluster.
144
159
  :param _builtins.str output_file: File name where to save the returned KubeConfig (after running `pulumi preview`).
@@ -171,6 +186,21 @@ def get_cluster_credential_output(cluster_id: Optional[pulumi.Input[_builtins.st
171
186
 
172
187
  > **NOTE:** This datasource can be used on all kinds of ACK clusters, including managed clusters, imported kubernetes clusters, serverless clusters and edge clusters. Please make sure that the target cluster is not in the failed state before using this datasource, since the api server of clusters in the failed state cannot be accessed.
173
188
 
189
+ ## Example Usage
190
+
191
+ ```python
192
+ import pulumi
193
+ import pulumi_alicloud as alicloud
194
+ import pulumi_std as std
195
+
196
+ # Declare the data source
197
+ k8s = alicloud.cs.get_managed_kubernetes_clusters(name_regex="my-cluster",
198
+ enable_details=False)
199
+ auth = {__key: alicloud.cs.get_cluster_credential(cluster_id=__key,
200
+ temporary_duration_minutes=60,
201
+ output_file="my-auth-json") for __key, __value in std.toset(input=k8s.ids).result}
202
+ ```
203
+
174
204
 
175
205
  :param _builtins.str cluster_id: The id of target cluster.
176
206
  :param _builtins.str output_file: File name where to save the returned KubeConfig (after running `pulumi preview`).