cdktf-cdktf-provider-upcloud 14.2.3__py3-none-any.whl → 14.4.0__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 cdktf-cdktf-provider-upcloud might be problematic. Click here for more details.

Files changed (62) hide show
  1. cdktf_cdktf_provider_upcloud/__init__.py +5 -3
  2. cdktf_cdktf_provider_upcloud/_jsii/__init__.py +2 -2
  3. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.4.0.jsii.tgz +0 -0
  4. cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +7 -7
  5. cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +7 -7
  6. cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +7 -7
  7. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_mysql_sessions/__init__.py +22 -22
  8. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +13 -13
  9. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_postgresql_sessions/__init__.py +30 -30
  10. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_redis_sessions/__init__.py +22 -22
  11. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_policies/__init__.py +10 -10
  12. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_regions/__init__.py +82 -50
  13. cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +13 -13
  14. cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +25 -25
  15. cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +7 -7
  16. cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +10 -10
  17. cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +10 -10
  18. cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +41 -41
  19. cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +19 -19
  20. cdktf_cdktf_provider_upcloud/gateway/__init__.py +37 -37
  21. cdktf_cdktf_provider_upcloud/gateway_connection/__init__.py +34 -34
  22. cdktf_cdktf_provider_upcloud/gateway_connection_tunnel/__init__.py +61 -61
  23. cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +78 -31
  24. cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +403 -47
  25. cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +42 -42
  26. cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +64 -64
  27. cdktf_cdktf_provider_upcloud/loadbalancer_backend_tls_config/__init__.py +16 -16
  28. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +28 -28
  29. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +16 -16
  30. cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +39 -39
  31. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +193 -193
  32. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +16 -16
  33. cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +19 -19
  34. cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +31 -31
  35. cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +28 -28
  36. cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +19 -19
  37. cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +189 -189
  38. cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +330 -376
  39. cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +345 -345
  40. cdktf_cdktf_provider_upcloud/managed_database_redis/__init__.py +117 -117
  41. cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +50 -50
  42. cdktf_cdktf_provider_upcloud/managed_object_storage/__init__.py +30 -30
  43. cdktf_cdktf_provider_upcloud/managed_object_storage_policy/__init__.py +19 -19
  44. cdktf_cdktf_provider_upcloud/managed_object_storage_user/__init__.py +13 -13
  45. cdktf_cdktf_provider_upcloud/managed_object_storage_user_access_key/__init__.py +16 -16
  46. cdktf_cdktf_provider_upcloud/managed_object_storage_user_policy/__init__.py +16 -16
  47. cdktf_cdktf_provider_upcloud/network/__init__.py +221 -130
  48. cdktf_cdktf_provider_upcloud/network_peering/__init__.py +1069 -0
  49. cdktf_cdktf_provider_upcloud/object_storage/__init__.py +30 -30
  50. cdktf_cdktf_provider_upcloud/provider/__init__.py +25 -25
  51. cdktf_cdktf_provider_upcloud/router/__init__.py +19 -19
  52. cdktf_cdktf_provider_upcloud/server/__init__.py +153 -153
  53. cdktf_cdktf_provider_upcloud/server_group/__init__.py +22 -22
  54. cdktf_cdktf_provider_upcloud/storage/__init__.py +58 -58
  55. cdktf_cdktf_provider_upcloud/tag/__init__.py +16 -16
  56. {cdktf_cdktf_provider_upcloud-14.2.3.dist-info → cdktf_cdktf_provider_upcloud-14.4.0.dist-info}/METADATA +5 -5
  57. cdktf_cdktf_provider_upcloud-14.4.0.dist-info/RECORD +61 -0
  58. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.2.3.jsii.tgz +0 -0
  59. cdktf_cdktf_provider_upcloud-14.2.3.dist-info/RECORD +0 -60
  60. {cdktf_cdktf_provider_upcloud-14.2.3.dist-info → cdktf_cdktf_provider_upcloud-14.4.0.dist-info}/LICENSE +0 -0
  61. {cdktf_cdktf_provider_upcloud-14.2.3.dist-info → cdktf_cdktf_provider_upcloud-14.4.0.dist-info}/WHEEL +0 -0
  62. {cdktf_cdktf_provider_upcloud-14.2.3.dist-info → cdktf_cdktf_provider_upcloud-14.4.0.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  '''
2
2
  # `upcloud_kubernetes_cluster`
3
3
 
4
- Refer to the Terraform Registry for docs: [`upcloud_kubernetes_cluster`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster).
4
+ Refer to the Terraform Registry for docs: [`upcloud_kubernetes_cluster`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster).
5
5
  '''
6
6
  from pkgutil import extend_path
7
7
  __path__ = extend_path(__path__, __name__)
@@ -29,7 +29,7 @@ class KubernetesCluster(
29
29
  metaclass=jsii.JSIIMeta,
30
30
  jsii_type="@cdktf/provider-upcloud.kubernetesCluster.KubernetesCluster",
31
31
  ):
32
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster upcloud_kubernetes_cluster}.'''
32
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster upcloud_kubernetes_cluster}.'''
33
33
 
