You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Daniel Chaffelson (JIRA)" <ji...@apache.org> on 2017/09/07 21:56:00 UTC

[jira] [Comment Edited] (NIFI-4332) Add NiFi Shell for interacting with NiFi REST API

    [ https://issues.apache.org/jira/browse/NIFI-4332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16157728#comment-16157728 ] 

Daniel Chaffelson edited comment on NIFI-4332 at 9/7/17 9:55 PM:
-----------------------------------------------------------------

In the interest of -resolving- adding to this issue I have started ernest work on a Python wrapper for the Rest API by leveraging the Swagger definition produced at build time to create a base API interface in native Python, and then a wrapper module to provide users with much-requested high level functions. The use of the Swagger definition provides the full Rest API as callable python methods and properties with minimal additional coding, with easy integration into more abstract commands like 'deploy template'.
https://github.com/Chaffelson/nipyapi
This is mainly driven by several large users wanting NiFi as a layer in their data-movement-as-a-service platform, where a user portal drives instantiation of templates to complete movement tasks which leverage NiFi's other desirable framework features, but make little initial use of the GUI apart from administrative monitoring tasks.
Contributions and advice on how this can integrate with current development efforts very welcome.

I am also aware of a project in Java focussed around Template deployment, but with good potential for expansion
https://github.com/hermannpencole/nifi-config


was (Author: chaffelson):
In the interest of -resolving- adding to this issue I have started ernest work on a Python wrapper for the Rest API by leveraging the Swagger definition produced at build time to create a base API interface in native Python, and then a wrapper module to provide users with much-requested high level functions. The use of the Swagger definition provides the full Rest API as callable python methods and properties with minimal additional coding, with easy integration into more abstract commands like 'deploy template'.
https://github.com/Chaffelson/nipyapi
This is mainly driven by several large users wanting NiFi as a layer in their data-movement-as-a-service platform, where a user portal drives instantiation of templates to complete movement tasks which leverage NiFi's other desirable framework features, but make little initial use of the GUI apart from administrative monitoring tasks.

I am also aware of a project in Java focussed around Template deployment, but with good potential for expansion
https://github.com/hermannpencole/nifi-config

> Add NiFi Shell for interacting with NiFi REST API
> -------------------------------------------------
>
>                 Key: NIFI-4332
>                 URL: https://issues.apache.org/jira/browse/NIFI-4332
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Jeremy Dyer
>            Assignee: Jeremy Dyer
>
> There are several permutations of nifi shells floating around on Github. The fact that so many of these exists tells me its a feature people want. I propose we add a NiFi shell to the official project that people can use for official interaction with the NiFi REST API. While shells are typically not written in Java I feel quite strongly in our case using Java would be the best fit. Using Java would allow us to use reflection on the "nifi-web-api" layer to reflected expected types, paths, responses, etc with minimal coding effort.
> I expect there will be many more features that can be added to this shell but as a minimal starting point the shell should allow an end user to interact with all of the NiFi REST API endpoints defined at https://nifi.apache.org/docs/nifi-docs/rest-api/index.html



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)