func (r Resource) IsActive() bool {
	return r.Status == Running
}
IsActive return if resource is currently running
package resource
import (
	"fmt"
	"strings"
	"time"
	log "github.com/sirupsen/logrus"
	"gorm.io/gorm"
	"github.com/mensaah/reka/config"
)
type Manager struct {
	gorm.Model
	Name     string `gorm:"unique;not null"`
	LongName string
	ImageURL string          
	Config   *config.Config `gorm:"-"`
	Logger *log.Entry `gorm:"-"`
	GetAll func() ([]*Resource, error) `gorm:"-" json:"-"`  
	Destroy func([]*Resource) error `gorm:"-" json:"-"`  
	Stop    func([]*Resource) error `gorm:"-" json:"-"`
	Resume  func([]*Resource) error `gorm:"-" json:"-"`
}
func (mgr Manager) String() string {
	return mgr.Name
}
func (mgr Manager) IsStoppable() bool {
	return mgr.Stop != nil && mgr.Resume != nil
}
type Resource struct {
	gorm.Model `json:"-"`
	UUID         string   `gorm:"unique;not null"`
	Manager      *Manager `gorm:"foreignKey:ManagerName;references:Name" json:"-"`
	ProviderName string
	Region   string  
	Zone     string  
	Location string  
	Status Status
	CreationDate time.Time
	Attributes map[string]interface{}
	Tags Tags `gorm:"-"`
	SubResources map[string][]*Resource
}
func (r Resource) String() string {
	return fmt.Sprintf("<%s:%s>", r.Manager, r.UUID)
}