(opts *CreateOptions)
| 309 | } |
| 310 | |
| 311 | func PromptMissing(opts *CreateOptions) error { |
| 312 | project, err := getProject(opts) |
| 313 | if err != nil { |
| 314 | return err |
| 315 | } |
| 316 | opts.Project.Value = project.GetName() |
| 317 | |
| 318 | runbooksInGit := shared.AreRunbooksInGit(project) |
| 319 | if runbooksInGit { |
| 320 | return errors.New("creating independent Runbook snapshots is not supported for Runbooks stored in Git") |
| 321 | } |
| 322 | |
| 323 | selectedRunbook, err := getRunbook(opts, project) |
| 324 | if err != nil { |
| 325 | return err |
| 326 | } |
| 327 | opts.Runbook.Value = selectedRunbook.Name |
| 328 | |
| 329 | template, err := opts.Client.Runbooks.GetRunbookSnapshotTemplate(selectedRunbook) |
| 330 | |
| 331 | if err != nil { |
| 332 | return err |
| 333 | } |
| 334 | |
| 335 | if opts.Name.Value == "" { |
| 336 | if err := opts.Ask(&survey.Input{ |
| 337 | Message: "Snapshot name", |
| 338 | Help: "A short, memorable, name for this snapshot.", |
| 339 | Default: template.NextNameIncrement, |
| 340 | }, &opts.Name.Value); err != nil { |
| 341 | return err |
| 342 | } |
| 343 | } |
| 344 | |
| 345 | packageVersionBaseline, err := packages.BuildPackageVersionBaseline(opts.Client, util.SliceTransform(template.Packages, func(pkg *releases.ReleaseTemplatePackage) releases.ReleaseTemplatePackage { return *pkg }), nil) |
| 346 | if err != nil { |
| 347 | return err |
| 348 | } |
| 349 | |
| 350 | if len(packageVersionBaseline) > 0 { // if we have packages, run the package flow |
| 351 | _, packageVersionOverrides, err := packages.AskPackageOverrideLoop( |
| 352 | packageVersionBaseline, |
| 353 | opts.PackageVersion.Value, |
| 354 | opts.PackageVersionOverrides, |
| 355 | opts.Ask, |
| 356 | opts.Out) |
| 357 | |
| 358 | if err != nil { |
| 359 | return err |
| 360 | } |
| 361 | |
| 362 | if len(packageVersionOverrides) > 0 { |
| 363 | opts.PackageVersionOverrides = make([]string, 0, len(packageVersionOverrides)) |
| 364 | for _, ov := range packageVersionOverrides { |
| 365 | opts.PackageVersionOverrides = append(opts.PackageVersionOverrides, ov.ToPackageOverrideString()) |
| 366 | } |
| 367 | } |
| 368 | } |
no test coverage detected