Validate presence of configuration parameters
Change-Id: Id5e9fa145f3888750f8ede8db04879fb8bdb220b
diff --git a/_modules/rundeck.py b/_modules/rundeck.py
index 5d9c7a3..07f04b6 100644
--- a/_modules/rundeck.py
+++ b/_modules/rundeck.py
@@ -365,12 +365,22 @@
return urljoin(make_url.base_url, url)
rundeck_url = __salt__['config.get']('rundeck.url')
- make_url.base_url = rundeck_url
-
api_token = __salt__['config.get']('rundeck.api_token')
username = __salt__['config.get']('rundeck.username')
password = __salt__['config.get']('rundeck.password')
+ if not rundeck_url:
+ raise salt.exceptions.SaltInvocationError(
+ "The 'rundeck.url' parameter have to be set as non-empty value in "
+ "the minion's configuration file.")
+ elif not (api_token or username and password):
+ raise salt.exceptions.SaltInvocationError(
+ "Either the 'rundeck.api_token' parameter or a pair of "
+ "'rundeck.username' and 'rundeck.password' parameters have to be "
+ "set as non-empty values in the minion's configuration file.")
+
+ make_url.base_url = rundeck_url
+
session = requests.Session()
if api_token: