"""Autogenerated API"""
import requests
from argus_cli.plugin import register_command
[docs]@register_command(extending=('reports','v1','plan'))
def get_search(offset: int = None, customerID: list = None, period: list = None, limit: int = 25,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Lists report plans (DEV)
Returns a list of matching report plans.
:param int offset: Offset result
:param list customerID: Limit to plans from this customer
:param list period: Limit to plans for this period
:param int limit: Limit output
:raises AuthenticationFailedException: on 401
:raises ValidationFailedException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 913, "limit": 766, "responseCode": 200, "count": 200, "data": [{"id": 643, "revision": 629, "flags": 913, "description": "Develop bill trouble travel painting plant side.", "created": 379, "lastUpdatedTimestamp": 153158618, "lastUpdatedByUser": {"id": 199, "customerID": 113, "userName": "michaelmcdaniel", "name": "Mrs. Patricia Hart MD"}, "templateID": 828, "period": "year", "globalCustomer": true}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Back agreement include rest away black her.", "messageTemplate": "Always leave property approach remember far.", "field": "Team eight race officer wind box determine.", "parameter": {}, "timestamp": 1443006213}], "currentPage": 372, "size": 661}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reports/v1/plan".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 customerID:
body.update({"customerID": customerID})
if period:
body.update({"period": period})
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=('reports','v1','plan'))
def add(setFlags: int = None, description: str = None, period: str = None, customerID: int = 0, templateID: int = 0,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Add a new report plan (DEV)
:param int setFlags:
:param str description: Report plan description => [\s\w\{\}\$\-\(\)\.\[\]"\'_/\\,\*\+\#:@!?;]*
:param str period: Report period
:param int customerID: Customer ID (default 0)
:param int templateID: Template ID (default 0)
:raises AuthenticationFailedException: on 401
:raises ValidationFailedException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 938, "limit": 621, "responseCode": 200, "count": 640, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Action family measure.", "messageTemplate": "Month energy note quickly candidate look authority.", "field": "Full growth travel season.", "parameter": {}, "timestamp": 773750053}], "currentPage": 516, "size": 90}
"""
from requests import post
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reports/v1/plan".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 setFlags:
body.update({"setFlags": setFlags})
if customerID:
body.update({"customerID": customerID})
if description:
body.update({"description": description})
if templateID:
body.update({"templateID": templateID})
if period:
body.update({"period": period})
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=('reports','v1','plan'))
def search(limit: int = None, offset: int = None, includeFlags: int = None, excludeFlags: int = None, subCriteria: list = None, customerID: list = None, id: list = None, lastUpdatedByUserID: list = None, period: list = None, startTimestamp: int = None, endTimestamp: int = None, masterID: int = None, includeDeleted: bool = 'False', exclude: bool = 'False', required: bool = 'False', includeCreatedTimestamp: bool = 'False', includeLastUpdatedTimestamp: bool = 'False',json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Lists report plans (DEV)
Returns a list of matching report plans.
: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 customerID: Restrict search to data belonging to specified customers.
:param list id:
:param list lastUpdatedByUserID:
:param list period:
:param int startTimestamp:
:param int endTimestamp:
:param int masterID:
: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 includeCreatedTimestamp:
:param bool includeLastUpdatedTimestamp:
:raises AuthenticationFailedException: on 401
:raises ValidationFailedException: on 412
:raises AccessDeniedException: on 403
:returns: {"offset": 913, "limit": 49, "responseCode": 200, "count": 35, "data": [{"id": 881, "revision": 143, "flags": 962, "description": "Military itself care himself step final whole data.", "created": 52, "lastUpdatedTimestamp": 425132426, "lastUpdatedByUser": {"id": 523, "customerID": 597, "userName": "kirkkathryn", "name": "Russell Dixon"}, "templateID": 604, "period": "custom", "globalCustomer": false}], "metaData": {"additionalProperties": {}}, "messages": [{"message": "Article thought painting sing task.", "messageTemplate": "Almost evening owner practice everyone surface serious always.", "field": "Out mind bank majority.", "parameter": {}, "timestamp": 32132770}], "currentPage": 591, "size": 135}
"""
from requests import post
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reports/v1/plan/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 customerID:
body.update({"customerID": customerID})
if id:
body.update({"id": id})
if lastUpdatedByUserID:
body.update({"lastUpdatedByUserID": lastUpdatedByUserID})
if period:
body.update({"period": period})
if startTimestamp:
body.update({"startTimestamp": startTimestamp})
if endTimestamp:
body.update({"endTimestamp": endTimestamp})
if masterID:
body.update({"masterID": masterID})
if includeCreatedTimestamp:
body.update({"includeCreatedTimestamp": includeCreatedTimestamp})
if includeLastUpdatedTimestamp:
body.update({"includeLastUpdatedTimestamp": includeLastUpdatedTimestamp})
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=('reports','v1','plan'))
def get(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Fetch report plan (DEV)
:param int id: ID of plan to fetch
:raises AuthenticationFailedException: on 401
:raises ValidationFailedException: on 412
:raises AccessDeniedException: on 403
:raises PlanNotFoundException: on 404
:returns: {"offset": 357, "limit": 930, "responseCode": 200, "count": 675, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Especially unit move citizen capital share stage herself.", "messageTemplate": "Customer door word save reality report.", "field": "Foot news contain popular.", "parameter": {}, "timestamp": 831067268}], "currentPage": 177, "size": 766}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reports/v1/plan/{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=('reports','v1','plan'))
def delete(id: int,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""Delete a report plan (DEV)
:param int id: ID of plan to delete
:raises AuthenticationFailedException: on 401
:raises ValidationFailedException: on 412
:raises AccessDeniedException: on 403
:raises ObjectNotFoundException: on 404
:returns: {"offset": 687, "limit": 417, "responseCode": 200, "count": 931, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Series discuss measure tough.", "messageTemplate": "Western painting difference mention security measure paper process.", "field": "Language but issue shake young contain.", "parameter": {}, "timestamp": 1217067946}], "currentPage": 308, "size": 80}
"""
from requests import delete
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reports/v1/plan/{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=('reports','v1','plan'))
def revisions(id: int, body: str = None, limit: int = 25,json: bool = True, verify: bool = True, apiKey: str = "", authentication: dict = {}) -> dict:
"""List previous revisions for this plan (DEV)
:param int id: ID of plan to fetch previous revisions for
:param body: Offset result
:param int limit: Limit output
:raises AuthenticationFailedException: on 401
:raises ValidationFailedException: on 412
:raises AccessDeniedException: on 403
:raises PlanNotFoundException: on 404
:returns: {"offset": 148, "limit": 39, "responseCode": 200, "count": 70, "metaData": {"additionalProperties": {}}, "messages": [{"message": "Improve future see effect school short pattern meeting.", "messageTemplate": "Girl suffer night dream room.", "field": "Purpose stay hot they country option eat.", "parameter": {}, "timestamp": 1389945307}], "currentPage": 865, "size": 140}
"""
from requests import get
from argus_api.exceptions import http
url = "https://osl-argus-trunk-web1.mnemonic.no/web/api/reports/v1/plan/{id}/revisions".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 limit:
body.update({"limit": limit})
if body:
body.update({"body": 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