{"__v":0,"_id":"586d3dead7f6a12f00c62447","category":{"project":"55faf11ba62ba1170021a9a7","version":"55faf11ba62ba1170021a9aa","_id":"586d3c287c6b5b2300c05055","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-01-04T18:17:12.683Z","from_sync":false,"order":18,"slug":"task-execution","title":"Task Execution"},"parentDoc":null,"project":"55faf11ba62ba1170021a9a7","user":"575e85ac41c8ba0e00259a44","version":{"__v":35,"_id":"55faf11ba62ba1170021a9aa","project":"55faf11ba62ba1170021a9a7","createdAt":"2015-09-17T16:58:03.490Z","releaseDate":"2015-09-17T16:58:03.490Z","categories":["55faf11ca62ba1170021a9ab","55faf8f4d0e22017005b8272","55faf91aa62ba1170021a9b5","55faf929a8a7770d00c2c0bd","55faf932a8a7770d00c2c0bf","55faf94b17b9d00d00969f47","55faf958d0e22017005b8274","55faf95fa8a7770d00c2c0c0","55faf96917b9d00d00969f48","55faf970a8a7770d00c2c0c1","55faf98c825d5f19001fa3a6","55faf99aa62ba1170021a9b8","55faf99fa62ba1170021a9b9","55faf9aa17b9d00d00969f49","55faf9b6a8a7770d00c2c0c3","55faf9bda62ba1170021a9ba","5604570090ee490d00440551","5637e8b2fbe1c50d008cb078","5649bb624fa1460d00780add","5671974d1b6b730d008b4823","5671979d60c8e70d006c9760","568e8eef70ca1f0d0035808e","56d0a2081ecc471500f1795e","56d4a0adde40c70b00823ea3","56d96b03dd90610b00270849","56fbb83d8f21c817002af880","573c811bee2b3b2200422be1","576bc92afb62dd20001cda85","5771811e27a5c20e00030dcd","5785191af3a10c0e009b75b0","57bdf84d5d48411900cd8dc0","57ff5c5dc135231700aed806","5804caf792398f0f00e77521","58458b4fba4f1c0f009692bb","586d3c287c6b5b2300c05055"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-01-04T18:24:42.007Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":6,"body":"##Via the visual interface\n 1. Go to the **Apps** tab of your project dashboard.\n 2. Click the pencil icon corresponding to the tool you want to edit to open the Tool Editor.\n 3. In the Tool Editor, click the ellipses and select **Settings**.\n 4. Set the tool-level instance in the pop-up:\n  a. Click the plus icon :heavy-plus-sign: .\n  b. Enter the name of the hint you are setting in the **Requirement class** field, *e.g.* `sbg:AWSInstanceType`, `sbg:GoogleInstanceType`, `sbg:MemRequirement`, `sbg:CPURequirement`, `sbg:SaveLogs`.\n  c. Enter the value for the hint in the **Requirement value** field, *e.g.* `c3.8xlarge`.\n 5. Click **Save**.\n\n##Via the API\n  * To set tool level hints via the API, include those hints in the CWL specification of the tool when [adding a new app](doc:add-an-app-using-raw-cwl) or [adding a new revision of an app](doc:create-an-app-revision-raw). \n  * Tool level hints should be placed in an array named hints at the top level of the tool JSON.\n  * A hint is represented by a JSON object with the following fields:\n\n| Field | Description |\n| --- | --- |\n| `class`\t| The name of the hint to set |\n| `value`\t| The value to assign to this hint |\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  ...\\n    \\\"hints\\\": [\\n      {\\n        \\\"class\\\": \\\"sbg:CPURequirement\\\",\\n        \\\"value\\\": \\\"2\\\"\\n      },\\n      {\\n        \\\"class\\\": \\\"sbg:MemRequirement\\\",\\n        \\\"value\\\": \\\"2048\\\"\\n      }\\n    ],\\n  ...\\n}\",\n      \"language\": \"text\",\n      \"name\": \"Example tool object with tool level hints\"\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"set-execution-hints-at-tool-level","type":"basic","title":"Set execution hints at tool level"}

Set execution hints at tool level


##Via the visual interface 1. Go to the **Apps** tab of your project dashboard. 2. Click the pencil icon corresponding to the tool you want to edit to open the Tool Editor. 3. In the Tool Editor, click the ellipses and select **Settings**. 4. Set the tool-level instance in the pop-up: a. Click the plus icon :heavy-plus-sign: . b. Enter the name of the hint you are setting in the **Requirement class** field, *e.g.* `sbg:AWSInstanceType`, `sbg:GoogleInstanceType`, `sbg:MemRequirement`, `sbg:CPURequirement`, `sbg:SaveLogs`. c. Enter the value for the hint in the **Requirement value** field, *e.g.* `c3.8xlarge`. 5. Click **Save**. ##Via the API * To set tool level hints via the API, include those hints in the CWL specification of the tool when [adding a new app](doc:add-an-app-using-raw-cwl) or [adding a new revision of an app](doc:create-an-app-revision-raw). * Tool level hints should be placed in an array named hints at the top level of the tool JSON. * A hint is represented by a JSON object with the following fields: | Field | Description | | --- | --- | | `class` | The name of the hint to set | | `value` | The value to assign to this hint | [block:code] { "codes": [ { "code": "{\n ...\n \"hints\": [\n {\n \"class\": \"sbg:CPURequirement\",\n \"value\": \"2\"\n },\n {\n \"class\": \"sbg:MemRequirement\",\n \"value\": \"2048\"\n }\n ],\n ...\n}", "language": "text", "name": "Example tool object with tool level hints" } ] } [/block]