func (c *Config) Load(path string) error {
	if err := gc.LoadWithEnv(c, path); err != nil {
		return err
	}
	c.dir = filepath.Dir(path)
	return c.Restrict()
}
Load loads configuration file from file path.
package ecspresso
import (
	"fmt"
	"os"
	"path/filepath"
	"text/template"
	"time"
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/fatih/color"
	gv "github.com/hashicorp/go-version"
	"github.com/kayac/ecspresso/appspec"
	gc "github.com/kayac/go-config"
	"github.com/pkg/errors"
)
const (
	DefaultClusterName = "default"
	DefaultTimeout     = 10 * time.Minute
)
type Config struct {
	RequiredVersion       string           `yaml:"required_version,omitempty"`
	Region                string           `yaml:"region"`
	Cluster               string           `yaml:"cluster"`
	Service               string           `yaml:"service"`
	ServiceDefinitionPath string           `yaml:"service_definition"`
	TaskDefinitionPath    string           `yaml:"task_definition"`
	Timeout               time.Duration    `yaml:"timeout"`
	Plugins               []ConfigPlugin   `yaml:"plugins,omitempty"`
	AppSpec               *appspec.AppSpec `yaml:"appspec,omitempty"`
	FilterCommand         string           `yaml:"filter_command,omitempty"`
	templateFuncs      []template.FuncMap
	dir                string
	versionConstraints gv.Constraints
	sess               *session.Session
}