From 876905f53fd6a911f48cfe6f32863938f5056bb2 Mon Sep 17 00:00:00 2001 From: ezilber-akamai Date: Thu, 19 Mar 2026 14:51:24 -0400 Subject: [PATCH 1/2] Added DiskEncryption field for LKE Node Pool creation --- linode_api4/objects/lke.py | 5 +++++ test/integration/models/lke/test_lke.py | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/linode_api4/objects/lke.py b/linode_api4/objects/lke.py index 0864052f1..f3dc99cc8 100644 --- a/linode_api4/objects/lke.py +++ b/linode_api4/objects/lke.py @@ -422,6 +422,7 @@ def node_pool_create( ] = None, update_strategy: Optional[str] = None, label: str = None, + disk_encryption: Optional[str] = None, **kwargs, ): """ @@ -443,6 +444,9 @@ def node_pool_create( :param update_strategy: The strategy to use when updating this node pool. NOTE: This field is specific to enterprise clusters. :type update_strategy: str + :param disk_encryption: Local disk encryption setting for this LKE node pool. + One of 'enabled', or 'disabled'. Defaults to 'disabled'. + :type disk_encryption: str :param kwargs: Any other arguments to pass to the API. See the API docs for possible values. @@ -459,6 +463,7 @@ def node_pool_create( "taints": taints, "k8s_version": k8s_version, "update_strategy": update_strategy, + "disk_encryption": disk_encryption, } params.update(kwargs) diff --git a/test/integration/models/lke/test_lke.py b/test/integration/models/lke/test_lke.py index 116665df6..c9a06baba 100644 --- a/test/integration/models/lke/test_lke.py +++ b/test/integration/models/lke/test_lke.py @@ -210,6 +210,19 @@ def _to_comparable(p: LKENodePool) -> Dict[str, Any]: InstanceDiskEncryptionType.disabled, ) +def test_node_pool_create_with_disk_encryption(test_linode_client, lke_cluster): + node_type = test_linode_client.linode.types()[1] + + pool = lke_cluster.node_pool_create( + node_type, + 1, + disk_encryption="enabled", + ) + + assert pool.disk_encryption == InstanceDiskEncryptionType.enabled + + pool.delete() + def test_cluster_dashboard_url_view(lke_cluster): cluster = lke_cluster From d4cc57289543b9e8960ade1f74caaa79520def79 Mon Sep 17 00:00:00 2001 From: ezilber-akamai Date: Thu, 19 Mar 2026 15:14:12 -0400 Subject: [PATCH 2/2] Address CoPilot suggestions --- linode_api4/objects/lke.py | 9 ++++++--- test/integration/models/lke/test_lke.py | 10 ++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/linode_api4/objects/lke.py b/linode_api4/objects/lke.py index f3dc99cc8..aa506a606 100644 --- a/linode_api4/objects/lke.py +++ b/linode_api4/objects/lke.py @@ -8,6 +8,7 @@ Base, DerivedBase, Instance, + InstanceDiskEncryptionType, JSONObject, MappedObject, Property, @@ -422,7 +423,9 @@ def node_pool_create( ] = None, update_strategy: Optional[str] = None, label: str = None, - disk_encryption: Optional[str] = None, + disk_encryption: Optional[ + Union[str, InstanceDiskEncryptionType] + ] = None, **kwargs, ): """ @@ -445,8 +448,8 @@ def node_pool_create( NOTE: This field is specific to enterprise clusters. :type update_strategy: str :param disk_encryption: Local disk encryption setting for this LKE node pool. - One of 'enabled', or 'disabled'. Defaults to 'disabled'. - :type disk_encryption: str + One of 'enabled' or 'disabled'. Defaults to 'disabled'. + :type disk_encryption: str or InstanceDiskEncryptionType :param kwargs: Any other arguments to pass to the API. See the API docs for possible values. diff --git a/test/integration/models/lke/test_lke.py b/test/integration/models/lke/test_lke.py index c9a06baba..96ab1d3cc 100644 --- a/test/integration/models/lke/test_lke.py +++ b/test/integration/models/lke/test_lke.py @@ -210,18 +210,20 @@ def _to_comparable(p: LKENodePool) -> Dict[str, Any]: InstanceDiskEncryptionType.disabled, ) + def test_node_pool_create_with_disk_encryption(test_linode_client, lke_cluster): node_type = test_linode_client.linode.types()[1] pool = lke_cluster.node_pool_create( node_type, 1, - disk_encryption="enabled", + disk_encryption=InstanceDiskEncryptionType.enabled, ) - assert pool.disk_encryption == InstanceDiskEncryptionType.enabled - - pool.delete() + try: + assert pool.disk_encryption == InstanceDiskEncryptionType.enabled + finally: + pool.delete() def test_cluster_dashboard_url_view(lke_cluster):