package node import ( "context" "github.com/hashicorp/consul/api" ) type ( // Node represent a Consul node abstraction Node interface { Terminate() error GetClient() *api.Client GetAddr() (string, int) GetConfig() Config Upgrade(ctx context.Context, config Config) error } ) // Config is a set of configurations required to create a Node type Config struct { HCL string Version string Cmd []string }