Nomad
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.
capability Parameters
- access_mode- (string: <required>)- Defines whether a volume should be available concurrently. Can be one of- "single-node-reader-only",- "single-node-writer",- "multi-node-reader-only",- "multi-node-single-writer", or- "multi-node-multi-writer". Most CSI plugins support only single-node modes. Consult the documentation of the storage provider and CSI plugin. 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.
- attachment_mode- (string: <required>)- The storage API that will be used by the volume. Most storage providers will support- "file-system", to mount volumes using the CSI filesystem API. Some storage providers will support- "block-device", which will mount the volume with the CSI block device API within the container.
capability Examples
The following examples only show the capability blocks. Remember that the
capability block is only valid in the placement shown above.
Multiple capabilities
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"
}