Update machine to target and refs from plugin sdk in ptypes
This commit is contained in:
parent
0e820011f2
commit
6018eb4e20
@ -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
|
||||
|
||||
@ -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",
|
||||
},
|
||||
},
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user