From 7b78d0c4bba3392db4ac5855eebb3f5d1ed4f376 Mon Sep 17 00:00:00 2001 From: Zhiwei Liang Date: Wed, 6 Mar 2024 14:59:00 -0500 Subject: [PATCH] Fix interfaces parameter --- linode_api4/groups/linode.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/linode_api4/groups/linode.py b/linode_api4/groups/linode.py index f76cb99c..982eede8 100644 --- a/linode_api4/groups/linode.py +++ b/linode_api4/groups/linode.py @@ -1,5 +1,6 @@ import base64 import os +from collections.abc import Iterable from linode_api4 import Profile from linode_api4.common import SSH_KEY_TYPES, load_and_validate_keys @@ -307,10 +308,12 @@ def instance_create( kwargs["firewall_id"] = fw.id if isinstance(fw, Firewall) else fw if "interfaces" in kwargs: - kwargs["interfaces"] = [ - i._serialize() if isinstance(i, ConfigInterface) else i - for i in kwargs["interfaces"] - ] + interfaces = kwargs.get("interfaces") + if interfaces is not None and isinstance(interfaces, Iterable): + kwargs["interfaces"] = [ + i._serialize() if isinstance(i, ConfigInterface) else i + for i in interfaces + ] params = { "type": ltype.id if issubclass(type(ltype), Base) else ltype,