open-nomad/website/content/docs/other-specifications/volume/capability.mdx
Ashlee M Boyer 57f8ebfa26
docs: Migrate link formats (#15779)
* Adding check-legacy-links-format workflow

* Adding test-link-rewrites workflow

* chore: updates link checker workflow hash

* Migrating links to new format

Co-authored-by: Kendall Strautman <kendallstrautman@gmail.com>
2023-01-25 09:31:14 -08:00

74 lines
2 KiB
Plaintext

---
layout: docs
page_title: capability Block - Volume Specification
description: The "capability" block allows for validating the capability of a volume.
---
# `capability` Block
<Placement
groups={[
['volume', 'capability'],
]}
/>
The `capability` block allows validating that a volume meets the requested
capabilities.
```hcl
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.
- `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.
```hcl
capability {
access_mode = "single-node-reader-only"
attachment_mode = "file-system"
}
capability {
access_mode = "single-node-writer"
attachment_mode = "file-system"
}
```
[`volume`]: /nomad/docs/job-specification/volume