diff --git a/plugins/commands/serve/client/capability_platform.rb b/plugins/commands/serve/client/capability_platform.rb index 0cca4b28f..5a8e1279a 100644 --- a/plugins/commands/serve/client/capability_platform.rb +++ b/plugins/commands/serve/client/capability_platform.rb @@ -10,16 +10,6 @@ module VagrantPlugins klass.prepend(Util::HasMapper) end - def seed(*args) - raise NotImplementedError, - "Seeding is not currently supported via Ruby client" - end - - def seeds - res = client.seeds(Empty.new) - res.arguments - end - # @param [Symbol] cap_name Capability name # @return [Boolean] def has_capability?(cap_name) @@ -42,13 +32,20 @@ module VagrantPlugins # @param [Symbol] cap_name Name of the capability def capability(cap_name, *args) logger.debug("executing capability #{cap_name}") - arg_protos = seeds.map do |any| + arg_protos = seeds.typed.map do |any| SDK::FuncSpec::Value.new( name: "", type: any.type_name, value: any, ) end + arg_protos += seeds.named.map do |name, any| + SDK::FuncSpec::Value.new( + name: name, + type: any.type_name, + value: any, + ) + end d = Types::Direct.new(arguments: args) da = mapper.map(d, to: Google::Protobuf::Any) arg_protos << SDK::FuncSpec::Value.new(