diff --git a/cmd/create_recovery_plan.go b/cmd/create_recovery_plan.go index 3c34fb293..5e681a445 100644 --- a/cmd/create_recovery_plan.go +++ b/cmd/create_recovery_plan.go @@ -17,9 +17,9 @@ import ( ) type InstanceGroupPlan struct { - Name string `yaml:"name"` - MaxInFlight string `yaml:"max_in_flight,omitempty"` - PlannedResolutions map[string]boshdir.ProblemResolution `yaml:"planned_resolutions"` + Name string `yaml:"name"` + MaxInFlight string `yaml:"max_in_flight,omitempty"` + PlannedResolutions map[string]string `yaml:"planned_resolutions"` } type RecoveryPlan struct { @@ -80,10 +80,10 @@ func sortedInstanceGroups(problemsByInstanceGroup map[string][]boshdir.Problem) return instanceGroups } -func (c CreateRecoveryPlanCmd) processProblemsByType(problems []boshdir.Problem) (map[string]boshdir.ProblemResolution, error) { +func (c CreateRecoveryPlanCmd) processProblemsByType(problems []boshdir.Problem) (map[string]string, error) { problemsByType := mapProblemsByTrait(problems, func(p boshdir.Problem) string { return p.Type }) - resolutions := make(map[string]boshdir.ProblemResolution) + resolutions := make(map[string]string) for problemType, problemsForType := range problemsByType { c.printProblemTable(problemType, problemsForType) @@ -97,7 +97,7 @@ func (c CreateRecoveryPlanCmd) processProblemsByType(problems []boshdir.Problem) return nil, err } - resolutions[problemType] = problemsForType[0].Resolutions[chosenIndex] + resolutions[problemType] = *problemsForType[0].Resolutions[chosenIndex].Name } return resolutions, nil diff --git a/cmd/create_recovery_plan_test.go b/cmd/create_recovery_plan_test.go index 4eae23eae..f01365c73 100644 --- a/cmd/create_recovery_plan_test.go +++ b/cmd/create_recovery_plan_test.go @@ -240,12 +240,12 @@ var _ = Describe("CreateRecoveryPlanCmd", func() { Expect(actualPlan.InstanceGroupsPlan[0].Name).To(Equal("diego_cell")) Expect(actualPlan.InstanceGroupsPlan[0].PlannedResolutions).To(HaveLen(1)) - Expect(actualPlan.InstanceGroupsPlan[0].PlannedResolutions).To(HaveKeyWithValue("unresponsive_agent", skipResolution)) + Expect(actualPlan.InstanceGroupsPlan[0].PlannedResolutions).To(HaveKeyWithValue("unresponsive_agent", *skipResolution.Name)) Expect(actualPlan.InstanceGroupsPlan[1].Name).To(Equal("router")) Expect(actualPlan.InstanceGroupsPlan[1].PlannedResolutions).To(HaveLen(2)) - Expect(actualPlan.InstanceGroupsPlan[1].PlannedResolutions).To(HaveKeyWithValue("missing_vm", recreateResolution)) - Expect(actualPlan.InstanceGroupsPlan[1].PlannedResolutions).To(HaveKeyWithValue("mount_info_mismatch", reattachDiskAndRebootResolution)) + Expect(actualPlan.InstanceGroupsPlan[1].PlannedResolutions).To(HaveKeyWithValue("missing_vm", *recreateResolution.Name)) + Expect(actualPlan.InstanceGroupsPlan[1].PlannedResolutions).To(HaveKeyWithValue("mount_info_mismatch", *reattachDiskAndRebootResolution.Name)) }) It("returns an error if asking fails", func() {