Add Plan Status() to ifc.plan interface
This commit adds plan Status() method to ifc.plan interface. Relates-To: #412 Change-Id: I4857eec9ea125902e305af64fbb336ff6de4faa8
This commit is contained in:
parent
dd9a904fcd
commit
289b569de4
@ -246,6 +246,20 @@ func (p *plan) Run(ro ifc.RunOptions) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Status returns the status of phases in a given plan
|
||||
func (p *plan) Status(options ifc.StatusOptions) (ifc.PlanStatus, error) {
|
||||
for _, step := range p.apiObj.Phases {
|
||||
phase, err := p.phaseClient.PhaseByID(ifc.ID{Name: step.Name})
|
||||
if err != nil {
|
||||
return ifc.PlanStatus{}, err
|
||||
}
|
||||
if _, err = phase.Status(); err != nil {
|
||||
return ifc.PlanStatus{}, err
|
||||
}
|
||||
}
|
||||
return ifc.PlanStatus{}, nil
|
||||
}
|
||||
|
||||
var _ ifc.Client = &client{}
|
||||
|
||||
type client struct {
|
||||
|
@ -41,8 +41,15 @@ type PhaseStatus struct {
|
||||
type Plan interface {
|
||||
Validate() error
|
||||
Run(RunOptions) error
|
||||
Status(StatusOptions) (PlanStatus, error)
|
||||
}
|
||||
|
||||
// StatusOptions is used to define status options
|
||||
type StatusOptions struct{}
|
||||
|
||||
// PlanStatus is a struct which defines status of PLAN
|
||||
type PlanStatus struct{}
|
||||
|
||||
// ID uniquely identifies the phase
|
||||
type ID struct {
|
||||
Name string
|
||||
|
Loading…
Reference in New Issue
Block a user