def search_hosts(self, offset: int = None, limit: int = None, sortkey: str = None, sortdir: str = None, filter_param: str = None, **kw) -> PrivXAPIResponse: """ Search for hosts Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, sortkey=sortkey, sortdir=sortdir, filter=filter_param, ) response_status, data = self._http_post(UrlEnum.HOST_STORE.SEARCH, query_params=search_params, body=kw) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_access_groups( self, offset: Optional[int] = None, limit: Optional[int] = None, sort_key: Optional[str] = None, sort_dir: Optional[str] = None, access_group_params: Optional[dict] = None, ) -> PrivXAPIResponse: """ Get access groups. Returns: PrivXStreamResponse """ search_params = self._get_search_params( offset=offset, limit=limit, sortkey=sort_key, sortdir=sort_dir, ) response_status, data = self._http_post( UrlEnum.AUTHORIZER.SEARCH_ACCESS_GROUPS, query_params=search_params, body=get_value(access_group_params, dict()), ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_audit_events( self, offset: Optional[int] = None, limit: Optional[int] = None, query: Optional[str] = None, sort_dir: Optional[str] = None, fuzzy_count: Optional[bool] = False, ) -> PrivXAPIResponse: """ Get all audit events. fuzzy_count is False by default, in order to enable it use fuzzy_count=True. Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, query=query, sortdir=sort_dir, fuzzycount=bool(fuzzy_count), ) response_status, data = self._http_get( UrlEnum.MONITOR.AUDIT_EVENTS, query_params=search_params ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_network_targets( self, offset: Optional[int] = None, limit: Optional[int] = None, sort_key: Optional[str] = None, sort_dir: Optional[str] = None, filter_param: Optional[str] = None, search_payload: Optional[dict] = None, ) -> PrivXAPIResponse: """ Search for network-targets Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, sortkey=sort_key, sortdir=sort_dir, filter=filter_param, ) response_status, data = self._http_post( UrlEnum.NETWORK_ACCESS_MANAGER.SEARCH_NETWORK_TARGETS, query_params=search_params, body=get_value(search_payload, dict()), ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_audit_events( self, offset: Optional[int] = None, limit: Optional[int] = None, query: Optional[str] = None, sort_dir: Optional[str] = None, fuzzy_count: Optional[bool] = False, audit_event_params: Optional[dict] = None, ) -> PrivXAPIResponse: """ Search for audit events. fuzzy_count is False by default, in order to enable it use fuzzy_count=True. If audit_event_params is None, it will be converted to empty dict. Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, query=query, sortdir=sort_dir, fuzzycount=bool(fuzzy_count), ) response_status, data = self._http_post( UrlEnum.MONITOR.SEARCH_AUDIT_EVENTS, query_params=search_params, body=audit_event_params if audit_event_params else {}, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_audit_events( self, offset: int = None, limit: int = None, query: str = None, sortdir: str = None, fuzzycount: bool = None, ) -> PrivXAPIResponse: """ Get all audit events. Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, query=query, sortdir=sortdir, fuzzycount=fuzzycount, ) response_status, data = self._http_get( UrlEnum.MONITOR.AUDIT_EVENTS, query_params=search_params ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def disable_network_target(self, network_target_id: str, disabled: dict): response_status, data = self._http_put( UrlEnum.NETWORK_ACCESS_MANAGER.DISABLE_NETWORK_TARGET, path_params={"network_target_id": network_target_id}, body=disabled, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_requests( self, filter_param: str, offset: Optional[int] = None, limit: Optional[int] = None, sort_key: Optional[str] = None, sort_dir: Optional[str] = None, request_param: Optional[dict] = None, ) -> PrivXAPIResponse: """ Search access requests. Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, sortkey=sort_key, sortdir=sort_dir, filter=filter_param, ) response_status, data = self._http_post( UrlEnum.WORKFLOW_ENGINE.SEARCH_REQUESTS, query_params=search_params, body=request_param, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_connections( self, offset: Optional[int] = None, limit: Optional[int] = None, sort_key: Optional[str] = None, sort_dir: Optional[str] = None, connection_params: Optional[dict] = None, ) -> PrivXAPIResponse: """ Search for connections. Returns: PrivXAPIResponse """ search_params = self._get_search_params(offset=offset, limit=limit, sortkey=sort_key, sortdir=sort_dir) response_status, data = self._http_post( UrlEnum.CONNECTION_MANAGER.SEARCH, query_params=search_params, body=get_value(connection_params, dict()), ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_hosts( self, offset: Optional[int] = None, limit: Optional[int] = None, sort_key: Optional[str] = None, sort_dir: Optional[str] = None, filter_param: Optional[str] = None, search_payload: Optional[dict] = None, ) -> PrivXAPIResponse: """ Search for hosts Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, sortkey=sort_key, sortdir=sort_dir, filter=filter_param, ) response_status, data = self._http_post( UrlEnum.HOST_STORE.SEARCH, query_params=search_params, body=get_value(search_payload, dict()), ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_certificates( self, cert_params: dict, offset: Optional[int] = None, limit: Optional[int] = None, sort_key: Optional[str] = None, sort_dir: Optional[str] = None, ) -> PrivXAPIResponse: """ Search certificates. Returns: PrivXStreamResponse """ search_params = self._get_search_params( offset=offset, limit=limit, sortkey=sort_key, sortdir=sort_dir, ) response_status, data = self._http_post( UrlEnum.AUTHORIZER.SEARCH_CERTS, query_params=search_params, body=cert_params, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def search_audit_events( self, offset: int = None, limit: int = None, query: str = None, sortdir: str = None, fuzzycount: bool = None, audit_event_params: dict = None, ) -> PrivXAPIResponse: """ Search for audit events. Returns: PrivXAPIResponse """ search_params = self._get_search_params( offset=offset, limit=limit, query=query, sortdir=sortdir, fuzzycount=fuzzycount, ) response_status, data = self._http_post( UrlEnum.MONITOR.SEARCH_AUDIT_EVENTS, query_params=search_params, body=audit_event_params, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_role_store_status(self) -> PrivXAPIResponse: """ Get microservice status. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.ROLE_STORE.STATUS, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_trail_index_service_status(self) -> PrivXAPIResponse: """ Get microservice status. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.TRAIL_INDEX.STATUS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_host_store_options(self) -> PrivXAPIResponse: """ Get the default service options. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.HOST_STORE.SETTINGS, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_network_manager_service_status(self) -> PrivXAPIResponse: """ Get microservice status. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.NETWORK_ACCESS_MANAGER.STATUS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_workflow_engine_status(self) -> PrivXAPIResponse: """ Get microservice status. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.WORKFLOW_ENGINE.STATUS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_license_manager_status(self) -> PrivXAPIResponse: """ Get microservice status. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.LICENSE.STATUS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_auth_service_status(self) -> PrivXAPIResponse: """ Get microservice status. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.AUTH.STATUS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def refresh_license(self) -> PrivXAPIResponse: """ Refresh the license info. Returns: PrivXAPIResponse """ response_status, data = self._http_post(UrlEnum.LICENSE.REFRESH, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def terminate_privx_instances(self) -> PrivXAPIResponse: """ Terminate PrivX instances. Returns: PrivXAPIResponse """ response_status, data = self._http_post(UrlEnum.MONITOR.TERMINATE_INSTANCES) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_audit_event_codes(self) -> PrivXAPIResponse: """ Get audit event codes. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.MONITOR.AUDIT_EVENT_CODES) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_license(self) -> PrivXAPIResponse: """ Gets PrivX license. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.LICENSE.LICENSE) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_network_target( self, network_target_id: str, ): response_status, data = self._http_get( UrlEnum.NETWORK_ACCESS_MANAGER.NETWORK_TARGET, path_params={"network_target_id": network_target_id}, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_sources(self) -> PrivXAPIResponse: """ Get sources. Returns: PrivxAPIResponse """ response_status, data = self._http_get(UrlEnum.ROLE_STORE.SOURCES) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_vault_schemas(self) -> PrivXAPIResponse: """ Returns the defined schemas. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.VAULT.SCHEMAS, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_hosts(self) -> PrivXAPIResponse: """ Get hosts. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.HOST_STORE.HOSTS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def deactivate_license(self) -> PrivXAPIResponse: """ Deactivate license. Returns: PrivXAPIResponse """ response_status, data = self._http_post(UrlEnum.LICENSE.DEACTIVATE, ) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_privx_components_status(self) -> PrivXAPIResponse: """ Get all the deployed privx components status. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.MONITOR.COMPONENTS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)
def get_instance_status(self) -> PrivXAPIResponse: """ Status of the whole instance. Returns: PrivXAPIResponse """ response_status, data = self._http_get(UrlEnum.MONITOR.INSTANCE_STATUS) return PrivXAPIResponse(response_status, HTTPStatus.OK, data)