func NewManifestV2(config ConfigV2, iaasConfig iaas.Config) (ManifestV2, error) { manifest := ManifestV2{ DirectorUUID: config.DirectorUUID, Name: config.Name, Releases: releases(), Update: update(), InstanceGroups: []core.InstanceGroup{}, Properties: Properties{}, } manifest.Stemcells = []core.Stemcell{ { Alias: "linux", Version: "latest", Name: iaasConfig.Stemcell(), }, } if config.WindowsClients { manifest.Stemcells = append(manifest.Stemcells, core.Stemcell{ Alias: "windows", Version: "latest", Name: iaasConfig.WindowsStemcell(), }) } consulInstanceGroup, err := consulInstanceGroup(config) if err != nil { return ManifestV2{}, err } manifest.InstanceGroups = append(manifest.InstanceGroups, consulInstanceGroup) consulTestConsumerInstanceGroup, err := consulTestConsumerInstanceGroup(config) if err != nil { return ManifestV2{}, err } manifest.InstanceGroups = append(manifest.InstanceGroups, consulTestConsumerInstanceGroup) manifest.Properties.Consul = newConsulProperties(consulInstanceGroup.Networks[0].StaticIPs) return manifest, nil }