Add mappers for core plugin manager
This commit is contained in:
parent
b3003e8cb6
commit
05244e67c1
@ -3,7 +3,7 @@ module VagrantPlugins
|
||||
class Client
|
||||
class CorePluginManager < Client
|
||||
def get_plugin(type)
|
||||
resp = client.get_plugins(
|
||||
resp = client.get_plugin(
|
||||
SDK::CorePluginManager::GetPluginRequest.new(
|
||||
type: type
|
||||
)
|
||||
|
||||
@ -17,6 +17,42 @@ module VagrantPlugins
|
||||
Client::PluginManager.load(proto, broker: broker)
|
||||
end
|
||||
end
|
||||
|
||||
class CorePluginManagerFromProto < Mapper
|
||||
def initialize
|
||||
super(
|
||||
inputs: [
|
||||
Input.new(type: SDK::Args::CorePluginManager),
|
||||
Input.new(type: Broker),
|
||||
],
|
||||
output: Client::CorePluginManager,
|
||||
func: method(:converter)
|
||||
)
|
||||
end
|
||||
|
||||
def converter(proto, broker)
|
||||
Client::CorePluginManager.load(proto, broker: broker)
|
||||
end
|
||||
end
|
||||
|
||||
class CorePluginManagerProtoFromSpec < Mapper
|
||||
def initialize
|
||||
super(
|
||||
inputs: [Input.new(type: SDK::FuncSpec::Value) { |arg|
|
||||
arg.type == "hashicorp.vagrant.sdk.Args.CorePluginManager" &&
|
||||
!arg&.value&.value.nil?
|
||||
}
|
||||
],
|
||||
output: SDK::Args::CorePluginManager,
|
||||
func: method(:converter),
|
||||
)
|
||||
end
|
||||
|
||||
def converter(fv)
|
||||
SDK::Args::CorePluginManager.decode(fv.value.value)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user