github.com/adityamillind98/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  ```