File: //lib/python2.7/site-packages/lap/jelastic_ips.py
import requests
import json
import socket
def __run__(params):
try:
service = params.get("service")
appid = params.get("appid")
login = params.get("login")
password = params.get("password")
sessionurl = params.get("sessionurl")
url = params.get("url")
search = params.get("search")
data = {'login': login, 'password': password}
except Exception, e:
return [2, "CRITICAL - Error: %s" % repr(e)]
try:
socket.setdefaulttimeout(30)
session = requests.post(sessionurl, data).json()['session']
if service == "jelastic_internal_ips":
ipcount = requests.get(url % (appid, session, search)).json()['totalCount']
else:
ipcount = requests.get(url % (appid, session, search)).json()['free']
except:
return [2, "CRITICAL - Error: the url cannot be opened"]
if service == "jelastic_internal_ips":
if ipcount < 64000:
return [0, "OK - IP quantity OK"]
else:
return [2, "CRITICAL 2 - Jelastic needs more internal IPs. Current count: %s" % ipcount]
else:
if ipcount > 50:
return [0, "OK - IP quantity OK"]
else:
return [2, "CRITICAL 2 - Jelastic needs more IPs. Current count: %s" % ipcount]