Add mappers for time duration proto

This commit is contained in:
sophia 2021-12-08 14:14:11 -06:00 committed by Paul Hinze
parent 73b6c7c6d6
commit b29b37af0d
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0
2 changed files with 22 additions and 0 deletions

View File

@ -52,6 +52,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
add_message "hashicorp.vagrant.sdk.Args.Folder" do
map :folders, :string, :message, 1, "google.protobuf.Any"
end
add_message "hashicorp.vagrant.sdk.Args.TimeDuration" do
optional :duration, :int32, 1
end
add_message "hashicorp.vagrant.sdk.Args.TerminalUI" do
optional :stream_id, :uint32, 1
optional :network, :string, 2
@ -838,6 +841,7 @@ module Hashicorp
Args::MetadataSet = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Args.MetadataSet").msgclass
Args::Path = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Args.Path").msgclass
Args::Folder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Args.Folder").msgclass
Args::TimeDuration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Args.TimeDuration").msgclass
Args::TerminalUI = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Args.TerminalUI").msgclass
Args::Logger = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Args.Logger").msgclass
Args::JobInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Args.JobInfo").msgclass

View File

@ -17,6 +17,24 @@ module VagrantPlugins
SDK::Communicator::Command.decode(proto.value.value)
end
end
class TimeDurationFromSpec < Mapper
def initialize
super(
inputs: [Input.new(type: SDK::FuncSpec::Value) { |arg|
arg.type == "hashicorp.vagrant.sdk.Args.TimeDuration" &&
!arg&.value&.value.nil?
}
],
output: SDK::Args::TimeDuration,
func: method(:converter),
)
end
def converter(fv)
SDK::Args::TimeDuration.decode(fv.value.value)
end
end
end
end
end