Update requester.py
urllib.quote_plus() requires the option safe="*" (that is, the * character is not encoded) to be consistent with CloudStack's internal encoder/decoder. Without this, API calls containing the * character will fail API authentication.
diff --git a/cloudmonkey/requester.py b/cloudmonkey/requester.py
index cf082aa..f8c038d 100644
--- a/cloudmonkey/requester.py
+++ b/cloudmonkey/requester.py
@@ -202,7 +202,7 @@
hash_str = "&".join(
["=".join(
[r[0].lower(),
- urllib.quote_plus(str(r[1])).lower()
+ urllib.quote_plus(str(r[1]), safe="*").lower()
.replace("+", "%20").replace("%3A", ":")]
) for r in request]
)