|
1 | 1 | resource "scaleway_k8s_cluster" "this" { |
2 | | - name = local.cluster_name |
3 | | - description = local.cluster_description |
4 | | - project_id = local.project_id |
5 | | - version = local.kubernetes_version |
6 | | - cni = local.cni_plugin |
7 | | - tags = distinct(compact(concat(local.cluster_tags, local.tags))) |
8 | | - delete_additional_resources = local.delete_additional_resources |
| 2 | + type = var.cluster_type |
| 3 | + name = var.cluster_name |
| 4 | + description = var.cluster_description |
| 5 | + version = var.kubernetes_version |
| 6 | + cni = var.cluster_type == "multicloud" ? "kilo" : var.cni_plugin |
| 7 | + tags = distinct(compact(concat(var.cluster_tags, var.tags))) |
9 | 8 |
|
10 | 9 | dynamic "autoscaler_config" { |
11 | | - for_each = local.autoscaler_config["enabled"] ? list("autoscaler_config") : [] |
| 10 | + for_each = toset(var.autoscaler_config) |
12 | 11 | content { |
13 | | - disable_scale_down = local.autoscaler_config["disable_scale_down"] |
14 | | - scale_down_delay_after_add = local.autoscaler_config["scale_down_delay_after_add"] |
15 | | - scale_down_unneeded_time = local.autoscaler_config["scale_down_unneeded_time"] |
16 | | - estimator = local.autoscaler_config["estimator"] |
17 | | - expander = local.autoscaler_config["expander"] |
18 | | - ignore_daemonsets_utilization = local.autoscaler_config["ignore_daemonsets_utilization"] |
19 | | - balance_similar_node_groups = local.autoscaler_config["balance_similar_node_groups"] |
20 | | - expendable_pods_priority_cutoff = local.autoscaler_config["expendable_pods_priority_cutoff"] |
21 | | - scale_down_utilization_threshold = local.autoscaler_config["scale_down_utilization_threshold"] |
22 | | - max_graceful_termination_sec = local.autoscaler_config["max_graceful_termination_sec"] |
| 12 | + disable_scale_down = lookup(autoscaler_config.value, "disable_scale_down", null) |
| 13 | + scale_down_delay_after_add = lookup(autoscaler_config.value, "scale_down_delay_after_add", null) |
| 14 | + scale_down_unneeded_time = lookup(autoscaler_config.value, "scale_down_unneeded_time", null) |
| 15 | + estimator = lookup(autoscaler_config.value, "estimator", null) |
| 16 | + expander = lookup(autoscaler_config.value, "expander", null) |
| 17 | + ignore_daemonsets_utilization = lookup(autoscaler_config.value, "ignore_daemonsets_utilization", null) |
| 18 | + balance_similar_node_groups = lookup(autoscaler_config.value, "balance_similar_node_groups", null) |
| 19 | + expendable_pods_priority_cutoff = lookup(autoscaler_config.value, "expendable_pods_priority_cutoff", null) |
| 20 | + scale_down_utilization_threshold = lookup(autoscaler_config.value, "scale_down_utilization_threshold", null) |
| 21 | + max_graceful_termination_sec = lookup(autoscaler_config.value, "max_graceful_termination_sec", null) |
23 | 22 | } |
24 | 23 | } |
25 | 24 |
|
26 | 25 | dynamic "auto_upgrade" { |
27 | | - for_each = local.auto_upgrade["enable"] ? list("auto_upgrade") : [] |
| 26 | + for_each = toset(var.auto_upgrade) |
28 | 27 | content { |
29 | | - enable = local.auto_upgrade["enable"] |
30 | | - maintenance_window_start_hour = local.auto_upgrade["maintenance_window_start_hour"] |
31 | | - maintenance_window_day = local.auto_upgrade["maintenance_window_day"] |
| 28 | + enable = lookup(auto_upgrade.value, "enable", null) |
| 29 | + maintenance_window_start_hour = lookup(auto_upgrade.value, "maintenance_window_start_hour", null) |
| 30 | + maintenance_window_day = lookup(auto_upgrade.value, "maintenance_window_day", null) |
32 | 31 | } |
33 | 32 | } |
34 | 33 |
|
| 34 | + feature_gates = var.feature_gates |
| 35 | + admission_plugins = var.admission_plugins |
| 36 | + apiserver_cert_sans = var.apiserver_cert_sans |
| 37 | + |
35 | 38 | dynamic "open_id_connect_config" { |
36 | | - for_each = local.open_id_connect_config["enabled"] ? list("open_id_connect_config") : [] |
| 39 | + for_each = toset(var.open_id_connect_config) |
37 | 40 | content { |
38 | | - issuer_url = local.open_id_connect_config["issuer_url"] |
39 | | - client_id = local.open_id_connect_config["client_id"] |
40 | | - username_claim = local.open_id_connect_config["username_claim"] |
41 | | - username_prefix = local.open_id_connect_config["username_prefix"] |
42 | | - groups_claim = local.open_id_connect_config["groups_claim"] |
43 | | - groups_prefix = local.open_id_connect_config["groups_prefix"] |
44 | | - required_claim = local.open_id_connect_config["required_claim"] |
| 41 | + issuer_url = lookup(open_id_connect_config.value, "issuer_url", null) |
| 42 | + client_id = lookup(open_id_connect_config.value, "client_id", null) |
| 43 | + username_claim = lookup(open_id_connect_config.value, "username_claim", null) |
| 44 | + username_prefix = lookup(open_id_connect_config.value, "username_prefix", null) |
| 45 | + groups_claim = lookup(open_id_connect_config.value, "groups_claim", null) |
| 46 | + groups_prefix = lookup(open_id_connect_config.value, "groups_prefix", null) |
| 47 | + required_claim = lookup(open_id_connect_config.value, "required_claim", null) |
45 | 48 | } |
46 | 49 | } |
47 | 50 |
|
48 | | - apiserver_cert_sans = local.apiserver_cert_sans |
49 | | - feature_gates = local.feature_gates |
50 | | - admission_plugins = local.admission_plugins |
51 | | - region = local.region |
| 51 | + region = var.region |
| 52 | + project_id = var.project_id |
| 53 | + delete_additional_resources = var.delete_additional_resources |
| 54 | + |
52 | 55 | } |
0 commit comments