{"_id":"586d3dddcd6e243900cfdd62","version":{"_id":"55faf11ba62ba1170021a9aa","project":"55faf11ba62ba1170021a9a7","__v":38,"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","58ef66d88646742f009a0216","58f5d52d7891630f00fe4e77","59a555bccdbd85001bfb1442"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"project":"55faf11ba62ba1170021a9a7","parentDoc":null,"category":{"_id":"586d3c287c6b5b2300c05055","version":"55faf11ba62ba1170021a9aa","__v":0,"project":"55faf11ba62ba1170021a9a7","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-01-04T18:17:12.683Z","from_sync":false,"order":19,"slug":"task-execution","title":"TASK EXECUTION"},"user":"575e85ac41c8ba0e00259a44","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-01-04T18:24:29.020Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":5,"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 workflow you want to edit to open the Workflow Editor.\n 3. In the Workflow Editor, click the node for which you want to set the hint. The node you select must represent a tool – you cannot set hints for input or output nodes.\n 4. Click the ellipses icon corresponding to the node to see the settings for the step.\n 5. Click the tab marked **HINTS**.\n 6. Set the node-level instance in the **HINTS** tab:\n  a. Enter the name of the hint you are setting in the **Requirement class** field, *e.g.* `sbg:AWSInstanceType`.\n  b. Enter the value for the hint in the **Requirement value** field, *e.g.* `c3.8xlarge`. Instances that can use only attached EBS storage have just CPU and RAM information shown in brackets, while those that have their own storage also include information about the storage capacity.\n  c. If needed, add or change the value in the **[Attached Storage](doc:set-computation-instances#section-set-attached-storage-size)** field to define the size of storage attached to the computation instance. \n 7. Click **Save**.\n\n##Via the API\n  * To set node-level hints via the API, include those hints in the CWL specification of the workflow 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  * Node level hints should be placed in an array named hints at the top level of the appropriate step object in the workflow JSON file. Step objects themselves are contained in an array named steps at the top level of the workflow 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  \\\"steps\\\": [\\n    ...\\n    {\\n      \\\"hints\\\": [\\n        {\\n          \\\"class\\\": \\\"sbg:AWSInstanceType\\\",\\n          \\\"value\\\": \\\"c4.8xlarge;ebs-gp2;2000\\\"\\n        }\\n      ],\\n      ...\\n    },\\n    ...\\n  ],\\n  ...\\n}\",\n      \"language\": \"text\",\n      \"name\": \"Example workflow object with node level hints\"\n    }\n  ]\n}\n[/block]\nIn this case, the node uses the `c4.8xlarge` instance with 2000 GB of attached EBS storage. The value of `sbg:AWSInstanceType` consists of the following three parts:\n* instance type, e.g. `c4.8xlarge`\n* attached disk type: `ebs-gp2`\n* disk size in GB","excerpt":"","slug":"set-execution-hints-at-node-level","type":"basic","title":"Set execution hints at node level"}

Set execution hints at node level


##Via the visual interface 1. Go to the **Apps** tab of your project dashboard. 2. Click the pencil icon corresponding to the workflow you want to edit to open the Workflow Editor. 3. In the Workflow Editor, click the node for which you want to set the hint. The node you select must represent a tool – you cannot set hints for input or output nodes. 4. Click the ellipses icon corresponding to the node to see the settings for the step. 5. Click the tab marked **HINTS**. 6. Set the node-level instance in the **HINTS** tab: a. Enter the name of the hint you are setting in the **Requirement class** field, *e.g.* `sbg:AWSInstanceType`. b. Enter the value for the hint in the **Requirement value** field, *e.g.* `c3.8xlarge`. Instances that can use only attached EBS storage have just CPU and RAM information shown in brackets, while those that have their own storage also include information about the storage capacity. c. If needed, add or change the value in the **[Attached Storage](doc:set-computation-instances#section-set-attached-storage-size)** field to define the size of storage attached to the computation instance. 7. Click **Save**. ##Via the API * To set node-level hints via the API, include those hints in the CWL specification of the workflow 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). * Node level hints should be placed in an array named hints at the top level of the appropriate step object in the workflow JSON file. Step objects themselves are contained in an array named steps at the top level of the workflow 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 \"steps\": [\n ...\n {\n \"hints\": [\n {\n \"class\": \"sbg:AWSInstanceType\",\n \"value\": \"c4.8xlarge;ebs-gp2;2000\"\n }\n ],\n ...\n },\n ...\n ],\n ...\n}", "language": "text", "name": "Example workflow object with node level hints" } ] } [/block] In this case, the node uses the `c4.8xlarge` instance with 2000 GB of attached EBS storage. The value of `sbg:AWSInstanceType` consists of the following three parts: * instance type, e.g. `c4.8xlarge` * attached disk type: `ebs-gp2` * disk size in GB