func()

in cli_tools/common/image/importer/request.go [37:63]


func (args *ImageImportRequest) validate() error {
	if err := args.checkRequiredArguments(); err != nil {
		return err
	}

	if args.BYOL && (args.DataDisk || args.OS != "" || args.CustomWorkflow != "") {
		return fmt.Errorf("when -%s is specified, -%s, -%s, and -%s have to be empty",
			BYOLFlag, DataDiskFlag, OSFlag, CustomWorkflowFlag)
	}
	if args.DataDisk && (args.OS != "" || args.CustomWorkflow != "") {
		return fmt.Errorf("when -%s is specified, -%s and -%s should be empty",
			DataDiskFlag, OSFlag, CustomWorkflowFlag)
	}
	if args.OS != "" && args.CustomWorkflow != "" {
		return fmt.Errorf("-%s and -%s can't be both specified",
			OSFlag, CustomWorkflowFlag)
	}
	if !strings.HasSuffix(args.ScratchBucketGcsPath, args.ExecutionID) {
		return fmt.Errorf("Scratch bucket should have been namespaced with execution ID")
	}
	if args.OS != "" {
		if err := daisyutils.ValidateOS(args.OS); err != nil {
			return err
		}
	}
	return nil
}