job.dhall 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. let Prelude = ../lib/prelude.dhall
  2. let Types = ../types/package.dhall
  3. let JSON = Prelude.JSON
  4. let RenderOptional = ./optionals/package.dhall
  5. let optionalStep = RenderOptional.generic Types.Step ./step.dhall
  6. let optionalLogRetention =
  7. RenderOptional.generic
  8. Types.JobBuildLogRetention
  9. ./jobBuildLogRetention.dhall
  10. in λ(j : Types.Job) →
  11. JSON.object
  12. ( toMap
  13. { name = JSON.string j.name
  14. , plan =
  15. JSON.array
  16. (Prelude.List.map Types.Step JSON.Type ./step.dhall j.plan)
  17. , old_name = RenderOptional.text j.old_name
  18. , serial = RenderOptional.bool j.serial
  19. , build_log_retention = optionalLogRetention j.build_log_retention
  20. , build_logs_to_retain =
  21. RenderOptional.natural j.build_logs_to_retain
  22. , serial_groups = RenderOptional.lists.text j.serial_groups
  23. , max_in_flight = RenderOptional.natural j.max_in_flight
  24. , public = RenderOptional.bool j.public
  25. , disable_manual_trigger =
  26. RenderOptional.bool j.disable_manual_trigger
  27. , interruptible = RenderOptional.bool j.interruptible
  28. , on_success = optionalStep j.on_success
  29. , on_failure = optionalStep j.on_failure
  30. , on_abort = optionalStep j.on_abort
  31. , ensure = optionalStep j.ensure
  32. }
  33. )