Chris Roberts
c6f6bf0c47
Include source and destination in no path exception message
2022-04-25 12:26:31 -05:00
Chris Roberts
32ea6a4509
Add new options type with mappers
2022-04-25 12:26:31 -05:00
Chris Roberts
312080ba60
Only write graph when logging mapper output
2022-04-25 12:26:31 -05:00
Chris Roberts
710adc8f7b
Retain simple hash type for now
2022-04-25 12:26:31 -05:00
Chris Roberts
4c9f14572a
Update target to addr in plugin protos
2022-04-25 12:26:30 -05:00
Chris Roberts
b0f59c40f6
Update the search to use a reversed graph
...
Reverse the graph before searching so we are only working with
a single possible destination. A DFS is used to initially prune
down the graph.
2022-04-25 12:26:30 -05:00
Chris Roberts
3865008b89
Update weights and remove vertices from destination output
2022-04-25 12:26:30 -05:00
Chris Roberts
b26a1ac515
Log error when input type is missing
2022-04-25 12:26:30 -05:00
Chris Roberts
2f0fdfc153
Add unique vertex type for root
2022-04-25 12:26:30 -05:00
Chris Roberts
5609a32af0
Fix input type for duration mapping
2022-04-25 12:26:30 -05:00
Chris Roberts
32c77ef96a
Remove need for environment when mapping machine
2022-04-25 12:26:29 -05:00
Chris Roberts
0a9c02f957
Return hash with indifferent access from mapper
2022-04-25 12:26:29 -05:00
Chris Roberts
afdaf046dc
Log errors from submapping on direct type
2022-04-25 12:26:29 -05:00
Chris Roberts
14895eded1
Grab value from cache when mapping
2022-04-25 12:26:29 -05:00
Chris Roberts
c413335e14
Add mappers for new types
2022-04-25 12:26:29 -05:00
Chris Roberts
451f3041f9
Add support for named vertices to mappers graph
2022-04-25 12:26:28 -05:00
Chris Roberts
286886ae89
Add named vertex type
2022-04-25 12:26:28 -05:00
sophia
891eb27e9a
Rename plugin "target" to "addr"
2022-04-25 12:26:27 -05:00
sophia
274ed6c756
Add mapper for machine state
2022-04-25 12:26:24 -05:00
sophia
1e428a0812
Add mappers for provider
2022-04-25 12:26:24 -05:00
Paul Hinze
a86965c340
ruby mappers: Unwrap wrapper types in Hashes and Arrays
...
Boolean types (and possibly a few others) are returned as wrapper
classes when coming out from proto mapping; these need to be unwrapped
otherwise the caller who is expecting a nice clean boolean value ends up
with an icky protobuf class.
This fixes the shell provisioner, which relies on a communicator
receiving a settings hash `{error_check: false}` for a command that
usually fails but it sent just in case before provisioning starts.
2022-04-25 12:26:23 -05:00
Chris Roberts
7b82ba7ca0
Add ruby local command arguments type and mapper
2022-04-25 12:26:21 -05:00
Paul Hinze
0fef7cc416
Port push plugins
...
This uses the new Push plugin support added to the plugin SDK in https://github.com/hashicorp/vagrant-plugin-sdk/pull/106 to make the following changes:
* The plugin manager on the Go side now registers push plugins
* The the _remote_ plugin manager on the Ruby side now calls over to
the go side to get push plugins
* All the wiring is hooked up such that when a push plugin is replaced
with its remote GRPC-client-wielding equivalent, the messages are
ferried around.
2022-04-25 12:26:21 -05:00
Chris Roberts
914530d26a
Use trace log level for noisy log messages
2022-04-25 12:26:19 -05:00
Chris Roberts
2bf39a7dcf
If graph is not acyclic, break cycles before finding path
2022-04-25 12:26:18 -05:00
Chris Roberts
2f7a9c5a79
Add support for detecting and breaking cycles in graph
2022-04-25 12:26:18 -05:00
Chris Roberts
3cdac85d91
Allow nil values for input types
2022-04-25 12:26:18 -05:00
Chris Roberts
1256abc7b2
Fix synced folder plugin initialization in mapper
2022-04-25 12:26:18 -05:00
Chris Roberts
2a7e43d269
Fix value usage in the boolean mapper
2022-04-25 12:26:18 -05:00
Chris Roberts
aa934f4436
Implement known type mappers directly
2022-04-25 12:26:17 -05:00
Chris Roberts
047a7f08d8
Replace auto-generated mappers with direct implementation of subset
2022-04-25 12:26:17 -05:00
Chris Roberts
64ebe30618
Remove string conversion to pathname
2022-04-25 12:26:17 -05:00
Chris Roberts
998432faee
Include source type when failed to reach destination
2022-04-25 12:26:17 -05:00
Chris Roberts
6bdc7baf39
Update name from Types to Type
2022-04-25 12:26:16 -05:00
Chris Roberts
e6a3e16b48
Remove from string mappers
2022-04-25 12:26:15 -05:00
Chris Roberts
de18081a35
Add mappers for host and plugin manager clients
2022-04-25 12:26:15 -05:00
Chris Roberts
3f7b7ee65a
Add mappers for loading command client
2022-04-25 12:26:15 -05:00
sophia
a3c3bb9cf1
Add mappers for synced folder client -> vagrant synced folder
2022-04-25 12:26:13 -05:00
sophia
1aabc7c4b5
Add mapper for a Class to String
2022-04-25 12:26:12 -05:00
sophia
8e0f42ec17
Add mapper for synced folder client to proto
2022-04-25 12:26:12 -05:00
sophia
04a6f762af
Make synced folder mapping work
2022-04-25 12:26:11 -05:00
sophia
38dd5ef5f9
Use path proto to pass around paths
2022-04-25 12:26:11 -05:00
sophia
6eaf399501
Add mapper Symbol -> String
2022-04-25 12:26:10 -05:00
sophia
b29b37af0d
Add mappers for time duration proto
2022-04-25 12:26:09 -05:00
sophia
73b6c7c6d6
Use Hash Arg to pass around communincator args
2022-04-25 12:26:09 -05:00
sophia
b9e7d2197e
Clean up from rebase
2022-04-25 12:26:09 -05:00
sophia
d57203f005
Get ruby communincator upload working
2022-04-25 12:26:09 -05:00
sophia
49ad851606
Use named paths proto message for uploading/downloading
2022-04-25 12:26:09 -05:00
sophia
8513a14f9e
Use RemotePath proto message to upload/download files
2022-04-25 12:26:08 -05:00
sophia
8a2375faf2
Add mapper for communincator path proto
2022-04-25 12:26:08 -05:00