34
34
  def __init__(
35
35
  self,
@@ -44,6 +44,7 @@ class KubernetesCluster(
44
44
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
45
45
  plan: typing.Optional[builtins.str] = None,
46
46
  private_node_groups: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
47
+ storage_encryption: typing.Optional[builtins.str] = None,
47
48
  version: typing.Optional[builtins.str] = None,
48
49
  connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
49
50
  count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
@@ -53,19 +54,20 @@ class KubernetesCluster(
53
54
  provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
54
55
  provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
55
56
  ) -> None:
56
- '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster upcloud_kubernetes_cluster} Resource.
57
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster upcloud_kubernetes_cluster} Resource.
57
58
 
58
59
  :param scope: The scope in which to define this construct.
59
60
  :param id_: The scoped construct ID. Must be unique amongst siblings in the same scope
60
- :param control_plane_ip_filter: IP addresses or IP ranges in CIDR format which are allowed to access the cluster control plane. To allow access from any source, use ``["0.0.0.0/0"]``. To deny access from all sources, use ``[]``. Values set here do not restrict access to node groups or exposed Kubernetes services. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#control_plane_ip_filter KubernetesCluster#control_plane_ip_filter}
61
- :param name: Cluster name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#name KubernetesCluster#name}
62
- :param network: Network ID for the cluster to run in. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#network KubernetesCluster#network}
63
- :param zone: Zone in which the Kubernetes cluster will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone}
64
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#id KubernetesCluster#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
65
- :param labels: Key-value pairs to classify the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels}
66
- :param plan: The pricing plan used for the cluster. Default plan is ``development``. You can list available plans with ``upctl kubernetes plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#plan KubernetesCluster#plan}
67
- :param private_node_groups: Enable private node groups. Private node groups requires a network that is routed through NAT gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#private_node_groups KubernetesCluster#private_node_groups}
68
- :param version: Kubernetes version ID, e.g. ``1.27``. You can list available version IDs with ``upctl kubernetes versions``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#version KubernetesCluster#version}
61
+ :param control_plane_ip_filter: IP addresses or IP ranges in CIDR format which are allowed to access the cluster control plane. To allow access from any source, use ``["0.0.0.0/0"]``. To deny access from all sources, use ``[]``. Values set here do not restrict access to node groups or exposed Kubernetes services. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#control_plane_ip_filter KubernetesCluster#control_plane_ip_filter}
62
+ :param name: Cluster name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#name KubernetesCluster#name}
63
+ :param network: Network ID for the cluster to run in. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#network KubernetesCluster#network}
64
+ :param zone: Zone in which the Kubernetes cluster will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone}
65
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#id KubernetesCluster#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
66
+ :param labels: Key-value pairs to classify the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels}
67
+ :param plan: The pricing plan used for the cluster. Default plan is ``development``. You can list available plans with ``upctl kubernetes plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#plan KubernetesCluster#plan}
68
+ :param private_node_groups: Enable private node groups. Private node groups requires a network that is routed through NAT gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#private_node_groups KubernetesCluster#private_node_groups}
69
+ :param storage_encryption: Set default storage encryption strategy for all nodes in the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#storage_encryption KubernetesCluster#storage_encryption}
70
+ :param version: Kubernetes version ID, e.g. ``1.27``. You can list available version IDs with ``upctl kubernetes versions``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#version KubernetesCluster#version}
69
71
  :param connection:
70
72
  :param count:
71
73
  :param depends_on:
