inspec/docs/resources/filesystem.md.erb
Clinton Wolfe 64676b2482 Correct filesystem resource docs for windows example
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-11-13 11:28:15 -05:00

86 lines
2.3 KiB
Text

---
title: About the filesystem Resource
platform: linux
---
# filesystem
Use the `filesystem` Chef InSpec resource to audit filesystem disk space usage.
<br>
## Availability
### Installation
This resource is distributed along with Chef InSpec itself. You can use it automatically.
### Version
This resource first became available in v1.51.0 of InSpec.
The `free_kb`, `size_kb`, and `type` properties became available in v3.6 of InSpec.
### Note
Versions of this resource in Chef InSpec prior to 3.5.x offered a property `size`, which returned a value in GB when on Windows and a value in KB on Linux, though it was documented to always return KB. All new code should use `size_kb` which is unit-stable. The property `size` will remain available in Chef InSpec v3 and 4, but will be deprecated in the future.
## Syntax
A `filesystem` resource block declares tests for disk space in a partition:
describe filesystem('/') do
its('size_kb') { should be >= 32 * 1024 * 1024}
its('free_kb') { should be >= 50 * 1024 }
its('percent_free') { should be >= 20 }
its('type') { should cmp 'ext4' }
end
where
* `filesystem('/')` states that the resource will look at the root (/) partition.
* `size_kb` is the total partition size and is measured in kilobytes (KB).
* `free_kb` is the available space on the partition and is measured in kilobytes (KB).
* `percent_free` is the percentage of available free space, and ranges from 0 to 100.
<br>
## Resource Property Examples
The following examples show how to use this Chef InSpec audit resource.
### Test if the root partition is greater than 32000 KB
describe filesystem('/') do
its('size_kb') { should be >= 32000 }
end
<br>
### Test that the root partition has more than 5GB free
describe filesystem('/') do
its('free_kb') { should be >= 5000000 }
end
<br>
### Test if the C:\ partition is NTFS
Note that Windows filesystems (drives) are referred to without any slashes:
describe filesystem('c:') do
its('type') { should cmp 'NTFS' }
end
<br>
### Test if the /var partition has sufficient free space
describe filesystem('/var') do
its('percent_free') { should be >= 20 }
end
## Matchers
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).