"""Autogenerated API"""
import requests
from argus_cli.plugin import register_command
[docs]@register_command(extending=('reputation','v1','override','domain'))
def list_domain_overrides(list: str = None, limit: int = 25, offset: int = 0,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""List domain overrides (INTERNAL)
:param str list: Limit results to overrides from this list
:param int limit: Limit results
:param int offset: Offset results
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 626, "limit": 51, "responseCode": 200, "count": 136, "data": [{"id": 825, "flags": 194, "listName": "Them modern eight strong purpose wall.", "defaultValue": false, "domainPatternBase": "Fine occur color.", "domainPattern": "Begin color language design run court.", "publicPrefixMatch": false, "wildcardMatch": false, "deleted": true, "expired": true, "lastUpdatedTimestamp": 219796236}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Build finally treat standard beyond participant high.", "messageTemplate": "Bed mean need future doctor country.", "field": "Course leader guess discuss system.", "parameter": {}, "timestamp": 300196630}], "currentPage": 735, "size": 770}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/domain".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if limit:
body.update({"limit": limit})
if offset:
body.update({"offset": offset})
if list:
body.update({"list": list})
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def add_domain_override(listID: int = None, listName: str = None, overrides: list = None, clear: bool = 'False',json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Add reputation domain override (INTERNAL)
:param int listID:
:param str listName:
:param list overrides:
:param bool clear:
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 322, "limit": 374, "responseCode": 200, "count": 914, "data": [{"id": 671, "flags": 304, "listName": "When station take six us hot.", "defaultValue": true, "domainPatternBase": "Drop amount value laugh get important require.", "domainPattern": "Usually party production consider improve sea responsibility.", "publicPrefixMatch": true, "wildcardMatch": false, "deleted": false, "expired": true, "lastUpdatedTimestamp": 1019857552}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Response decide along difference care.", "messageTemplate": "Also window question bank most senior.", "field": "Whom skill blue stock give have but.", "parameter": {}, "timestamp": 937677805}], "currentPage": 99, "size": 694}
"""
from requests import post
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/domain".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if listID:
body.update({"listID": listID})
if listName:
body.update({"listName": listName})
if clear:
body.update({"clear": clear})
if overrides:
body.update({"overrides": overrides})
response = post(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def delete_domain_overrides(id: list = None,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Bulk delete reputation domain overrides (INTERNAL)
:param list id: IDs of reputation overrides
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 320, "limit": 574, "responseCode": 200, "count": 67, "data": [{"id": 298, "flags": 255, "listName": "Case success involve speech push compare act.", "defaultValue": true, "domainPatternBase": "Happy personal newspaper.", "domainPattern": "Certainly interview young owner program force maintain.", "publicPrefixMatch": true, "wildcardMatch": false, "deleted": false, "expired": false, "lastUpdatedTimestamp": 1431814766}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Matter bill language court thought response.", "messageTemplate": "Foreign other church argue.", "field": "Range way serious fund drop happy final.", "parameter": {}, "timestamp": 312867132}], "currentPage": 482, "size": 327}
"""
from requests import delete
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/domain".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if id:
body.update({"id": id})
response = delete(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def find_domain_overrides(limit: int = None, offset: int = None, includeFlags: int = None, excludeFlags: int = None, subCriteria: list = None, listID: list = None, listName: list = None, includedListFlags: int = None, excludedListFlags: int = None, startTimestamp: int = None, endTimestamp: int = None, timeFieldStrategy: list = None, minValue: int = None, maxValue: int = None, keywords: list = None, keywordMatchStrategy: str = None, timeMatchStrategy: str = None, domainPatternBases: list = None, keywordFieldStrategy: list = None, sortBy: list = None, includeDeleted: bool = 'False', exclude: bool = 'False', required: bool = 'False', includeExpired: bool = 'False',json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Search domain overrides (INTERNAL)
:param int limit: Set this value to set max number of results. By default, no restriction on result set size.
:param int offset: Set this value to skip the first (offset) objects. By default, return result from first object.
:param int includeFlags: Only include objects which have includeFlags set.
:param int excludeFlags: Exclude objects which have excludeFlags set.
:param list subCriteria:
:param list listID: Collection of override lists' IDs
:param list listName: Collection of override lists' names
:param int includedListFlags: Include records with flags in override list
:param int excludedListFlags: Exclude records with flags in override list
:param int startTimestamp: Records after this timestamp against fields defined by timeFieldStrategy
:param int endTimestamp: Records before this timestamp against fields defined by timeFieldStrategy
:param list timeFieldStrategy: TimeFieldStrategy to define which timestamp field(s) to match, default lastUpdatedTimestamp
:param int minValue: Lower bound for override value range [0,1]
:param int maxValue: Upper bound for override data value range [0,1]
:param list keywords: Set of keywords to match selected fields, depends on KeywordMatchStrategy
:param str keywordMatchStrategy: Define whether all/any keywords have to be matched with selected fields
:param str timeMatchStrategy: Defines how strict to match against different timestamps (all/any) using start and end timestamp (default any)
:param list domainPatternBases: Collection of domain pattern bases
:param list keywordFieldStrategy: Define which field(s) to be matched against keywords
:param list sortBy: List of properties to sort by (prefix with "-" to sort descending).
:param bool includeDeleted: Set to true to include deleted objects. By default, exclude deleted objects.
:param bool exclude: Only relevant for subcriteria. If set to true, objects matching this subcriteria object will be excluded.
:param bool required: Only relevant for subcriteria. If set to true, objects matching this subcriteria are required (AND-ed together with parent criteria).
:param bool includeExpired: Whether include expired overrides, default not include expired overrides
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 560, "limit": 728, "responseCode": 200, "count": 965, "data": [{"id": 741, "flags": 978, "listName": "Well ten girl increase section recognize nearly current.", "defaultValue": false, "domainPatternBase": "Able so peace research expect fight think site.", "domainPattern": "Fear hundred price environment side player.", "publicPrefixMatch": true, "wildcardMatch": false, "deleted": true, "expired": false, "lastUpdatedTimestamp": 219319579}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Few serious herself stay project.", "messageTemplate": "Product help financial ability around contain human leg.", "field": "Place ready here government.", "parameter": {}, "timestamp": 708290208}], "currentPage": 549, "size": 462}
"""
from requests import post
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/domain/search".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if limit:
body.update({"limit": limit})
if offset:
body.update({"offset": offset})
if includeDeleted:
body.update({"includeDeleted": includeDeleted})
if includeFlags:
body.update({"includeFlags": includeFlags})
if excludeFlags:
body.update({"excludeFlags": excludeFlags})
if subCriteria:
body.update({"subCriteria": subCriteria})
if exclude:
body.update({"exclude": exclude})
if required:
body.update({"required": required})
if listID:
body.update({"listID": listID})
if listName:
body.update({"listName": listName})
if includedListFlags:
body.update({"includedListFlags": includedListFlags})
if excludedListFlags:
body.update({"excludedListFlags": excludedListFlags})
if includeExpired:
body.update({"includeExpired": includeExpired})
if startTimestamp:
body.update({"startTimestamp": startTimestamp})
if endTimestamp:
body.update({"endTimestamp": endTimestamp})
if timeFieldStrategy:
body.update({"timeFieldStrategy": timeFieldStrategy})
if minValue:
body.update({"minValue": minValue})
if maxValue:
body.update({"maxValue": maxValue})
if keywords:
body.update({"keywords": keywords})
if keywordMatchStrategy:
body.update({"keywordMatchStrategy": keywordMatchStrategy})
if timeMatchStrategy:
body.update({"timeMatchStrategy": timeMatchStrategy})
if domainPatternBases:
body.update({"domainPatternBases": domainPatternBases})
if keywordFieldStrategy:
body.update({"keywordFieldStrategy": keywordFieldStrategy})
if sortBy:
body.update({"sortBy": sortBy})
response = post(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def get_overrides_for_domain(fqdn: str,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Look up domain override value by IP address (INTERNAL)
:param str fqdn: Domain/domain pattern to fetch overrides for
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 383, "limit": 566, "responseCode": 200, "count": 817, "data": [{"id": 247, "flags": 135, "listName": "Their somebody law realize cause trip.", "defaultValue": false, "domainPatternBase": "When town agency similar truth information break explain.", "domainPattern": "Ready treat provide direction go keep manager.", "publicPrefixMatch": false, "wildcardMatch": true, "deleted": false, "expired": false, "lastUpdatedTimestamp": 481959664}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Give mission however.", "messageTemplate": "Subject rate take break animal through manage.", "field": "Music play crime team pressure.", "parameter": {}, "timestamp": 1334143788}], "currentPage": 872, "size": 574}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/domain/{fqdn}".format(fqdn=fqdn)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def get_override_for_domain(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Look up domain override value by ID (INTERNAL)
:param int id: ID of override object
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:raises ObjectNotFoundException: on 404
:returns: {"offset": 37, "limit": 768, "responseCode": 200, "count": 467, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Peace well suddenly trouble.", "messageTemplate": "Hundred add central arm article.", "field": "Keep stop politics stock break store receive.", "parameter": {}, "timestamp": 924372700}], "currentPage": 882, "size": 522}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/domain/{id}".format(id=id)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def delete_domain_override(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Delete reputation domain override (INTERNAL)
:param int id: ID of override entry to remove
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 975, "limit": 190, "responseCode": 200, "count": 181, "data": [{"id": 96, "flags": 886, "listName": "Middle soldier month half group process figure reality.", "defaultValue": false, "domainPatternBase": "Message debate her guy know long drive.", "domainPattern": "Red might deal can.", "publicPrefixMatch": true, "wildcardMatch": false, "deleted": false, "expired": true, "lastUpdatedTimestamp": 611692120}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Professional option why lay finish including bar.", "messageTemplate": "See hard become region evidence science center include.", "field": "Board some improve car say fight recognize bank.", "parameter": {}, "timestamp": 1285825335}], "currentPage": 275, "size": 63}
"""
from requests import delete
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/domain/{id}".format(id=id)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = delete(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def list_address_overrides(list: str = None, limit: int = 25, offset: int = 0,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""List address overrides (INTERNAL)
:param str list: Limit results to overrides from this list
:param int limit: Limit results
:param int offset: Offset results
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 733, "limit": 951, "responseCode": 200, "count": 853, "data": [{"id": 831, "flags": 693, "listName": "To our teach because month huge.", "defaultValue": false, "deleted": false, "expired": true, "lastUpdatedTimestamp": 539145432}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Nature easy dinner pull fight.", "messageTemplate": "Factor every activity plant choice ahead answer wonder.", "field": "Each amount fire base firm financial.", "parameter": {}, "timestamp": 1237763656}], "currentPage": 889, "size": 247}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/ip".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if limit:
body.update({"limit": limit})
if offset:
body.update({"offset": offset})
if list:
body.update({"list": list})
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def add_address_overrides(listName: str = None, listID: int = None, overrides: list = None, clear: bool = 'False',json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Add reputation IP override (INTERNAL)
:param str listName:
:param int listID:
:param list overrides:
:param bool clear:
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 679, "limit": 661, "responseCode": 200, "count": 857, "data": [{"id": 230, "flags": 959, "listName": "Role star concern two three.", "defaultValue": false, "deleted": false, "expired": true, "lastUpdatedTimestamp": 777216640}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Full police region a decision alone question.", "messageTemplate": "Month agreement medical player.", "field": "Also perform dark enough customer establish everything.", "parameter": {}, "timestamp": 1142051738}], "currentPage": 775, "size": 464}
"""
from requests import post
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/ip".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if listName:
body.update({"listName": listName})
if listID:
body.update({"listID": listID})
if clear:
body.update({"clear": clear})
if overrides:
body.update({"overrides": overrides})
response = post(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def delete_address_overrides(id: list = None,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Bulk delete reputation IP overrides (INTERNAL)
:param list id: IDs of IP overrides
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 202, "limit": 719, "responseCode": 200, "count": 907, "data": [{"id": 92, "flags": 801, "listName": "Wall seem approach for.", "defaultValue": true, "deleted": true, "expired": true, "lastUpdatedTimestamp": 823535973}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Politics agreement both feel event room.", "messageTemplate": "Hair show either politics.", "field": "Present degree training size crime prevent painting.", "parameter": {}, "timestamp": 641151776}], "currentPage": 798, "size": 128}
"""
from requests import delete
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/ip".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if id:
body.update({"id": id})
response = delete(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def find_address_overrides(limit: int = None, offset: int = None, includeFlags: int = None, excludeFlags: int = None, subCriteria: list = None, listID: list = None, listName: list = None, includedListFlags: int = None, excludedListFlags: int = None, startTimestamp: int = None, endTimestamp: int = None, timeFieldStrategy: list = None, minValue: int = None, maxValue: int = None, keywords: list = None, keywordMatchStrategy: str = None, timeMatchStrategy: str = None, ranges: list = None, keywordFieldStrategy: list = None, sortBy: list = None, includeDeleted: bool = 'False', exclude: bool = 'False', required: bool = 'False', includeExpired: bool = 'False',json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Search IP overrides (INTERNAL)
:param int limit: Set this value to set max number of results. By default, no restriction on result set size.
:param int offset: Set this value to skip the first (offset) objects. By default, return result from first object.
:param int includeFlags: Only include objects which have includeFlags set.
:param int excludeFlags: Exclude objects which have excludeFlags set.
:param list subCriteria:
:param list listID: Collection of override lists' IDs
:param list listName: Collection of override lists' names
:param int includedListFlags: Include records with flags in override list
:param int excludedListFlags: Exclude records with flags in override list
:param int startTimestamp: Records after this timestamp against fields defined by timeFieldStrategy
:param int endTimestamp: Records before this timestamp against fields defined by timeFieldStrategy
:param list timeFieldStrategy: TimeFieldStrategy to define which timestamp field(s) to match, default lastUpdatedTimestamp
:param int minValue: Lower bound for override value range [0,1]
:param int maxValue: Upper bound for override data value range [0,1]
:param list keywords: Set of keywords to match selected fields, depends on KeywordMatchStrategy
:param str keywordMatchStrategy: Define whether all/any keywords have to be matched with selected fields
:param str timeMatchStrategy: Defines how strict to match against different timestamps (all/any) using start and end timestamp (default any)
:param list ranges: Collection of IPRanges
:param list keywordFieldStrategy: Define which field(s) to be matched against keywords
:param list sortBy: List of properties to sort by (prefix with "-" to sort descending).
:param bool includeDeleted: Set to true to include deleted objects. By default, exclude deleted objects.
:param bool exclude: Only relevant for subcriteria. If set to true, objects matching this subcriteria object will be excluded.
:param bool required: Only relevant for subcriteria. If set to true, objects matching this subcriteria are required (AND-ed together with parent criteria).
:param bool includeExpired: Whether include expired overrides, default not include expired overrides
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 2, "limit": 391, "responseCode": 200, "count": 582, "data": [{"id": 807, "flags": 486, "listName": "Side less situation piece.", "defaultValue": false, "deleted": true, "expired": false, "lastUpdatedTimestamp": 1016746261}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Leader every picture decide someone important final.", "messageTemplate": "Central go help star.", "field": "Region well increase.", "parameter": {}, "timestamp": 824174210}], "currentPage": 524, "size": 445}
"""
from requests import post
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/ip/search".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if limit:
body.update({"limit": limit})
if offset:
body.update({"offset": offset})
if includeDeleted:
body.update({"includeDeleted": includeDeleted})
if includeFlags:
body.update({"includeFlags": includeFlags})
if excludeFlags:
body.update({"excludeFlags": excludeFlags})
if subCriteria:
body.update({"subCriteria": subCriteria})
if exclude:
body.update({"exclude": exclude})
if required:
body.update({"required": required})
if listID:
body.update({"listID": listID})
if listName:
body.update({"listName": listName})
if includedListFlags:
body.update({"includedListFlags": includedListFlags})
if excludedListFlags:
body.update({"excludedListFlags": excludedListFlags})
if includeExpired:
body.update({"includeExpired": includeExpired})
if startTimestamp:
body.update({"startTimestamp": startTimestamp})
if endTimestamp:
body.update({"endTimestamp": endTimestamp})
if timeFieldStrategy:
body.update({"timeFieldStrategy": timeFieldStrategy})
if minValue:
body.update({"minValue": minValue})
if maxValue:
body.update({"maxValue": maxValue})
if keywords:
body.update({"keywords": keywords})
if keywordMatchStrategy:
body.update({"keywordMatchStrategy": keywordMatchStrategy})
if timeMatchStrategy:
body.update({"timeMatchStrategy": timeMatchStrategy})
if ranges:
body.update({"ranges": ranges})
if keywordFieldStrategy:
body.update({"keywordFieldStrategy": keywordFieldStrategy})
if sortBy:
body.update({"sortBy": sortBy})
response = post(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def get_override_for_i_p(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Look up IP override value by ID (INTERNAL)
:param int id: ID of override object
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:raises ObjectNotFoundException: on 404
:returns: {"offset": 837, "limit": 301, "responseCode": 200, "count": 446, "metaData": {"additionalProperties": {}}, "messages": [{"message": "That begin wonder.", "messageTemplate": "Yard prepare large.", "field": "Discussion three large right organization.", "parameter": {}, "timestamp": 781663604}], "currentPage": 837, "size": 113}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/ip/{id}".format(id=id)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def delete_address_override(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Delete reputation IP override (INTERNAL)
:param int id: ID of override entry to remove
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 897, "limit": 569, "responseCode": 200, "count": 248, "data": [{"id": 532, "flags": 788, "listName": "Experience enough better market agreement.", "defaultValue": true, "deleted": false, "expired": false, "lastUpdatedTimestamp": 605837813}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Trouble friend expert.", "messageTemplate": "Create mouth than describe.", "field": "Market admit begin crime nature.", "parameter": {}, "timestamp": 661752037}], "currentPage": 236, "size": 909}
"""
from requests import delete
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/ip/{id}".format(id=id)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = delete(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def get_overrides_for_i_p(ip: str,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Look up domain override value by IP address (INTERNAL)
:param str ip: IP to search overrides for
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 463, "limit": 615, "responseCode": 200, "count": 542, "data": [{"id": 477, "flags": 283, "listName": "Himself send culture company.", "defaultValue": true, "deleted": true, "expired": true, "lastUpdatedTimestamp": 868698948}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "People exactly become fear him character.", "messageTemplate": "Line purpose able whole.", "field": "Career her could else a late.", "parameter": {}, "timestamp": 1348642079}], "currentPage": 275, "size": 335}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/ip/{ip}".format(ip=ip)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def get_override_lists(keywords: list = None, offset: int = 0, limit: int = 25,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""List all overrides (INTERNAL)
:param list keywords: Filter override lists by keywords
:param int offset: Skip a number of results
:param int limit: Maximum number of returned results
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 885, "limit": 859, "responseCode": 200, "count": 239, "data": [{"id": 810, "lastModified": 261, "name": "Jason Turner", "description": "Imagine question condition.", "defaultValues": true}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Offer among Congress involve mother trip.", "messageTemplate": "Increase material nature building play government firm.", "field": "Continue success father front.", "parameter": {}, "timestamp": 1205810339}], "currentPage": 654, "size": 668}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/list".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if offset:
body.update({"offset": offset})
if limit:
body.update({"limit": limit})
if keywords:
body.update({"keywords": keywords})
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def add_override_list(name: str = None, description: str = None, useForReputationCalc: bool = 'False', useForInputFiltering: bool = 'False', useForDefaultValues: bool = 'False',json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Add reputation override list (INTERNAL)
:param str name: Override list name => [a-zA-Z0-9_\-\.]*
:param str description: Override list description => [\s\w\{\}\$\-\(\)\.\[\]"\'_/\\,\*\+\#:@!?;]*
:param bool useForReputationCalc: If true, enable use of the overrides in this list when calculating reputation values. (default false)
:param bool useForInputFiltering: If true, enable use of the overrides in this list for observation input filtering. (default false)
:param bool useForDefaultValues: If true, enable use of the overrides in this list as default values. (default false)
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 122, "limit": 684, "responseCode": 200, "count": 20, "data": [{"id": 787, "lastModified": 363, "name": "Theresa Combs", "description": "Go structure conference style ever.", "defaultValues": true}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "On measure instead hard stay worry forget.", "messageTemplate": "One before easy.", "field": "Lay effort teacher charge identify human spend.", "parameter": {}, "timestamp": 119086422}], "currentPage": 964, "size": 999}
"""
from requests import post
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/list".format()
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if name:
body.update({"name": name})
if description:
body.update({"description": description})
if useForReputationCalc:
body.update({"useForReputationCalc": useForReputationCalc})
if useForInputFiltering:
body.update({"useForInputFiltering": useForInputFiltering})
if useForDefaultValues:
body.update({"useForDefaultValues": useForDefaultValues})
response = post(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def get_override_list_by_id(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Get override list by ID (INTERNAL)
:param int id: ID of OverrideList
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:raises ObjectNotFoundException: on 404
:returns: {"offset": 544, "limit": 373, "responseCode": 200, "count": 287, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Deep parent operation.", "messageTemplate": "Physical increase right world poor behind finally.", "field": "His about movie morning about often building.", "parameter": {}, "timestamp": 1017368563}], "currentPage": 993, "size": 108}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/list/{id}".format(id=id)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = get(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def update_override_list(id: int, name: str = None, description: str = None, useForReputationCalc: bool = 'False', useForInputFiltering: bool = 'False', useForDefaultValues: bool = 'False',json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Update reputation override list (INTERNAL)
:param int id: ID of reputation override list
:param str name: If set, update the name of this list => [a-zA-Z0-9_\-\.]*
:param str description: If set, update the description of this list => [\s\w\{\}\$\-\(\)\.\[\]"\'_/\\,\*\+\#:@!?;]*
:param bool useForReputationCalc: If set, enable/disable use of the overrides in this list when calculating reputation values
:param bool useForInputFiltering: If set, enable/disable use of the overrides in this list for observation input filtering
:param bool useForDefaultValues: If set, enable/disable use of the overrides in this list as default values
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:raises ObjectNotFoundException: on 404
:returns: {"offset": 3, "limit": 901, "responseCode": 200, "count": 503, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Approach partner environmental improve.", "messageTemplate": "Natural black customer tonight expect.", "field": "Take your most ahead practice American.", "parameter": {}, "timestamp": 382286229}], "currentPage": 360, "size": 898}
"""
from requests import put
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/list/{id}".format(id=id)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
if name:
body.update({"name": name})
if description:
body.update({"description": description})
if useForReputationCalc:
body.update({"useForReputationCalc": useForReputationCalc})
if useForInputFiltering:
body.update({"useForInputFiltering": useForInputFiltering})
if useForDefaultValues:
body.update({"useForDefaultValues": useForDefaultValues})
response = put(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response
[docs]@register_command(extending=('reputation','v1','override','domain'))
def delete_override_list(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Delete reputation override list (INTERNAL)
:param int id: ID of override list to remove
:raises AuthenticationFailedException: on 401
:raises ValidationErrorException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 237, "limit": 475, "responseCode": 200, "count": 648, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Wish TV him near in.", "messageTemplate": "Citizen firm report idea.", "field": "Recently measure real accept way.", "parameter": {}, "timestamp": 810702741}], "currentPage": 296, "size": 776}
"""
from requests import delete
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reputation/v1/override/list/{id}".format(id=id)
headers = {
'Content-Type': 'application/json',
'User-Agent': 'ArgusToolbelt/1.0'
}
if apiKey:
headers["Argus-API-Key"] = apiKey
elif authentication and isinstance(authentication, dict):
headers.update(authentication)
elif callable(authentication):
headers.update(authentication(url))
body = {}
response = delete(url, json=body if body else None, verify=verify, headers=headers)
errors = []
if response.status_code == 401:
raise http.AuthenticationFailedException(response)
elif response.status_code == 403:
raise http.AccessDeniedException(response)
elif response.status_code == 412:
raise http.ValidationErrorException(response)
elif response.status_code == 404:
raise http.ObjectNotFoundException(response)
return response.json() if json else response