@@ -87,6 +89,7 @@ class KubernetesCluster(
87
89
  labels=labels,
88
90
  plan=plan,
89
91
  private_node_groups=private_node_groups,
92
+ storage_encryption=storage_encryption,
90
93
  version=version,
91
94
  connection=connection,
92
95
  count=count,
@@ -112,7 +115,7 @@ class KubernetesCluster(
112
115
 
113
116
  :param scope: The scope in which to define this construct.
114
117
  :param import_to_id: The construct id used in the generated config for the KubernetesCluster to import.
115
- :param import_from_id: The id of the existing KubernetesCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#import import section} in the documentation of this resource for the id to use
118
+ :param import_from_id: The id of the existing KubernetesCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#import import section} in the documentation of this resource for the id to use
116
119
  :param provider: ? Optional instance of the provider where the KubernetesCluster to import is found.
117
120
  '''
118
121
  if __debug__:
@@ -139,6 +142,10 @@ class KubernetesCluster(
139
142
  def reset_private_node_groups(self) -> None:
140
143
  return typing.cast(None, jsii.invoke(self, "resetPrivateNodeGroups", []))
141
144
 
145
+ @jsii.member(jsii_name="resetStorageEncryption")
146
+ def reset_storage_encryption(self) -> None:
147
+ return typing.cast(None, jsii.invoke(self, "resetStorageEncryption", []))
148
+
142
149
  @jsii.member(jsii_name="resetVersion")
143
150
  def reset_version(self) -> None:
144
151
  return typing.cast(None, jsii.invoke(self, "resetVersion", []))
@@ -212,6 +219,11 @@ class KubernetesCluster(
212
219
  ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
213
220
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "privateNodeGroupsInput"))
214
221
 
222
+ @builtins.property
223
+ @jsii.member(jsii_name="storageEncryptionInput")
224
+ def storage_encryption_input(self) -> typing.Optional[builtins.str]:
225
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "storageEncryptionInput"))
226
+
215
227
  @builtins.property
216
228
  @jsii.member(jsii_name="versionInput")
217
229
  def version_input(self) -> typing.Optional[builtins.str]:
@@ -311,6 +323,18 @@ class KubernetesCluster(
311
323
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
312
324
  jsii.set(self, "privateNodeGroups", value)
313
325
 
326
+ @builtins.property
327
+ @jsii.member(jsii_name="storageEncryption")
328
+ def storage_encryption(self) -> builtins.str:
329
+ return typing.cast(builtins.str, jsii.get(self, "storageEncryption"))
330
+
331
+ @storage_encryption.setter
332
+ def storage_encryption(self, value: builtins.str) -> None:
333
+ if __debug__:
334
+ type_hints = typing.get_type_hints(_typecheckingstub__cedce06cdd644121d16e8723f1b12d6b73c8a3982cac05b297172fec86ac6b6c)
335
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
336
+ jsii.set(self, "storageEncryption", value)
337
+
314
338
  @builtins.property
315
339
  @jsii.member(jsii_name="version")
316
340
  def version(self) -> builtins.str:
@@ -355,6 +379,7 @@ class KubernetesCluster(
355
379
  "labels": "labels",
356
380
  "plan": "plan",
357
381
  "private_node_groups": "privateNodeGroups",
382
+ "storage_encryption": "storageEncryption",
358
383
  "version": "version",
359
384
  },
360
385
  )
@@ -377,6 +402,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
377
402
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
378
403
  plan: typing.Optional[builtins.str] = None,
379
404
  private_node_groups: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
405
+ storage_encryption: typing.Optional[builtins.str] = None,
380
406
  version: typing.Optional[builtins.str] = None,
381
407
  ) -> None:
382
408
  '''
@@ -387,15 +413,16 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
387
413
  :param lifecycle:
388
414
  :param provider:
389
415
  :param provisioners:
390
- :param control_plane_ip_filter: IP addresses or IP ranges in CIDR format which are allowed to access the cluster control plane. To allow access from any source, use ``["0.0.0.0/0"]``. To deny access from all sources, use ``[]``. Values set here do not restrict access to node groups or exposed Kubernetes services. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#control_plane_ip_filter KubernetesCluster#control_plane_ip_filter}
391
- :param name: Cluster name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#name KubernetesCluster#name}
392
- :param network: Network ID for the cluster to run in. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#network KubernetesCluster#network}
393
- :param zone: Zone in which the Kubernetes cluster will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone}
394
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#id KubernetesCluster#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
395
- :param labels: Key-value pairs to classify the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels}
396
- :param plan: The pricing plan used for the cluster. Default plan is ``development``. You can list available plans with ``upctl kubernetes plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#plan KubernetesCluster#plan}
397
- :param private_node_groups: Enable private node groups. Private node groups requires a network that is routed through NAT gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#private_node_groups KubernetesCluster#private_node_groups}
398
- :param version: Kubernetes version ID, e.g. ``1.27``. You can list available version IDs with ``upctl kubernetes versions``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#version KubernetesCluster#version}
416
+ :param control_plane_ip_filter: IP addresses or IP ranges in CIDR format which are allowed to access the cluster control plane. To allow access from any source, use ``["0.0.0.0/0"]``. To deny access from all sources, use ``[]``. Values set here do not restrict access to node groups or exposed Kubernetes services. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#control_plane_ip_filter KubernetesCluster#control_plane_ip_filter}
417
+ :param name: Cluster name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#name KubernetesCluster#name}
418
+ :param network: Network ID for the cluster to run in. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#network KubernetesCluster#network}
419
+ :param zone: Zone in which the Kubernetes cluster will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone}
420
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#id KubernetesCluster#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
421
+ :param labels: Key-value pairs to classify the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels}
422
+ :param plan: The pricing plan used for the cluster. Default plan is ``development``. You can list available plans with ``upctl kubernetes plans``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#plan KubernetesCluster#plan}
423
+ :param private_node_groups: Enable private node groups. Private node groups requires a network that is routed through NAT gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#private_node_groups KubernetesCluster#private_node_groups}
424
+ :param storage_encryption: Set default storage encryption strategy for all nodes in the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#storage_encryption KubernetesCluster#storage_encryption}
425
+ :param version: Kubernetes version ID, e.g. ``1.27``. You can list available version IDs with ``upctl kubernetes versions``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#version KubernetesCluster#version}
399
426
  '''
400
427
  if isinstance(lifecycle, dict):
401
428
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
@@ -416,6 +443,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
416
443
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
417
444
  check_type(argname="argument plan", value=plan, expected_type=type_hints["plan"])
418
445
  check_type(argname="argument private_node_groups", value=private_node_groups, expected_type=type_hints["private_node_groups"])
446
+ check_type(argname="argument storage_encryption", value=storage_encryption, expected_type=type_hints["storage_encryption"])
419
447
  check_type(argname="argument version", value=version, expected_type=type_hints["version"])
420
448
  self._values: typing.Dict[builtins.str, typing.Any] = {
421
449
  "control_plane_ip_filter": control_plane_ip_filter,
@@ -445,6 +473,8 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
445
473
  self._values["plan"] = plan
446
474
  if private_node_groups is not None:
447
475
  self._values["private_node_groups"] = private_node_groups
476
+ if storage_encryption is not None:
477
+ self._values["storage_encryption"] = storage_encryption
448
478
  if version is not None:
449
479
  self._values["version"] = version
450
480
 
@@ -518,7 +548,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
518
548
 
519
549
  To allow access from any source, use ``["0.0.0.0/0"]``. To deny access from all sources, use ``[]``. Values set here do not restrict access to node groups or exposed Kubernetes services.
520
550
 
521
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#control_plane_ip_filter KubernetesCluster#control_plane_ip_filter}
551
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#control_plane_ip_filter KubernetesCluster#control_plane_ip_filter}
522
552
  '''
