inspec/docs/resources/filesystem.md.erb
Clinton Wolfe dd3d3cbd2f Add deprecation hook for size()
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 14:02:17 -05:00

84 lines
2.2 KiB
Text

---
title: About the filesystem Resource
platform: linux
---
# filesystem
Use the `filesystem` InSpec resource to audit filesystem disk space usage.
<br>
## Availability
### Installation
This resource is distributed along with 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 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 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 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
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/).