Nomad
Nomad volume specification capability block
| Placement | volume -> capability | 
The capability block allows validating that a volume meets the requested
capabilities.
id           = "ebs_prod_db1"
namespace    = "default"
name         = "database"
type         = "csi"
plugin_id    = "ebs-prod"
capacity_max = "200G"
capacity_min = "100G"
capability {
  access_mode     = "single-node-reader-only"
  attachment_mode = "file-system"
}
You must provide at least one capability block, and you must provide a block
for each capability you intend to use in a job's volume block.
Parameters
- access_mode- (string)- Defines whether a volume should be available concurrently. The- access_modeand- attachment_modefrom the volume request must exactly match one of the volume's- capabilityblocks.- For CSI volumes the - access_modeis required. Can be one of the following:- "single-node-reader-only": Jobs can only request the volume with read-only access, and only one node can mount the volume at a time.
- "single-node-writer": Jobs can request the volume with read/write or read-only access, and only one node can mount the volume at a time.
- "multi-node-reader-only": Jobs can only request the volume with read-only access, but multiple nodes can mount the volume simultaneously.
- "multi-node-single-writer": Jobs can request the volume with read/write or read-only access, but the scheduler only allows one allocation to have read/write access. Multiple nodes can mount the volume simultaneously.
- "multi-node-multi-writer": Jobs can request the volume with read/write or read-only access, and the scheduler allows multiple allocations to have read/write access. Multiple nodes can mount the volume simultaneously.
 - Most CSI plugins support only single-node modes. Consult the documentation of the storage provider and CSI plugin. 
- For dynamic host volumes the - access_modeis optional. Can be one of the following:- "single-node-writer": Jobs can only request the volume with read/write access.
- "single-node-reader-only": Jobs can only request the volume with read-only access.
- "single-node-single-writer": Jobs can request either read/write or read-only access, but the scheduler only allows one allocation to have read/write access.
- "single-node-multi-writer": Jobs can request either read/write or read-only access, and the scheduler allows multiple allocations to have read/write access.
 - In the job specification, the default is - single-node-writerunless- read_only = true, which translates to- single-node-reader-only.
 
- attachment_mode- (string)- The storage API used by the volume. One of- "file-system"or- "block-device". The- access_modeand- attachment_modefrom the volume request must exactly match one of the volume's- capabilityblocks.- For CSI volumes the - attachment_modefield is required. Most storage providers support- "file-system", to mount volumes using the CSI filesystem API. Some storage providers support- "block-device", which mounts the volume with the CSI block device API within the container.
- For dynamic host volumes the - attachment_modefield is optional and defaults to- "file-system".
 
Example
This examples shows a volume that must satisfy multiple capability requirements.
capability {
  access_mode     = "single-node-reader-only"
  attachment_mode = "file-system"
}
capability {
  access_mode     = "single-node-writer"
  attachment_mode = "file-system"
}