lib/logstash-docket/util/alias_definitions_loader.rb (12 lines of code) (raw):
# encoding: utf-8
require "yaml"
require "net/http"
module LogstashDocket
module Util
##
# A util module defines repetitive logics for aliased plugins.
#
module AliasDefinitionsLoader
ALIAS_DEFINITIONS_URL = 'https://raw.githubusercontent.com/elastic/logstash/main/logstash-core/src/main/resources/org/logstash/plugins/AliasRegistry.yml'
# Returns alias definitions for each plugin type ([type]=[alias_definitions])
# ex: {
# "input" => [
# [{
# "alias" => "elastic_agent",
# "from" => "beats",
# "docs" => [{
# "replace" => ":plugin: beats",
# "with" => ":plugin: elastic_agent"
# }]
# }]
# ]
# }
def self.get_alias_definitions
YAML::safe_load(Net::HTTP.get(URI(ALIAS_DEFINITIONS_URL))) || fail('empty alias definition')
end
end
end
end