32 Commits

Author SHA1 Message Date
Chris Roberts
e958c6183a Adds initial HCP config support
Adds initial basic support for HCP based configuration in vagrant-go.
The initalization process has been updated to remove Vagrantfile parsing
from the client, moving it to the runner using init jobs for the basis
and the project (if there is one). Detection is done on the file based
on extension for Ruby based parsing or HCP based parsing.

Current HCP parsing is extremely simple and currently just a base to
build off. Config components will be able to implement an `Init`
function to handle receiving configuration data from a non-native source
file. This will be extended to include a default approach for injecting
defined data in the future.

Some cleanup was done in the state around validations. Some logging
adjustments were applied on the Ruby side for better behavior
consistency.

VirtualBox provider now caches locale detection to prevent multiple
checks every time the driver is initialized.
2023-09-07 17:26:10 -07:00
hashicorp-copywrite[bot]
36a312ee26
add missing license headers and update copyright file headers to BUS-1.1 2023-08-10 21:53:25 +01:00
Chris Roberts
8e26495189 Project client and proc mapper fixes
Default the options for default provider so an options value is not
required when calling. The index for the proc lookup should use the key
method, not index.
2023-06-05 17:39:58 -07:00
Chris Roberts
44afa299f0 Perform direct type conversions 2022-06-15 11:02:24 -07:00
Paul Hinze
06350a7afc
Port default provider selection
- Pulls in the SDK changes to Project.DefaultProvider and Project.Target
- Implements the hefty default provider method
- Un-hard-codes provider from Target, and sets it when a Target is
  looked up from a Project
2022-05-25 16:19:50 -05:00
sophia
0117c01e4b Fill in environment remote class 2022-05-04 11:22:41 -05:00
sophia
f340e192f2 Fill in project ruby client 2022-05-04 11:22:41 -05:00
sophia
adf2340712 Update Ruby clients for proto changes 2022-04-25 14:12:28 -05:00
Chris Roberts
6e16a8835c
Update clients to subclass Client 2022-04-25 12:26:29 -05:00
Chris Roberts
b327dbe7d8
Add resource_id method to project client 2022-04-25 12:26:00 -05:00
sophia
f71aa68a69
Get box collection from vagrant-go 2022-04-25 12:25:56 -05:00
Chris Roberts
ca1c1f2042
Add #ui to project client 2022-04-25 12:24:44 -05:00
Chris Roberts
9909701544
Update references to machine to nest under target 2022-04-25 12:24:42 -05:00
Chris Roberts
2cd54c6079
Update client implementation module usage 2022-04-25 12:24:42 -05:00
sophia
a2ade36a74
Setup host client so that a golang based host may be used 2022-04-25 12:24:39 -05:00
sophia
5d46b93a99
Each component client stores their proto 2022-04-25 12:24:37 -05:00
sophia
ca3d76ca7d
Use project client to populate environment options 2022-04-25 12:24:36 -05:00
sophia
685d555999
Flush out project client 2022-04-25 12:24:36 -05:00
Chris Roberts
1f67fdfb11
Move methods and rename to match interface 2022-04-25 12:24:32 -05:00
Chris Roberts
341619fbfd
Use connector module for client loading 2022-04-25 12:24:30 -05:00
sophia
68aa184bee
Get local data path from project 2022-04-25 12:24:28 -05:00
sophia
c71eb9ea0e
UQuery machine index by uuid 2022-04-25 12:24:28 -05:00
sophia
8808ef353e
Clean up logging 2022-04-25 12:24:27 -05:00
sophia
6dae3576a3
Get project ref 2022-04-25 12:24:26 -05:00
sophia
1ea5b2ba91
Save point: use target ref to retrieve info from target index 2022-04-25 12:24:26 -05:00
sophia
c123335456
Save point: connect to machine index service 2022-04-25 12:24:26 -05:00
Chris Roberts
ff973e380c
When a machine cannot be loaded, raise exception 2022-04-25 12:24:23 -05:00
sophia
ada96f13a3
Upload targets found in Vagrantfile 2022-04-25 12:24:20 -05:00
sophia
e86dc5958a
Clean up debugging cruft 2022-04-25 12:24:09 -05:00
sophia
fc8fe0a106
Make status work 2022-04-25 12:24:09 -05:00
sophia
340c2d7b19
Save point: load target from project 2022-04-25 12:24:09 -05:00
Chris Roberts
1b0214debc
Being implementing project client in ruby runtime 2022-04-25 12:24:08 -05:00