lib/fluent/plugin/mqtt_proxy.rb in fluent-plugin-mqtt-io-0.3.8 vs lib/fluent/plugin/mqtt_proxy.rb in fluent-plugin-mqtt-io-0.3.9
- old
+ new
@@ -8,10 +8,12 @@
base.desc 'The address to connect to.'
base.config_param :host, :string, default: '127.0.0.1'
base.desc 'The port to connect to.'
base.config_param :port, :integer, default: MQTT_PORT
+ base.desc 'Client ID of MQTT Connection'
+ base.config_param :client_id, :string, default: nil
base.desc 'Specify keep alive interval.'
base.config_param :keep_alive, :integer, default: 15
base.desc 'Specify initial connection retry interval.'
base.config_param :initial_interval, :integer, default: 1
base.desc 'Specify increasing ratio of connection retry interval.'
@@ -19,23 +21,23 @@
base.desc 'Specify maximum connection retry interval.'
base.config_param :max_retry_interval, :integer, default: 300
base.config_section :security, required: false, multi: false do
### User based authentication
- base.desc 'The username for authentication'
- base.config_param :username, :string, default: nil
- base.desc 'The password for authentication'
- base.config_param :password, :string, default: nil
- base.desc 'Use TLS or not.'
- base.config_param :use_tls, :bool, default: nil
- base.config_section :tls, required: false, multi: true do
- base.desc 'Specify TLS ca file.'
- base.config_param :ca_file, :string, default: nil
- base.desc 'Specify TLS key file.'
- base.config_param :key_file, :string, default: nil
- base.desc 'Specify TLS cert file.'
- base.config_param :cert_file, :string, default: nil
+ desc 'The username for authentication'
+ config_param :username, :string, default: nil
+ desc 'The password for authentication'
+ config_param :password, :string, default: nil
+ desc 'Use TLS or not.'
+ config_param :use_tls, :bool, default: nil
+ config_section :tls, required: false, multi: false do
+ desc 'Specify TLS ca file.'
+ config_param :ca_file, :string, default: nil
+ desc 'Specify TLS key file.'
+ config_param :key_file, :string, default: nil
+ desc 'Specify TLS cert file.'
+ config_param :cert_file, :string, default: nil
end
end
end
class MqttProxyError
@@ -49,14 +51,15 @@
log.debug "start mqtt proxy for #{current_plugin_name}"
log.debug "start to connect mqtt broker #{@host}:#{@port}"
opts = {
host: @host,
port: @port,
+ client_id: @client_id,
keep_alive: @keep_alive
}
- opts[:username] = @security.username if @security.respond_to?(:username)
- opts[:password] = @security.password if @security.respond_to?(:password)
- if @security.respond_to?(:use_tls) && @security.use_tls
+ opts[:username] = @security.username if @security.to_h.has_key?(:username)
+ opts[:password] = @security.password if @security.to_h.has_key?(:password)
+ if @security.to_h.has_key?(:use_tls) && @security.use_tls
opts[:ssl] = @security.use_tls
opts[:ca_file] = @security.tls.ca_file
opts[:cert_file] = @security.tls.cert_file
opts[:key_file] = @security.tls.key_file
end