예제 #1
0
    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)
예제 #2
0
    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)
예제 #4
0
    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)
예제 #7
0
 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)
예제 #8
0
    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)
예제 #9
0
    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)
예제 #10
0
    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)
예제 #11
0
    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)
예제 #13
0
 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)
예제 #14
0
    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)
예제 #15
0
    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)
예제 #16
0
    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)
예제 #17
0
    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)
예제 #18
0
    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)
예제 #19
0
    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)
예제 #20
0
    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)
예제 #23
0
    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)
예제 #24
0
 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)
예제 #25
0
    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)
예제 #26
0
    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)
예제 #27
0
    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)
예제 #28
0
    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)