github.com/uchennaokeke444/nomad@v0.11.8/website/pages/api-docs/plugins.mdx (about) 1 --- 2 layout: api 3 page_title: Plugins - HTTP API 4 sidebar_title: Plugins 5 description: The `/plugin` endpoints are used to query for and interact with dynamic plugins. 6 --- 7 8 # Plugins HTTP API 9 10 The `/plugin` endpoints are used to query for and interact with 11 dynamic plugins. Currently only Container Storage Interface (CSI) 12 plugins are dynamic. 13 14 ## List Plugins 15 16 This endpoint lists all dynamic plugins. 17 18 | Method | Path | Produces | 19 | ------ | ------------- | ------------------ | 20 | `GET` | `/v1/plugins` | `application/json` | 21 22 The table below shows this endpoint's support for 23 [blocking queries](/api-docs#blocking-queries) and 24 [required ACLs](/api-docs#acls). 25 26 | Blocking Queries | ACL Required | 27 | ---------------- | --------------------------- | 28 | `YES` | `namespace:csi-list-plugin` | 29 30 ### Parameters 31 32 - `type` `(string: "")`- Specifies the type of plugin to 33 query. Currently only supports `csi`. This is specified as a query 34 string parameter. Returns an empty list if omitted. 35 36 ### Sample Request 37 38 ```shell-session 39 $ curl \ 40 https://localhost:4646/v1/plugins?type=csi 41 ``` 42 43 ### Sample Response 44 45 ```json 46 [ 47 { 48 "ID": "example", 49 "Provider": "aws.ebs", 50 "ControllerRequired": true, 51 "ControllersHealthy": 2, 52 "ControllersExpected": 3, 53 "NodesHealthy": 14, 54 "NodesExpected": 16, 55 "CreateIndex": 52, 56 "ModifyIndex": 93 57 } 58 ] 59 ``` 60 61 ## Read Plugin 62 63 Get details of a single plugin, including information about the 64 plugin's job and client fingerprint data. 65 66 | Method | Path | Produces | 67 | ------ | --------------------------- | ------------------ | 68 | `GET` | `/v1/plugin/csi/:plugin_id` | `application/json` | 69 70 The table below shows this endpoint's support for 71 [blocking queries](/api-docs#blocking-queries) and 72 [required ACLs](/api-docs#acls). 73 74 | Blocking Queries | ACL Required | 75 | ---------------- | --------------------------- | 76 | `YES` | `namespace:csi-read-plugin` | 77 78 ### Sample Request 79 80 ```shell-session 81 $ curl \ 82 https://localhost:4646/v1/plugin/csi/example_plugin_id 83 ``` 84 85 ### Sample Response 86 87 ```json 88 [ 89 { 90 "ID": "example_plugin_id", 91 "Topologies": [ 92 {"key": "val"}, 93 {"key": "val2"} 94 ], 95 "Provider": "aws.ebs", 96 "Version": "1.0.1", 97 "ControllersRequired": true, 98 "ControllersHealthy": 1, 99 "Controllers": { 100 "example_node_id": { 101 "PluginID": "example_plugin_id", 102 "Provider": "aws.ebs", 103 "ProviderVersion": "1.0.1", 104 "AllocID": "alloc-id", 105 "Healthy": true, 106 "HealthDescription": "healthy", 107 "UpdateTime": "2020-01-31T00:00:00.000Z", 108 "RequiresControllerPlugin": true, 109 "RequiresTopologies": true, 110 "ControllerInfo": { 111 "SupportsReadOnlyAttach": true, 112 "SupportsAttachDetach": true, 113 "SupportsListVolumes": true, 114 "SupportsListVolumesAttachedNodes": false 115 } 116 }, 117 "NodesHealthy": 1, 118 "Nodes": { 119 "example_node_id": { 120 "PluginID": "example_plugin_id", 121 "Provider": "aws.ebs", 122 "ProviderVersion": "1.0.1", 123 "AllocID": "alloc-id", 124 "Healthy": true, 125 "HealthDescription": "healthy", 126 "UpdateTime": "2020-01-30T00:00:00.000Z", 127 "RequiresControllerPlugin": true, 128 "RequiresTopologies": true, 129 "NodeInfo": { 130 "ID": "example_node_id", 131 "MaxVolumes": 51, 132 "AccessibleTopology": { 133 "key": "val2" 134 }, 135 "RequiresNodeStageVolume": true 136 } 137 } 138 } 139 } 140 ] 141 ```