1
#pragma once
2

            
3
#include "envoy/server/bootstrap_extension_config.h"
4

            
5
#include "source/extensions/bootstrap/dynamic_modules/extension.h"
6

            
7
namespace Envoy {
8
namespace Extensions {
9
namespace Bootstrap {
10
namespace DynamicModules {
11

            
12
/**
13
 * Config registration for the dynamic modules bootstrap extension factory.
14
 */
15
class DynamicModuleBootstrapExtensionFactory
16
    : public Server::Configuration::BootstrapExtensionFactory {
17
public:
18
18
  std::string name() const override { return "envoy.bootstrap.dynamic_modules"; }
19

            
20
  Server::BootstrapExtensionPtr
21
  createBootstrapExtension(const Protobuf::Message& config,
22
                           Server::Configuration::ServerFactoryContext& context) override;
23

            
24
  ProtobufTypes::MessagePtr createEmptyConfigProto() override;
25
};
26

            
27
} // namespace DynamicModules
28
} // namespace Bootstrap
29
} // namespace Extensions
30
} // namespace Envoy