Module Ketrew.Client

module Client: sig .. end


The “client” is the frontend to an HTTP client talking to a server/engine.
module Error: sig .. end
Error.t is the type of the error kinds that this module introduces.
type t 
The handle of the client.
val as_client : configuration:Configuration.t ->
f:(client:t ->
('result,
[> `Database of Persistent_data.Error.database
| `Dyn_plugin of [> `Dynlink_error of Dynlink.error | `Findlib of exn ]
| `Failure of string
| `Wrong_configuration of [> `Found of string ] * [> `Exn of exn ] ]
as 'a)
Unix_io.Deferred_result.t) ->
('result, 'a) Unix_io.Deferred_result.t
Run the function f with a fresh-client created with the configuration.
val configuration : t -> Configuration.t
Retrieve the configuration used to create the client.
val get_list_of_target_ids : t ->
query:Ketrew_pure.Protocol.Up_message.target_query ->
(Ketrew_pure.Target.id list,
[> `Client of Error.t
| `Database of Persistent_data.Error.database ])
Unix_io.Deferred_result.t
Get a list of target IDs given the query.
val get_target : t ->
id:Ketrew_pure.Target.id ->
(Ketrew_pure.Target.t,
[> `Client of Error.t
| `Database of Persistent_data.Error.database ])
Unix_io.Deferred_result.t
The latest contents of a given target.
val get_targets : t ->
id_list:Ketrew_pure.Target.id list ->
(Ketrew_pure.Target.t list,
[> `Client of Error.t
| `Database of Persistent_data.Error.database ])
Unix_io.Deferred_result.t
Same as Ketrew.Client.get_target but “in bulk.”
val call_query : t ->
target:Ketrew_pure.Target.t ->
string ->
(string, Ketrew_pure.Internal_pervasives.Log.t) Unix_io.Deferred_result.t
Call a target's plugin query by name.
val kill : t ->
Ketrew_pure.Target.id list ->
(unit,
[> `Client of Error.t
| `Database of Persistent_data.Error.database ])
Unix_io.Deferred_result.t
Kill a set of targets.
val restart : t ->
Ketrew_pure.Target.id list ->
(unit,
[> `Client of Error.t
| `Database of Persistent_data.Error.database ])
Unix_io.Deferred_result.t
Restart a set of targets.
val add_targets : t ->
Ketrew_pure.Target.t list ->
(unit,
[> `Client of Error.t
| `Database of Persistent_data.Error.database ])
Unix_io.Deferred_result.t
Submit a list of targets to the server/engine. This is the low-level API dealing with Ketrew_pure.Target.t values; for use in the EDSL please see Ketrew.Client.submit_workflow below.
val submit_workflow : ?safe_ids:bool ->
?override_configuration:Configuration.t ->
?add_tags:string list ->
< is_done : EDSL.Condition.t option; .. > EDSL.product EDSL.workflow_node ->
unit
Submit a high-level workflow description to the engine; this function calls Lwt_main.run.

One can add tags to all the targets in the workflow before submitting with the add_tags option.

For experienced users: by default Ketrew.Client.submit_workflow makes IDs unique within the workflow, one can override this by setting ~safe_ids:false.

val submit : ?override_configuration:Configuration.t ->
?add_tags:string list -> EDSL.user_target -> unit
This is like Ketrew.Client.submit_workflow but for the deprecated/legacy API (i.e. created with calls to Ketrew.EDSL.user_target).