diff --git a/linode_api4/objects/lke.py b/linode_api4/objects/lke.py index 0864052f1..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,6 +423,9 @@ def node_pool_create( ] = None, update_strategy: Optional[str] = None, label: str = None, + disk_encryption: Optional[ + Union[str, InstanceDiskEncryptionType] + ] = None, **kwargs, ): """ @@ -443,6 +447,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 or InstanceDiskEncryptionType :param kwargs: Any other arguments to pass to the API. See the API docs for possible values. @@ -459,6 +466,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..96ab1d3cc 100644 --- a/test/integration/models/lke/test_lke.py +++ b/test/integration/models/lke/test_lke.py @@ -211,6 +211,21 @@ def _to_comparable(p: LKENodePool) -> Dict[str, Any]: ) +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=InstanceDiskEncryptionType.enabled, + ) + + try: + assert pool.disk_encryption == InstanceDiskEncryptionType.enabled + finally: + pool.delete() + + def test_cluster_dashboard_url_view(lke_cluster): cluster = lke_cluster