Chris Roberts
df0bbe343f
Support bold style and add #clear_line
2022-04-25 12:26:43 -05:00
Chris Roberts
71fb214d95
Add #input to terminal client and use event stream
2022-04-25 12:26:43 -05:00
Paul Hinze
06ad1b4565
Fixup tests for Ruby 3.0
...
This is a pass through test failures and deprecation warnings:
* Make all ambiguous `.with(..., key: val)` use explicit hashes to
prevent test failures for argument mismatch in Ruby 3.0
* Scope down all unbounded `raise_error` to address warnings (remove
one test that was revealed to be referencing a nonexistent variable
once the raise_error was scoped.)
* Update all `any_instance` usage to new syntax to address warnings
* Allow the service cache to be cleared and do so between some tests
* Fix a small bug in with_plugin's plugin not found code path (revealed
by a scoped and_raise)
2022-04-25 12:26:40 -05:00
Chris Roberts
20d717a521
Update provisioner service plugin setup and caching
2022-04-25 12:26:39 -05:00
Chris Roberts
74ff5da434
Trace item registration in the cache
2022-04-25 12:26:39 -05:00
Chris Roberts
39a85d1cf3
Support caching plugins within services
2022-04-25 12:26:39 -05:00
Chris Roberts
2b5bd64ec8
Remove local provider injection to machine
2022-04-25 12:26:39 -05:00
Chris Roberts
ab8dee7a72
Add some missing mappers for converting to proto
2022-04-25 12:26:39 -05:00
Chris Roberts
6dd5a3ae9b
Load plugins within #with_plugin helper
2022-04-25 12:26:39 -05:00
Chris Roberts
d070b2cc6f
Initialize cache in the proper location within Service class
2022-04-25 12:26:38 -05:00
Chris Roberts
b0b5d1191e
Update and document cacher
2022-04-25 12:26:38 -05:00
Chris Roberts
f88254eb23
Let #with_plugin load plugins by type
2022-04-25 12:26:38 -05:00
sophia
b7d12a0907
Get provider from remote machine
2022-04-25 12:26:38 -05:00
Chris Roberts
f183a8a810
Update provisioner service implementation
2022-04-25 12:26:38 -05:00
Chris Roberts
2f4670e48a
Define cache for services and provide it
2022-04-25 12:26:38 -05:00
Chris Roberts
8542650e38
If destination is any, only allow proto destinations
2022-04-25 12:26:38 -05:00
Chris Roberts
3e7f72b9b0
Extract direct arguments to use for spec
2022-04-25 12:26:37 -05:00
Chris Roberts
987998aa41
Grab cacher from local instance
2022-04-25 12:26:37 -05:00
Chris Roberts
b976be72bd
Simplify cacher
2022-04-25 12:26:37 -05:00
Chris Roberts
d82702064f
Only deactivate remote plugin manager if activated
2022-04-25 12:26:37 -05:00
Chris Roberts
83ca40e239
Refactor Ruby service implementations
...
Update the Ruby service implementations to use the funcspec util
module for generating spec content. A helper method is now used
for generating a parent class for services to subclass which
automatically includes all required modules for usage.
2022-04-25 12:26:37 -05:00
Paul Hinze
ff86d86ac8
Provisioner Plugins
2022-04-25 12:26:37 -05:00
Chris Roberts
2b38005dfb
Include namespace for wrapper type
2022-04-25 12:26:37 -05:00
Chris Roberts
4679d39039
Fix name and method call in folders mappers
2022-04-25 12:26:37 -05:00
sophia
94698704ab
Fix some small errors
2022-04-25 12:26:37 -05:00
Chris Roberts
c7fdd92eb5
Add folders type to mappers
2022-04-25 12:26:36 -05:00
Chris Roberts
14d2d66d29
Use folders and options types in client/services
2022-04-25 12:26:36 -05:00
Chris Roberts
c32ba38b70
Add mappers for Folders type
2022-04-25 12:26:36 -05:00
Chris Roberts
0cb053c20c
Add a Folders type
2022-04-25 12:26:36 -05:00
Chris Roberts
c00eb5a5a8
Store options value as hash
2022-04-25 12:26:36 -05:00
Chris Roberts
f507a3d7ff
Add todo note about deleted entries
2022-04-25 12:26:36 -05:00
Chris Roberts
b7f074e492
Remove debugging artifacts
2022-04-25 12:26:36 -05:00
Chris Roberts
ac8790b694
Remove deleteion of host and machine index entries
2022-04-25 12:26:36 -05:00
Chris Roberts
9a6f5fa316
Don't unany mapping if source value is proto
2022-04-25 12:26:35 -05:00
Chris Roberts
a5b3ca9f6d
Return remote plugin instances
2022-04-25 12:26:35 -05:00
Chris Roberts
095a0f8847
WIP checkpoint with callable remote provider action
2022-04-25 12:26:35 -05:00
Chris Roberts
d2f795e11b
Provide client to manager enable helper method
2022-04-25 12:26:35 -05:00
sophia
55fb52f174
Update the synced folder client to pass direct values
2022-04-25 12:26:34 -05:00
Paul Hinze
f314c090e2
Set local machine within provider service
...
See inline comment for more context
2022-04-25 12:26:34 -05:00
Paul Hinze
8730b9f100
Fix MachineState mapper so IsRunning actions work
...
The IsRunning action checks if `env[:machine].state.id == :running` but
this check was never passing as the protobuf-washed version of machine
state was yielding a machine state w/ a string value like `"running"`.
Easy fix in the mapper!
2022-04-25 12:26:34 -05:00
Paul Hinze
a5f0996f5f
Fix ssh_info protobuf empty value handling
...
In https://github.com/hashicorp/vagrant-plugin-sdk/pull/115 we make the
SSHInfo fields optional, which allows us to remove zero values and fix
default value population within Machine#ssh_info.
2022-04-25 12:26:34 -05:00
sophia
29eb55909c
Refactor guest detect client
2022-04-25 12:26:34 -05:00
sophia
b6de8c3a80
Add guest detect function to client
2022-04-25 12:26:34 -05:00
sophia
8911ebd2b7
Get hash of synced folders
2022-04-25 12:26:33 -05:00
sophia
87f8c9cc5e
Implement synced folder prepare endpoint
2022-04-25 12:26:33 -05:00
sophia
19f3d2f0b6
Refactor named plugin bits to apply to all components
2022-04-25 12:26:33 -05:00
sophia
6c28de9ea9
Refactor named plugin service/client endpoints
2022-04-25 12:26:33 -05:00
sophia
153d218d68
Set plugin name
2022-04-25 12:26:32 -05:00
sophia
e95d906f74
Get plugin name from client
2022-04-25 12:26:32 -05:00
Chris Roberts
e2b135eb80
Accept options for actions on provider service
2022-04-25 12:26:31 -05:00