Sha256: 3ee3972659c9f91b83158a82818e6d2327d98de2c4006c16539b72a808381eb8
Contents?: true
Size: 1.74 KB
Versions: 2
Compression:
Stored size: 1.74 KB
Contents
# SPDX-License-Identifier: Apache-2.0 # See NOTICE for attribution details. # Modifications Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. module LogStash; module Outputs; class AmazonElasticSearch class TemplateManager # To be mixed into the amazon_es plugin base def self.install_template(plugin) return unless plugin.manage_template plugin.logger.info("Using mapping template from", :path => plugin.template) template = get_template(plugin.template, plugin.maximum_seen_major_version) plugin.logger.info("Attempting to install template", :manage_template => template) install(plugin.client, plugin.template_name, template, plugin.template_overwrite) rescue => e plugin.logger.error("Failed to install template.", :message => e.message, :class => e.class.name, :backtrace => e.backtrace) end private def self.get_template(path, es_major_version) template_path = path || default_template_path(es_major_version) read_template_file(template_path) end def self.install(client, template_name, template, template_overwrite) client.template_install(template_name, template, template_overwrite) end def self.default_template_path(es_major_version) template_version = es_major_version == 1 ? 2 : es_major_version default_template_name = "elasticsearch-template-es#{template_version}x.json" ::File.expand_path(default_template_name, ::File.dirname(__FILE__)) end def self.read_template_file(template_path) raise ArgumentError, "Template file '#{@template_path}' could not be found!" unless ::File.exists?(template_path) template_data = ::IO.read(template_path) LogStash::Json.load(template_data) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
logstash-output-amazon_es-8.0.0-java | lib/logstash/outputs/amazon_es/template_manager.rb |
logstash-output-amazon_es-7.1.0-java | lib/logstash/outputs/amazon_es/template_manager.rb |