nifi-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Chaffelson (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (NIFI-4332) Add NiFi Shell for interacting with NiFi REST API
Date Thu, 07 Sep 2017 21:56:00 GMT

    [ 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)

Mime
View raw message