[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508180#comment-16508180 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 Thanks everybody! > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > Fix For: 1.7.0 > > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508165#comment-16508165 ] ASF GitHub Bot commented on NIFI-5022: -- Github user asfgit closed the pull request at: https://github.com/apache/nifi/pull/2588 > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508161#comment-16508161 ] ASF subversion and git services commented on NIFI-5022: --- Commit 946c2fe6b3a094026c5d376676c67e7684bd18ee in nifi's branch refs/heads/master from [~ottobackwards] [ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=946c2fe ] NIFI-5022 This closes #2588. InvokeAWSGatewayApi processor per review, simplify header building and remove new map Per review: - removed apache headers from 3rd party files per https://www.apache.org/legal/src-headers.html#3party - referenced commit/repo in notice file - created rat configuration to account for files without headers Signed-off-by: joewitt > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508159#comment-16508159 ] ASF GitHub Bot commented on NIFI-5022: -- Github user joewitt commented on the issue: https://github.com/apache/nifi/pull/2588 full clean build w/contrib check passes. review of code all seems ok and no new dep issues license and notice updates correct/header changes. My review was more legal/structural than functional. If there are functional improvements needed we can do them over time as this is safely isolated from impacting other items. So +1 merging to master. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508142#comment-16508142 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 @joewitt requested changes are in > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508081#comment-16508081 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 Thanks @joewitt for clearing that up. I'll get right to it. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508070#comment-16508070 ] ASF GitHub Bot commented on NIFI-5022: -- Github user joewitt commented on the issue: https://github.com/apache/nifi/pull/2588 @ottobackwards this describes how to handle code contributed to the ASF https://www.apache.org/legal/src-headers.html#headers In short that is when you add the header. This describes how to handle code not contributed to but rather pulled into ASF projects (third party works): https://www.apache.org/legal/src-headers.html#3party In short dont add the header. So yes please remove the header from all files which are sourced externally. If you were simply pulling in a code snippet/etc.. then it would be ok to just cite it like you did and have the header but this case is pretty simple. Anyway, easy fix, just remove header and yes add RAT exclusions for each and put a comment explaining in case someone flags it later. Your comments about them not doing a release with the PR you did are fine. It is ok to pull source in this case just obviously preferable to avoid it where possible. So all good. The other rub here is the author doesn't tag releases which helps us in terms of provenance. Can you please reference a specific commit in the git repo you're pulling from in the notice entry. Not strictly necessary but safer in terms of 'it was ALv2 licensed when i pulled this'. I'll try to look again when that is done > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508022#comment-16508022 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 Do I need to add ratcheck exceptions if I remove the headers? > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508014#comment-16508014 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 @joewitt I added the headers because the code was already apache lic. in the project, I thought that would be the proper thing to do. I ( possibly or probably wrongly ) thought that if you put the lic. in the project you *should* lic. the files with headers. As for taking the library vs. including the code. I took that code because I was not sure if the library would be updated quickly enough if there where changes in the AWS library versions in nifi or other changes required ( such as my need to add support for query parameters ). Also, there is not a lot of code to work with. @mattyb149 and I talked it out and I *have* done a pr to the project for a version bump that would allow us to use the library, but there has been no response to that pr since May 3rd when I posted it ( as I had feared at the start ). Currently I *think* the options are ( in no order ) - The PR goes with the code as it is, with a notice to move to the library if and when it is updated to a comparable version of aws - I do a proper fork into my github organization with the required version and publish ( currently I just do bintray and center ) - This PR is shelved until the project takes the PR Obviously I would prefer not to shelve this. Thoughts? Should I remove the headers? > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507997#comment-16507997 ] ASF GitHub Bot commented on NIFI-5022: -- Github user joewitt commented on the issue: https://github.com/apache/nifi/pull/2588 @ottobackwards I would be fine merging this in without running additional testing like you've already done. What we cannot have though are the ASF headers on source code we copied from elsewhere. You did a great job of adding it to the NOTICE files but we cannot add the ASF header. Also, why can't we just use the library as it exists as a binary dependency? Are there some critical changes or something? > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507957#comment-16507957 ] ASF GitHub Bot commented on NIFI-5022: -- Github user jzonthemtn commented on the issue: https://github.com/apache/nifi/pull/2588 @ottobackwards Haven't tested it but code-wise it makes sense. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507947#comment-16507947 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on a diff in the pull request: https://github.com/apache/nifi/pull/2588#discussion_r194380548 --- Diff: nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/client/GenericApiGatewayClient.java --- @@ -0,0 +1,134 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.aws.wag.client; + +import com.amazonaws.AmazonServiceException; +import com.amazonaws.AmazonWebServiceClient; +import com.amazonaws.ClientConfiguration; +import com.amazonaws.DefaultRequest; +import com.amazonaws.auth.AWS4Signer; +import com.amazonaws.auth.AWSCredentialsProvider; +import com.amazonaws.http.AmazonHttpClient; +import com.amazonaws.http.ExecutionContext; +import com.amazonaws.http.HttpMethodName; +import com.amazonaws.http.HttpResponseHandler; +import com.amazonaws.http.JsonResponseHandler; +import com.amazonaws.internal.auth.DefaultSignerProvider; +import com.amazonaws.protocol.json.JsonOperationMetadata; +import com.amazonaws.protocol.json.SdkStructuredPlainJsonFactory; +import com.amazonaws.regions.Region; +import com.amazonaws.transform.JsonErrorUnmarshaller; +import com.amazonaws.transform.JsonUnmarshallerContext; +import com.amazonaws.transform.Unmarshaller; +import com.fasterxml.jackson.databind.JsonNode; +import java.io.InputStream; +import java.net.URI; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class GenericApiGatewayClient extends AmazonWebServiceClient { +private static final String API_GATEWAY_SERVICE_NAME = "execute-api"; +private static final String API_KEY_HEADER = "x-api-key"; + +private final JsonResponseHandler responseHandler; +private final HttpResponseHandler errorResponseHandler; +private final AWSCredentialsProvider credentials; +private String apiKey; +private final AWS4Signer signer; + +GenericApiGatewayClient(ClientConfiguration clientConfiguration, String endpoint, Region region, +AWSCredentialsProvider credentials, String apiKey, AmazonHttpClient httpClient) { +super(clientConfiguration); +setRegion(region); +setEndpoint(endpoint); +this.credentials = credentials; +this.apiKey = apiKey; +this.signer = new AWS4Signer(); +this.signer.setServiceName(API_GATEWAY_SERVICE_NAME); +this.signer.setRegionName(region.getName()); + +final JsonOperationMetadata metadata = new JsonOperationMetadata().withHasStreamingSuccessResponse(false).withPayloadJson(false); +final Unmarshaller responseUnmarshaller = in -> new GenericApiGatewayResponse(in.getHttpResponse()); +this.responseHandler = SdkStructuredPlainJsonFactory.SDK_JSON_FACTORY.createResponseHandler(metadata, responseUnmarshaller); +JsonErrorUnmarshaller defaultErrorUnmarshaller = new JsonErrorUnmarshaller(GenericApiGatewayException.class, null) { +@Override +public AmazonServiceException unmarshall(JsonNode jsonContent) throws Exception { +return new GenericApiGatewayException(jsonContent.toString()); +} +}; +this.errorResponseHandler = SdkStructuredPlainJsonFactory.SDK_JSON_FACTORY.createErrorResponseHandler( +Collections.singletonList(defaultErrorUnmarshaller), null); + +if (httpClient != null) { +super.client = httpClient; +} +} + +public GenericApiGatewayResponse execute(GenericApiGatewayRequest request) { +return execut
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507931#comment-16507931 ] ASF GitHub Bot commented on NIFI-5022: -- Github user jzonthemtn commented on a diff in the pull request: https://github.com/apache/nifi/pull/2588#discussion_r194373053 --- Diff: nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/client/Validate.java --- @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.aws.wag.client; + +import com.amazonaws.util.StringUtils; --- End diff -- Ok, thanks! > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507925#comment-16507925 ] ASF GitHub Bot commented on NIFI-5022: -- Github user jzonthemtn commented on a diff in the pull request: https://github.com/apache/nifi/pull/2588#discussion_r194370513 --- Diff: nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/client/GenericApiGatewayClient.java --- @@ -0,0 +1,134 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.aws.wag.client; + +import com.amazonaws.AmazonServiceException; +import com.amazonaws.AmazonWebServiceClient; +import com.amazonaws.ClientConfiguration; +import com.amazonaws.DefaultRequest; +import com.amazonaws.auth.AWS4Signer; +import com.amazonaws.auth.AWSCredentialsProvider; +import com.amazonaws.http.AmazonHttpClient; +import com.amazonaws.http.ExecutionContext; +import com.amazonaws.http.HttpMethodName; +import com.amazonaws.http.HttpResponseHandler; +import com.amazonaws.http.JsonResponseHandler; +import com.amazonaws.internal.auth.DefaultSignerProvider; +import com.amazonaws.protocol.json.JsonOperationMetadata; +import com.amazonaws.protocol.json.SdkStructuredPlainJsonFactory; +import com.amazonaws.regions.Region; +import com.amazonaws.transform.JsonErrorUnmarshaller; +import com.amazonaws.transform.JsonUnmarshallerContext; +import com.amazonaws.transform.Unmarshaller; +import com.fasterxml.jackson.databind.JsonNode; +import java.io.InputStream; +import java.net.URI; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class GenericApiGatewayClient extends AmazonWebServiceClient { +private static final String API_GATEWAY_SERVICE_NAME = "execute-api"; +private static final String API_KEY_HEADER = "x-api-key"; + +private final JsonResponseHandler responseHandler; +private final HttpResponseHandler errorResponseHandler; +private final AWSCredentialsProvider credentials; +private String apiKey; +private final AWS4Signer signer; + +GenericApiGatewayClient(ClientConfiguration clientConfiguration, String endpoint, Region region, +AWSCredentialsProvider credentials, String apiKey, AmazonHttpClient httpClient) { +super(clientConfiguration); +setRegion(region); +setEndpoint(endpoint); +this.credentials = credentials; +this.apiKey = apiKey; +this.signer = new AWS4Signer(); +this.signer.setServiceName(API_GATEWAY_SERVICE_NAME); +this.signer.setRegionName(region.getName()); + +final JsonOperationMetadata metadata = new JsonOperationMetadata().withHasStreamingSuccessResponse(false).withPayloadJson(false); +final Unmarshaller responseUnmarshaller = in -> new GenericApiGatewayResponse(in.getHttpResponse()); +this.responseHandler = SdkStructuredPlainJsonFactory.SDK_JSON_FACTORY.createResponseHandler(metadata, responseUnmarshaller); +JsonErrorUnmarshaller defaultErrorUnmarshaller = new JsonErrorUnmarshaller(GenericApiGatewayException.class, null) { +@Override +public AmazonServiceException unmarshall(JsonNode jsonContent) throws Exception { +return new GenericApiGatewayException(jsonContent.toString()); +} +}; +this.errorResponseHandler = SdkStructuredPlainJsonFactory.SDK_JSON_FACTORY.createErrorResponseHandler( +Collections.singletonList(defaultErrorUnmarshaller), null); + +if (httpClient != null) { +super.client = httpClient; +} +} + +public GenericApiGatewayResponse execute(GenericApiGatewayRequest request) { +return execute(r
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507919#comment-16507919 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on a diff in the pull request: https://github.com/apache/nifi/pull/2588#discussion_r194368856 --- Diff: nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/client/Validate.java --- @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.aws.wag.client; + +import com.amazonaws.util.StringUtils; --- End diff -- This is part of the code from an external library, and I believe this is intentional. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507917#comment-16507917 ] ASF GitHub Bot commented on NIFI-5022: -- Github user jzonthemtn commented on a diff in the pull request: https://github.com/apache/nifi/pull/2588#discussion_r194368134 --- Diff: nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/client/Validate.java --- @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.aws.wag.client; + +import com.amazonaws.util.StringUtils; --- End diff -- Just wondering if you meant this `StringUtils`. I do this a lot when I really want `StringUtils` from commons lang. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16502136#comment-16502136 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 I can provide the reviewers with access to my PETSTORE endpoint for testing and we can work out how not to overload it, if that helps get this going > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16482721#comment-16482721 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 bump, any takers? > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16480493#comment-16480493 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 @mattyb149 no word on that pr. @jvwing any chance you may be able to review? > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16462492#comment-16462492 ] ASF GitHub Bot commented on NIFI-5022: -- Github user mattyb149 commented on the issue: https://github.com/apache/nifi/pull/2588 Sounds good to me, especially if that project is active, I'd like to keep our dependencies as modules rather than code if possible. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16462483#comment-16462483 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 It would be better if we would just use RPGreen's maven dep instead off bringing in the classes. I have a pr against his repo to upgrade to the same aws package we use. When that is taken and a release is cut, I'll move over to that. I think we should still review however, in the event that he doesn't take that pr and we have to keep the code. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16462484#comment-16462484 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 https://github.com/rpgreen/apigateway-generic-java-sdk/pull/8 > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16457696#comment-16457696 ] ASF GitHub Bot commented on NIFI-5022: -- Github user zenfenan commented on the issue: https://github.com/apache/nifi/pull/2588 @ottobackwards I would really love to do it but I'm occupied until next week. If no one takes a look by that time, I'll definitely do that. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16457692#comment-16457692 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 @zenfenan any chance for a review? > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435451#comment-16435451 ] ASF GitHub Bot commented on NIFI-5022: -- Github user pvillard31 commented on the issue: https://github.com/apache/nifi/pull/2588 Hey @ottobackwards - I'd love to have a look but I won't have cycles to do a proper review and testing before end of next week at best. > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435406#comment-16435406 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-from-example.html If you can do this you can test with the pet store sample > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435340#comment-16435340 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 @MikeThomsen @pvillard31 @mattyb149 @mans2singh Anyone up for a code review? > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16416336#comment-16416336 ] ASF GitHub Bot commented on NIFI-5022: -- Github user ottobackwards commented on the issue: https://github.com/apache/nifi/pull/2588 Notes: - I am still validating against aws service/petstore - I have implemented proxy user/password in these classes, there is another PR that adds it to the base, but I didn't want to wait and didn't want to expand scope. I did however want all the tests from InvokeHttp to run. This will have to be addressed > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5022) Create an AWS Gateway Web API version of InvokeHTTP
[ https://issues.apache.org/jira/browse/NIFI-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16416334#comment-16416334 ] ASF GitHub Bot commented on NIFI-5022: -- GitHub user ottobackwards opened a pull request: https://github.com/apache/nifi/pull/2588 NIFI-5022 InvokeAWSGatewayApi processor Thank you for submitting a contribution to Apache NiFi. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [x] Does your PR title start with NIFI- where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [x] Has your PR been rebased against the latest commit within the target branch (typically master)? - [x] Is your initial contribution a single, squashed commit? ### For code changes: - [x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder? - [x] Have you written or updated unit tests to verify your changes? - [x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly? - [x] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly? - [ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ottobackwards/nifi aws-web-api Alternatively you can review and apply these changes as the patch at: https://github.com/apache/nifi/pull/2588.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2588 commit 938186639a2f3230c905a908b0cd39477615710a Author: Otto Fowler Date: 2018-03-23T17:00:19Z NIFI-5022 InvokeAWSGatewayApi processor > Create an AWS Gateway Web API version of InvokeHTTP > --- > > Key: NIFI-5022 > URL: https://issues.apache.org/jira/browse/NIFI-5022 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Otto Fowler >Assignee: Otto Fowler >Priority: Major > > Currently the AWS processors are lacking support to call AWS Gateway Web Apis. > Nifi should provide support for calling this apis, including support for all > the same authentication methods available to the other AWS client processors. > Since these APIs are web services, their expected use would require an > interface more like InvokeHTTP however, than the specialized interfaces for > the other AWS Services. > What would be required then would be a new AWS Processor that exposed the > same interface as InvokeHTTP, but backed by the AWS client support ( and of > course modified to fit the differences between the OK http client and the > Amazon client ). > This new processor should be able to pass all the applicable tests available > in the InvokeHttp test suite. > The processor should also be factored in such a way as to make it possible > for the creation of custom processors for specific apis > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)