# Logstash Kinesis Plugin - with\_kinesisEndpoint - Undefined Method

**URL:** <https://discuss.elastic.co/t/logstash-kinesis-plugin-with-kinesisendpoint-undefined-method/274922>\
**Category:** Logstash\
**Created:** [June 3, 2021, 8:38pm UTC](https://discuss.elastic.co/t/logstash-kinesis-plugin-with-kinesisendpoint-undefined-method/274922 "2021-06-03T20:38:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cosruss](https://avatars.discourse-cdn.com/v4/letter/c/eb9ed0/32.png) [@cosruss](https://discuss.elastic.co/u/cosruss)\
**Post date:** [June 3, 2021, 8:38pm UTC](https://discuss.elastic.co/t/logstash-kinesis-plugin-with-kinesisendpoint-undefined-method/274922/1 "2021-06-03T20:38:21Z")

</div>

Trying to use the Logstash Kinesis Plugin with a custom endpoint. In the config, I've got the following line:

`additional_settings => {"kinesisEndpoint" => "https://<URL to my endpoint>"}`

but I'm getting a strange error message in the log:

```auto
[ERROR][logstash.javapipeline][kinesis] Pipeline error {:pipeline_id=>"kinesis", :exception=>#<NoMethodError: undefined method `with_kinesisEndpoint' for #<Java::ComAmazonawsServicesKinesisClientlibraryLibWorker::KinesisClientLibConfiguration:0x3731691c>>, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-kinesis-2.1.2-java/lib/logstash/inputs/kinesis.rb:130:in `block in register'", "org/jruby/RubyHash.java:1415:in `each'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-kinesis-2.1.2-java/lib/logstash/inputs/kinesis.rb:128:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:228:in `block in register_plugins'", "org/jruby/RubyArray.java:1809:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:227:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:386:in `start_inputs'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:311:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:185:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:137:in `block in start'"], "pipeline.sources"=>["/etc/logstash/conf.d/kinesis.conf"], :thread=>"#<Thread:0xdf47df run>"}

```

Anybody seen this problem before?

---

<div class="post-metadata">

**Author:** ![Badger](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/badger/32/25190_2.png) [@Badger](https://discuss.elastic.co/u/Badger)\
**Post date:** [June 3, 2021, 9:43pm UTC](https://discuss.elastic.co/t/logstash-kinesis-plugin-with-kinesisendpoint-undefined-method/274922/2 "2021-06-03T21:43:28Z")

</div>

The [code](https://github.com/logstash-plugins/logstash-input-kinesis/blob/2cc0a50274f2f42abf3a6881d412ac6544134ed1/lib/logstash/inputs/kinesis.rb#L130) allows you to call arbitrary "withX()" functions using the additional\_settings option. The actual methods, such as [withKinesisEndpoint](https://github.com/awslabs/amazon-kinesis-client/blob/6f16b168a4fbd559a4c76956421bfbd9e4c99293/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java#L1047) do not have an underscore.

The underscore is [meant](https://github.com/logstash-plugins/logstash-input-kinesis/pull/51/commits/204253616b2e5bb8f7668222cf8748cd0fd83bf7) to cause the following letter to be uppercase (and the underscore dropped). So that a snake case kinesis\_endpoint in additional\_settings becomes with\_kinesis\_endpoint, and something, and I cannot for the life of me figure out what, converts that to withKinesisEndpoint before calling it.

Looking at the [spec](https://github.com/logstash-plugins/logstash-input-kinesis/blob/70de4353c7a871601711054cc2751a7b383ab417/spec/inputs/kinesis_spec.rb#L61) and the [CI build](https://travis-ci.org/github/logstash-plugins/logstash-input-kinesis/jobs/723091418) it appears to test both valid and invalid additional settings (expecting exactly this NoMethodError for invalid settings) yet the CI passes.

Just noticed the documentation says " you may invoke any one of the `withX()` functions that take a primitive by providing key-value pairs in `snake_case`". Change "kinesisEndpoint" to "kinesis\_endpoint".

---

<div class="post-metadata">

**Author:** ![cosruss](https://avatars.discourse-cdn.com/v4/letter/c/eb9ed0/32.png) [@cosruss](https://discuss.elastic.co/u/cosruss)\
**Post date:** [June 4, 2021, 8:00pm UTC](https://discuss.elastic.co/t/logstash-kinesis-plugin-with-kinesisendpoint-undefined-method/274922/3 "2021-06-04T20:00:14Z")

</div>

> [@Badger](#):
>
> kinesis\_endpoint

Thanks! That's what I was missing!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 2, 2021, 8:01pm UTC](https://discuss.elastic.co/t/logstash-kinesis-plugin-with-kinesisendpoint-undefined-method/274922/4 "2021-07-02T20:01:00Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