523
553
  result = self._values.get("control_plane_ip_filter")
524
554
  assert result is not None, "Required property 'control_plane_ip_filter' is missing"
@@ -528,7 +558,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
528
558
  def name(self) -> builtins.str:
529
559
  '''Cluster name. Needs to be unique within the account.
530
560
 
531
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#name KubernetesCluster#name}
561
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#name KubernetesCluster#name}
532
562
  '''
533
563
  result = self._values.get("name")
534
564
  assert result is not None, "Required property 'name' is missing"
@@ -538,7 +568,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
538
568
  def network(self) -> builtins.str:
539
569
  '''Network ID for the cluster to run in.
540
570
 
541
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#network KubernetesCluster#network}
571
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#network KubernetesCluster#network}
542
572
  '''
543
573
  result = self._values.get("network")
544
574
  assert result is not None, "Required property 'network' is missing"
@@ -548,7 +578,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
548
578
  def zone(self) -> builtins.str:
549
579
  '''Zone in which the Kubernetes cluster will be hosted, e.g. ``de-fra1``. You can list available zones with ``upctl zone list``.
550
580
 
551
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone}
581
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone}
552
582
  '''
553
583
  result = self._values.get("zone")
554
584
  assert result is not None, "Required property 'zone' is missing"
@@ -556,7 +586,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
556
586
 
