def selftest_function(opts):
    """
    Simple test to confirm access to Cisco Umbrella Investigate for API connectivity.
    """
    options = opts.get("fn_cisco_umbrella_inv", {})
    api_token = options.get("api_token")
    base_url = options.get("base_url")
    proxies = get_proxies(opts, options)
    try:

        rinv = ResilientInv(api_token, base_url, proxies=proxies)

        r = rinv.test_connectivity()

        if r.status_code == 200:
            return {"state": "success", "status_code": r.status_code }
        else:
            return {"state": "failure", "status_code": r.status_code }

    except Exception as e:
        return {"state": "failure", "status_code": e}
 def _reload(self, event, opts):
     """Configuration options have changed, save new values"""
     self.options = opts.get("fn_cisco_umbrella_inv", {})
     validate_opts(self)
     self.proxies = get_proxies(opts, self.options)
 def __init__(self, opts):
     """constructor provides access to the configuration options"""
     super(FunctionComponent, self).__init__(opts)
     self.options = opts.get("fn_cisco_umbrella_inv", {})
     validate_opts(self)
     self.proxies = get_proxies(opts, self.options)