addCookbook
A Graze API POST request that creates a new Cookbook.
Back to Graze API EndPoint Reference.
Request arguments
Endpoint addCookbook
takes the following request arguments:
Name | Type | Required | Description |
---|---|---|---|
| String | Yes | A valid |
| String | Yes | Name of the Cookbook. Must be unique. |
| String | No | Description of the Cookbook. |
| List of Strings | No | Defines the source of the alerts that Cookbook processes. You can specify none, one or more Moolets. Typically Cookbook processes the output of its direct upstream neighbor in the processing chain. Usually this is "Alert Workflows" which are the output from the Alert Workflow Engine. |
| String | No | Determines Cookbook's clustering behavior. Set to If you set a different |
| Number | No | Minimum entropy value an alert must have in order for Cookbook to consider it for clustering it into a Situation. A value between 0 and 1. Only relevant if |
| String | No | |
| Integer | No | Minimum time period, in seconds, that Cookbook clusters alerts for before the Recipe resets and starts a new cluster. See Cookbook and Recipe Examples for more information. Default is 3600 seconds (1 hour). If you set a different |
| Integer | No | Time period that Cookbook can extend clustering alerts for before the Recipe resets and starts a new cluster. Setting this value enables the cook for auto-extension feature for this Cookbook. As Cookbook receives related alerts, it continues to extend the total clustering time until the If you set a different |
| Integer | No | Maximum time period that Cookbook clusters alerts for before the Recipe resets and starts a new cluster. It works in conjunction with the If you set a different |
| Boolean | No | Determines whether Cookbook ignores alerts with a severity of 0 (Clear). Set to |
| Boolean | No | Defines whether Cookbook treats Recipes in priority order. If set to |
| List of Strings | Yes | A list of the Recipes in this Cookbook. You must supply at least one Recipe. If you set |
| Boolean | No | Whether Cookbook should start when Moogfarmd starts. Default is |
| String | No | The Moobot you want Cookbook to use if there are any Bot Recipes. See Recipe Types for more information. Default is |
Response
Endpoint addCookbook
returns the following response:
This endpoint returns an error code if the values of entropy_threshold
and threshold_type
are inconsistent. For example, if the entropy_threshold
is set to 0.4 and threshold_type
is set to global.
Successful requests return a JSON object containing the following:
Name | Type | Description |
---|---|---|
| Integer | ID of the new Cookbook. |
Examples
The following examples demonstrate typical use of endpoint addCookbook
:
Request examples
Example cURL request to create a new Cookbook "GrazeCookBook6" using an entropy threshold with an explicit value for this Cookbook of 0.25:
curl -X POST -u graze:graze -k -v "https://localhost/graze/v1/addCookbook" -H "Content-Type: application/json; charset=UTF-8" -d '{ "name": "GrazeCookBook6", "process_output_of": ["Alert Workflows"], "recipes": ["Description","Source"], "run_on_startup":false, "first_recipe_match_only":true}, "entropy_threshold" : 0.25, "threshold_type": "explicit_value" }'
Example cURL request to create a new Cookbook "GrazeCookBook7" using entropy thresholds set up for individual managers.
curl -X POST -u graze:graze -k -v "https://localhost/graze/v1/addCookbook" -H "Content-Type: application/json; charset=UTF-8" -d '{ "name": "GrazeCookBook7", "process_output_of": ["Alert Workflows"], "recipes": ["GrazeRecipe1","GrazeRecipe2","GrazeRecipe3"], "run_on_startup":false, "first_recipe_match_only":true}, "threshold_type": "manager" }'
Response example
Successful response providing the ID of the new Cookbook that has been created:
{ "id": 2 }