logstash/x-pack/modules/arcsight/lib/arcsight_module_config_helper.rb
Andres Rodriguez cf67cb1377
Rubocop: Enable most SpaceInside cops (#15201)
Enabled:
* SpaceInsideArrayLiteralBrackets
* SpaceInsideParens
* SpaceInsidePercentLiteralDelimiters
* SpaceInsideStringInterpolation
* Add enforced style for SpaceInsideStringInterpolation

Enabled without offenses:
* SpaceInsideArrayPercentLiteral
* Layout/SpaceInsideRangeLiteral
* Layout/SpaceInsideReferenceBrackets
2023-07-20 09:49:46 -04:00

67 lines
3.1 KiB
Ruby

# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
# or more contributor license agreements. Licensed under the Elastic License;
# you may not use this file except in compliance with the Elastic License.
require 'logstash/namespace'
module LogStash
module Arcsight
module ConfigHelper
extend self
def kafka_input_ssl_sasl_config(bound_scope)
security_protocol = bound_scope.setting("var.input.kafka.security_protocol", "unset")
return "" if security_protocol == "unset"
lines = ["security_protocol => '#{security_protocol}'"]
lines.push("ssl_truststore_type => '#{bound_scope.setting("var.input.kafka.ssl_truststore_type", "")}'")
ssl_truststore_location = bound_scope.setting("var.input.kafka.ssl_truststore_location", "")
lines.push("ssl_truststore_location => '#{ssl_truststore_location}'") unless ssl_truststore_location.empty?
["ssl_truststore_password", "ssl_keystore_password", "ssl_key_password"].each do |name|
full_name = "var.input.kafka.".concat(name)
lines.push("#{name} => '#{bound_scope.raw_setting(full_name)}'") if bound_scope.has_setting?(full_name)
end
lines.push("ssl_keystore_type => '#{bound_scope.setting("var.input.kafka.ssl_keystore_type", "")}'")
ssl_keystore_location = bound_scope.setting("var.input.kafka.ssl_keystore_location", "")
lines.push("ssl_keystore_location => '#{ssl_keystore_location}'") unless ssl_keystore_location.empty?
lines.push("sasl_mechanism => '#{bound_scope.setting("var.input.kafka.sasl_mechanism", "")}'")
lines.push("sasl_kerberos_service_name => '#{bound_scope.setting("var.input.kafka.sasl_kerberos_service_name", "")}'")
jaas_path = bound_scope.setting("var.input.kafka.jaas_path", "")
lines.push("jaas_path => '#{jaas_path}'") unless jaas_path.empty?
kerberos_config = bound_scope.setting("var.input.kafka.kerberos_config", "")
lines.push("kerberos_config => '#{kerberos_config}'") unless kerberos_config.empty?
lines.compact.join("\n ")
end
def tcp_input_ssl_config(bound_scope)
ssl_enabled = bound_scope.setting("var.input.tcp.ssl_enable", false)
return "" unless ssl_enabled
lines = ["ssl_enable => true"]
verify_enabled = bound_scope.setting("var.input.tcp.ssl_verify", true)
lines.push("ssl_verify => #{verify_enabled}")
ssl_cert = bound_scope.setting("var.input.tcp.ssl_cert", "")
lines.push("ssl_cert => '#{ssl_cert}'") unless ssl_cert.empty?
ssl_key = bound_scope.setting("var.input.tcp.ssl_key", "")
lines.push("ssl_key => '#{ssl_key}'") unless ssl_key.empty?
lines.push("ssl_key_passphrase => '#{bound_scope.setting("var.input.tcp.ssl_key_passphrase", "")}'")
certs_array_as_string = bound_scope.array_to_string(
bound_scope.get_setting(LogStash::Setting::SplittableStringArray.new("var.input.tcp.ssl_extra_chain_certs", String, []))
)
lines.push("ssl_extra_chain_certs => #{certs_array_as_string}")
lines.compact.join("\n ")
end
end
end
end