func NewServiceConfigs() *ServiceConfigs {
	return &ServiceConfigs{
		M: make(map[string]*ServiceConfig),
	}
}
NewServiceConfigs initializes a new Configs struct
package config
import (
	"sync"
	"github.com/hyperhq/libcompose/yaml"
)
type EnvironmentLookup interface {
	Lookup(key, serviceName string, config *ServiceConfig) []string
}
type ResourceLookup interface {
	Lookup(file, relativeTo string) ([]byte, string, error)
	ResolvePath(path, inFile string) string
}
type ServiceConfigV1 struct {
	Command       yaml.Command         `yaml:"command,flow,omitempty" json:"command,omitempty"`
	ContainerName string               `yaml:"container_name,omitempty" json:"container_name,omitempty"`
	DomainName    string               `yaml:"domainname,omitempty" json:"domainname,omitempty"`
	Entrypoint    yaml.Command         `yaml:"entrypoint,flow,omitempty" json:"entrypoint,omitempty"`
	EnvFile       yaml.Stringorslice   `yaml:"env_file,omitempty" json:"env_file,omitempty"`
	Environment   yaml.MaporEqualSlice `yaml:"environment,omitempty" json:"environment,omitempty"`
	Hostname      string               `yaml:"hostname,omitempty" json:"hostname,omitempty"`
	Image         string               `yaml:"image,omitempty" json:"image,omitempty"`
	Labels        yaml.SliceorMap      `yaml:"labels,omitempty" json:"labels,omitempty"`
	Links         yaml.MaporColonSlice `yaml:"links,omitempty" json:"links,omitempty"`
	Restart       string               `yaml:"restart,omitempty" json:"restart,omitempty"`
	StdinOpen     bool                 `yaml:"stdin_open,omitempty" json:"stdin_open,omitempty"`
	Tty           bool                 `yaml:"tty,omitempty" json:"tty,omitempty"`
	Volumes       []string             `yaml:"volumes,omitempty" json:"volumes,omitempty"`
	WorkingDir    string               `yaml:"working_dir,omitempty" json:"working_dir,omitempty"`
	ExternalLinks []string             `yaml:"external_links,omitempty" json:"external_links,omitempty"`
	Size           string   `yaml:"size,omitempty" json:"size,omitempty"`
	Fip            string   `yaml:"fip,omitempty" json:"fip,omitempty"`
	SecurityGroups []string `yaml:"security_groups,omitempty" json:"security_groups,omitempty"`
	NoAutoVolume   bool     `yaml:"noauto_volume,omitempty" json:"noauto_volume,omitempty"`
}
type Build struct {
	Context    string               `yaml:"context,omitempty"`
	Dockerfile string               `yaml:"dockerfile,omitempty"`
	Args       yaml.MaporEqualSlice `yaml:"args,omitempty"`
}
type Log struct {
	Driver  string            `yaml:"driver,omitempty"`
	Options map[string]string `yaml:"options,omitempty"`
}
type ServiceConfig struct {
	Expose        []string             `yaml:"expose,omitempty" json:"expose,omitempty"`
	Ports         []string             `yaml:"ports,omitempty" json:"ports,omitempty"`
	Command       yaml.Command         `yaml:"command,flow,omitempty" json:"command,omitempty"`
	ContainerName string               `yaml:"container_name,omitempty" json:"container_name,omitempty"`
	DomainName    string               `yaml:"domainname,omitempty" json:"domainname,omitempty"`
	DependsOn     []string             `yaml:"depends_on,omitempty" json:"depends_on,omitempty"`
	Entrypoint    yaml.Command         `yaml:"entrypoint,flow,omitempty" json:"entrypoint,omitempty"`
	EnvFile       yaml.Stringorslice   `yaml:"env_file,omitempty" json:"env_file,omitempty"`
	Environment   yaml.MaporEqualSlice `yaml:"environment,omitempty" json:"environment,omitempty"`
	Extends       yaml.MaporEqualSlice `yaml:"extends,omitempty" json:"extends,omitempty"`
	ExternalLinks []string             `yaml:"external_links,omitempty" json:"external_links"`
	Image         string               `yaml:"image,omitempty" json:"image,omitempty"`
	Hostname      string               `yaml:"hostname,omitempty" json:"hostname,omitempty"`
	Labels        yaml.SliceorMap      `yaml:"labels,omitempty" json:"labels,omitempty"`
	Links         yaml.MaporColonSlice `yaml:"links,omitempty" json:"links,omitempty"`
	Volumes       []string             `yaml:"volumes,omitempty" json:"volumes,omitempty"`
	Restart       string               `yaml:"restart,omitempty" json:"restart,omitempty"`
	StdinOpen     bool                 `yaml:"stdin_open,omitempty" json:"stdin_open,omitempty"`
	Tty           bool                 `yaml:"tty,omitempty" json:"tty,omitempty"`
	WorkingDir    string               `yaml:"working_dir,omitempty" json:"working_dir,omitempty"`
	Size           string   `yaml:"size,omitempty" json:"size,omitempty"`
	Fip            string   `yaml:"fip,omitempty" json:"fip,omitempty"`
	SecurityGroups []string `yaml:"security_groups,omitempty" json:"security_groups,omitempty"`
	NoAutoVolume   bool     `yaml:"noauto_volume,omitempty" json:"noauto_volume,omitempty"`
}
type VolumeConfig struct {
	Driver     string            `yaml:"driver,omitempty"`
	DriverOpts map[string]string `yaml:"driver_opts,omitempty"`
	External   bool              `yaml:"external,omitempty"`
}
type Ipam struct {
	Driver string   `yaml:"driver,omitempty"`
	Config []string `yaml:"config,omitempty"`
}
type NetworkConfig struct {
	Driver     string            `yaml:"driver,omitempty"`
	DriverOpts map[string]string `yaml:"driver_opts,omitempty"`
	External   bool              `yaml:"external,omitempty"`
	Ipam       Ipam              `yaml:"ipam,omitempty"`
}
type Config struct {
	Version  string                    `yaml:"version,omitempty"`
	Services RawServiceMap             `yaml:"services,omitempty"`
	Volumes  map[string]*VolumeConfig  `yaml:"volumes,omitempty"`
	Networks map[string]*NetworkConfig `yaml:"networks,omitempty"`
}