in internal/pkg/cli/svc_init.go [260:307]
func (o *initSvcOpts) Validate() error {
// If this app is pending creation, we'll skip validation.
if !o.wsPendingCreation {
if err := validateWorkspaceApp(o.wsAppName, o.appName, o.store); err != nil {
return err
}
o.appName = o.wsAppName
}
if o.dockerfilePath != "" && o.image != "" {
return fmt.Errorf("--%s and --%s cannot be specified together", dockerFileFlag, imageFlag)
}
if o.dockerfilePath != "" {
if _, err := o.fs.Stat(o.dockerfilePath); err != nil {
return err
}
}
if o.port != 0 {
if err := validateSvcPort(o.port); err != nil {
return err
}
}
if o.image != "" && o.wkldType == manifestinfo.RequestDrivenWebServiceType {
if err := validateAppRunnerImage(o.image); err != nil {
return err
}
}
if len(o.sourcePaths) != 0 {
if o.wkldType != manifestinfo.StaticSiteType {
return fmt.Errorf("'--%s' must be specified with '--%s %q'", sourcesFlag, typeFlag, manifestinfo.StaticSiteType)
}
if err := o.validateSourcePaths(o.sourcePaths); err != nil {
return err
}
assets, err := o.convertStringsToAssets(o.sourcePaths)
if err != nil {
return fmt.Errorf("convert source strings to objects: %w", err)
}
o.staticAssets = assets
}
if err := validateSubscribe(o.noSubscribe, o.subscriptions); err != nil {
return err
}
if err := o.validateIngressType(); err != nil {
return err
}
return nil
}