コード例 #1
0
ファイル: dm.go プロジェクト: iantw89/deployment-manager
func loadTemplate(args []string) *expander.Template {
	var template *expander.Template
	var err error
	if len(args) < 2 {
		fmt.Fprintln(os.Stderr, "No template name or configuration(s) supplied")
		usage()
	}

	if len(args) < 3 {
		if t := getRegistryType(args[1]); t != nil {
			template = buildTemplateFromType(*t)
		} else {
			template, err = expander.NewTemplateFromRootTemplate(args[1])
		}
	} else {
		template, err = expander.NewTemplateFromFileNames(args[1], args[2:])
	}

	if err != nil {
		log.Fatalf("cannot create configuration from supplied arguments: %s\n", err)
	}

	// Override name if set from flags.
	if *deployment_name != "" {
		template.Name = *deployment_name
	}

	return template
}
コード例 #2
0
func loadTemplate(name string) *expander.Template {
	args := flag.Args()
	if len(args) < 1 {
		usage()
		os.Exit(1)
	}

	var template *expander.Template
	var err error
	if len(args) == 1 {
		if t := getRegistryType(args[0]); t != nil {
			template = buildTemplateFromType(name, *t)
		} else {
			template, err = expander.NewTemplateFromRootTemplate(args[0])
		}
	} else {
		template, err = expander.NewTemplateFromFileNames(args[0], args[1:])
	}
	if err != nil {
		log.Fatalf("cannot create template from supplied file names: %s\n", err)
	}

	if name != "" {
		template.Name = name
	}

	return template
}