557
587
  @builtins.property
558
588
  def id(self) -> typing.Optional[builtins.str]:
559
- '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#id KubernetesCluster#id}.
589
+ '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#id KubernetesCluster#id}.
560
590
 
561
591
  Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
562
592
  If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
@@ -568,7 +598,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
568
598
  def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
569
599
  '''Key-value pairs to classify the cluster.
570
600
 
571
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels}
601
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels}
572
602
  '''
573
603
  result = self._values.get("labels")
574
604
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
@@ -579,7 +609,7 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
579
609
 
580
610
  Default plan is ``development``. You can list available plans with ``upctl kubernetes plans``.
581
611
 
582
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#plan KubernetesCluster#plan}
612
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#plan KubernetesCluster#plan}
583
613
  '''
584
614
  result = self._values.get("plan")
585
615
  return typing.cast(typing.Optional[builtins.str], result)
@@ -590,16 +620,25 @@ class KubernetesClusterConfig(_cdktf_9a9027ec.TerraformMetaArguments):
590
620
  ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
591
621
  '''Enable private node groups. Private node groups requires a network that is routed through NAT gateway.
592
622
 
593
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#private_node_groups KubernetesCluster#private_node_groups}
623
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#private_node_groups KubernetesCluster#private_node_groups}
594
624
  '''
595
625
  result = self._values.get("private_node_groups")
596
626
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
597
627
 
628
+ @builtins.property
629
+ def storage_encryption(self) -> typing.Optional[builtins.str]:
630
+ '''Set default storage encryption strategy for all nodes in the cluster.
631
+
632
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#storage_encryption KubernetesCluster#storage_encryption}
633
+ '''
634
+ result = self._values.get("storage_encryption")
635
+ return typing.cast(typing.Optional[builtins.str], result)
636
+
598
637
  @builtins.property
599
638
  def version(self) -> typing.Optional[builtins.str]:
600
639
  '''Kubernetes version ID, e.g. ``1.27``. You can list available version IDs with ``upctl kubernetes versions``.
601
640
 
602
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.3/docs/resources/kubernetes_cluster#version KubernetesCluster#version}
641
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.4.0/docs/resources/kubernetes_cluster#version KubernetesCluster#version}
603
642
  '''
604
643
  result = self._values.get("version")
605
644
  return typing.cast(typing.Optional[builtins.str], result)
@@ -635,6 +674,7 @@ def _typecheckingstub__8a9b711fc0d4f95af1581b8c47ef51571908b57197927d077ddbf475a
635
674
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
636
675
  plan: typing.Optional[builtins.str] = None,
637
676
  private_node_groups: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
677
+ storage_encryption: typing.Optional[builtins.str] = None,
638
678
  version: typing.Optional[builtins.str] = None,
639
679
  connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
640
680
  count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
@@ -698,6 +738,12 @@ def _typecheckingstub__f49f70d8405be1fa26fe8c061357eb2ec81b867b995db8ff053c4f9a5
698
738
  """Type checking stubs"""
699
739
  pass
700
740
 
741
+ def _typecheckingstub__cedce06cdd644121d16e8723f1b12d6b73c8a3982cac05b297172fec86ac6b6c(
742
+ value: builtins.str,
743
+ ) -> None:
744
+ """Type checking stubs"""
745
+ pass
746
+
701
747
  def _typecheckingstub__776ba3ef3b832d50876fe4a1d205b0bbe70e283570bc607f5f3709b3061f153f(
702
748
  value: builtins.str,
703
749
  ) -> None:
@@ -727,6 +773,7 @@ def _typecheckingstub__e268687db9e34ae4b03f85f7b2bdf19564690fdaacf69cdb2c9bd3f76
727
773
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
728
774
  plan: typing.Optional[builtins.str] = None,
729
775
  private_node_groups: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
776
+ storage_encryption: typing.Optional[builtins.str] = None,
730
777
  version: typing.Optional[builtins.str] = None,
731
778
  ) -> None:
732
779
  """Type checking stubs"""