Update machine to target and refs from plugin sdk in ptypes

This commit is contained in:
Chris Roberts 2021-05-17 16:43:15 -07:00 committed by Paul Hinze
parent 0e820011f2
commit 6018eb4e20
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0
3 changed files with 31 additions and 28 deletions

View File

@ -6,6 +6,7 @@ import (
"github.com/mitchellh/go-testing-interface"
"github.com/stretchr/testify/require"
"github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk"
"github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
)
@ -39,7 +40,7 @@ func (b *Basis) ProjectIdx(n string) int {
}
// Project returns the project with the given resource id. Returns nil if not found.
func (b *Basis) Project(n string) *vagrant_server.Ref_Project {
func (b *Basis) Project(n string) *vagrant_plugin_sdk.Ref_Project {
for _, project := range b.Projects {
if project.ResourceId == n {
return project
@ -50,7 +51,7 @@ func (b *Basis) Project(n string) *vagrant_server.Ref_Project {
func (b *Basis) AddProject(p *vagrant_server.Project) bool {
return b.AddProjectRef(
&vagrant_server.Ref_Project{
&vagrant_plugin_sdk.Ref_Project{
Basis: p.Basis,
Name: p.Name,
ResourceId: p.ResourceId,
@ -58,7 +59,7 @@ func (b *Basis) AddProject(p *vagrant_server.Project) bool {
)
}
func (b *Basis) AddProjectRef(p *vagrant_server.Ref_Project) bool {
func (b *Basis) AddProjectRef(p *vagrant_plugin_sdk.Ref_Project) bool {
i := b.ProjectIdx(p.ResourceId)
if i >= 0 {
return false
@ -69,7 +70,7 @@ func (b *Basis) AddProjectRef(p *vagrant_server.Ref_Project) bool {
func (b *Basis) DeleteProject(p *vagrant_server.Project) bool {
return b.DeleteProjectRef(
&vagrant_server.Ref_Project{
&vagrant_plugin_sdk.Ref_Project{
Basis: p.Basis,
Name: p.Name,
ResourceId: p.ResourceId,
@ -77,7 +78,7 @@ func (b *Basis) DeleteProject(p *vagrant_server.Project) bool {
)
}
func (b *Basis) DeleteProjectRef(p *vagrant_server.Ref_Project) bool {
func (b *Basis) DeleteProjectRef(p *vagrant_plugin_sdk.Ref_Project) bool {
i := b.ProjectIdx(p.ResourceId)
if i < 0 {
return false

View File

@ -9,6 +9,7 @@ import (
"github.com/mitchellh/go-testing-interface"
"github.com/stretchr/testify/require"
"github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk"
"github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
)
@ -20,11 +21,11 @@ func TestJobNew(t testing.T, src *vagrant_server.Job) *vagrant_server.Job {
}
require.NoError(t, mergo.Merge(src, &vagrant_server.Job{
Machine: &vagrant_server.Ref_Machine{
Target: &vagrant_plugin_sdk.Ref_Target{
ResourceId: "TESTMACH",
Project: &vagrant_server.Ref_Project{
Project: &vagrant_plugin_sdk.Ref_Project{
ResourceId: "TESTPROJ",
Basis: &vagrant_server.Ref_Basis{
Basis: &vagrant_plugin_sdk.Ref_Basis{
ResourceId: "TESTBAS",
},
},

View File

@ -6,6 +6,7 @@ import (
"github.com/mitchellh/go-testing-interface"
"github.com/stretchr/testify/require"
"github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk"
"github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
)
@ -28,9 +29,9 @@ func TestProject(t testing.T, src *vagrant_server.Project) *vagrant_server.Proje
type Project struct{ *vagrant_server.Project }
// MachineIdx returns the index of the machine with the given resource id or -1 if its not found.
func (p *Project) MachineIdx(n string) int {
for i, machine := range p.Machines {
if machine.ResourceId == n {
func (p *Project) TargetIdx(n string) int {
for i, target := range p.Targets {
if target.ResourceId == n {
return i
}
}
@ -39,18 +40,18 @@ func (p *Project) MachineIdx(n string) int {
}
// Machine returns the machine with the given resource id. Returns nil if not found.
func (p *Project) Machine(n string) *vagrant_server.Ref_Machine {
for _, machine := range p.Machines {
if machine.ResourceId == n {
return machine
func (p *Project) Target(n string) *vagrant_plugin_sdk.Ref_Target {
for _, target := range p.Targets {
if target.ResourceId == n {
return target
}
}
return nil
}
func (p *Project) AddMachine(m *vagrant_server.Machine) bool {
return p.AddMachineRef(
&vagrant_server.Ref_Machine{
func (p *Project) AddTarget(m *vagrant_server.Target) bool {
return p.AddTargetRef(
&vagrant_plugin_sdk.Ref_Target{
Project: m.Project,
Name: m.Name,
ResourceId: m.ResourceId,
@ -58,18 +59,18 @@ func (p *Project) AddMachine(m *vagrant_server.Machine) bool {
)
}
func (p *Project) AddMachineRef(m *vagrant_server.Ref_Machine) bool {
i := p.MachineIdx(m.ResourceId)
func (p *Project) AddTargetRef(m *vagrant_plugin_sdk.Ref_Target) bool {
i := p.TargetIdx(m.ResourceId)
if i >= 0 {
return false
}
p.Project.Machines = append(p.Project.Machines, m)
p.Project.Targets = append(p.Project.Targets, m)
return true
}
func (p *Project) DeleteMachine(m *vagrant_server.Machine) bool {
return p.DeleteMachineRef(
&vagrant_server.Ref_Machine{
func (p *Project) DeleteTarget(m *vagrant_server.Target) bool {
return p.DeleteTargetRef(
&vagrant_plugin_sdk.Ref_Target{
Project: m.Project,
Name: m.Name,
ResourceId: m.ResourceId,
@ -77,14 +78,14 @@ func (p *Project) DeleteMachine(m *vagrant_server.Machine) bool {
)
}
func (p *Project) DeleteMachineRef(m *vagrant_server.Ref_Machine) bool {
i := p.MachineIdx(m.ResourceId)
func (p *Project) DeleteTargetRef(m *vagrant_plugin_sdk.Ref_Target) bool {
i := p.TargetIdx(m.ResourceId)
if i < 0 {
return false
}
ms := p.Project.Machines
ms := p.Project.Targets
ms[len(ms)-1], ms[i] = ms[i], ms[len(ms)-1]
p.Project.Machines = ms
p.Project.Targets = ms
return true
}