win_disk_facts - Show the attached disks and disk information of the target host¶
New in version 2.5.
Synopsis¶
- With the module you can retrieve and output detailed information about the attached disks of the target and its volumes and partitions if existent.
Requirements¶
The below requirements are needed on the host that executes this module.
- Windows 8.1 / Windows 2012 (NT 6.2)
Notes¶
Note
- In order to understand all the returned properties and values please visit the following site and open the respective MSFT class https://msdn.microsoft.com/en-us/library/windows/desktop/hh830612.aspx
Examples¶
- name: Get disk facts
win_disk_facts:
- name: Output first disk size
debug:
var: ansible_facts.disks[0].size
- name: Convert first system disk into various formats
debug:
msg: '{{ disksize_gib }} vs {{ disksize_gib_human }}'
vars:
# Get first system disk
disk: '{{ ansible_facts.disks|selectattr("system_disk")|first }}'
# Show disk size in Gibibytes
disksize_gib_human: '{{ disk.size|filesizeformat(True) }}' # returns "223.6 GiB" (human readable)
disksize_gib: '{{ (disk.size/1024|pow(3))|round|int }} GiB' # returns "224 GiB" (value in GiB)
# Show disk size in Gigabytes
disksize_gb_human: '{{ disk.size|filesizeformat }}' # returns "240.1 GB" (human readable)
disksize_gb: '{{ (disk.size/1000|pow(3))|round|int }} GB' # returns "240 GB" (value in GB)
- name: Output second disk serial number
debug:
var: ansible_facts.disks[0].serial_number
Returned Facts¶
Facts returned by this module are added/updated in the hostvars
host facts and can be referenced by name just like any other host fact. They do not need to be registered in order to use them.
Fact | Returned | Description | |||
---|---|---|---|---|---|
ansible_disks
list
|
if disks were found |
Detailed information about one particular disk.
|
|||
bus_type
string
|
always |
Bus type of the particular disk.
Sample:
SCSI
|
|||
physical_disk
complex
|
if existent |
Detailed information about physical disk properties of the particular disk.
|
|||
bus_type
string
|
always |
Bus type of the particular physical disk.
Sample:
SCSI
|
|||
operational_status
string
|
always |
Operational status of the particular physical disk.
Sample:
OK
|
|||
partial
bool
|
always |
Information whether the particular physical disk is partial.
|
|||
cannot_pool_reason
string
|
if can_pool property has value false |
Information why the particular physical disk can not be added to a storage pool.
Sample:
Insufficient Capacity
|
|||
media_type
string
|
always |
Media type of the particular physical disk.
Sample:
UnSpecified
|
|||
supported_usages
complex
|
always |
Supported usage types of the particular physical disk.
|
|||
Count
int
|
always |
Count of supported usage types.
Sample:
5
|
|||
value
string
|
always |
List of supported usage types.
Sample:
Auto-Select, Hot Spare
|
|||
usage_type
string
|
always |
Usage type of the particular physical disk.
Sample:
Auto-Select
|
|||
size
int
|
always |
Size in bytes of the particular physical disk.
Sample:
240057409536
|
|||
can_pool
bool
|
always |
Information whether the particular physical disk can be added to a storage pool.
|
|||
allocated_size
int
|
always |
Allocated size in bytes of the particular physical disk.
Sample:
240057409536
|
|||
friendly_name
string
|
always |
Friendly name of the particular physical disk.
Sample:
PhysicalDisk0
|
|||
object_id
string
|
always |
Object ID of the particular physical disk.
Sample:
{1}\\\\HOST\\root/Microsoft/Windows/Storage/Providers_v2\\SPACES_PhysicalDisk.ObjectId=\"{<object_id>}:PD:{<pd>}\"
|
|||
health_status
string
|
always |
Health status of the particular physical disk.
Sample:
Healthy
|
|||
indication_enabled
bool
|
always |
Information whether indication is enabled for the particular physical disk.
Sample:
True
|
|||
physical_location
string
|
always |
Physical location of the particular physical disk.
Sample:
Integrated : Adapter 3 : Port 0 : Target 0 : LUN 0
|
|||
serial_number
string
|
always |
Serial number of the particular physical disk.
Sample:
b62beac80c3645e5877f
|
|||
model
string
|
always |
Model of the particular physical disk.
Sample:
Xen Block
|
|||
manufacturer
string
|
always |
Manufacturer of the particular physical disk.
Sample:
SUSE
|
|||
spindle_speed
int
|
always |
Spindle speed in rpm of the particular physical disk.
Sample:
4294967295
|
|||
device_id
string
|
always |
Device ID of the particular physical disk.
Sample:
0
|
|||
unique_id
string
|
always |
Unique ID of the particular physical disk.
Sample:
3141463431303031
|
|||
virtual_disk
complex
|
if existent |
Detailed information about virtual disk properties of the particular disk.
|
|||
operational_status
string
|
always |
Operational status of the particular virtual disk.
Sample:
OK
|
|||
available_copies
int
|
if existent |
Number of the available copies of the particular virtual disk.
Sample:
1
|
|||
size
int
|
always |
Size in bytes of the particular virtual disk.
Sample:
240057409536
|
|||
physical_sector_size
int
|
always |
Physical sector size in bytes of the particular virtual disk.
Sample:
4096
|
|||
inter_leave
int
|
always |
Inter leave in bytes of the particular virtual disk.
Sample:
102400
|
|||
request_no_spof
bool
|
always |
Information whether the particular virtual disk requests no single point of failure.
Sample:
True
|
|||
object_id
string
|
always |
Object ID of the particular virtual disk.
Sample:
{1}\\\\HOST\\root/Microsoft/Windows/Storage/Providers_v2\\SPACES_VirtualDisk.ObjectId=\"{<object_id>}:VD:{<vd>}\"
|
|||
access
string
|
always |
Access of the particular virtual disk.
Sample:
Read/Write
|
|||
deduplication_enabled
bool
|
always |
Information whether deduplication is enabled for the particular virtual disk.
Sample:
True
|
|||
footprint_on_pool
int
|
always |
Footprint on pool in bytes of the particular virtual disk.
Sample:
240057409536
|
|||
provisioning_type
string
|
always |
Provisioning type of the particular virtual disk.
Sample:
Thin
|
|||
media_type
string
|
always |
Media type of the particular virtual disk.
Sample:
Unspecified
|
|||
logical_sector_size
int
|
always |
Logical sector size in byte of the particular virtual disk.
Sample:
512
|
|||
columns
int
|
always |
Number of the columns of the particular virtual disk.
Sample:
2
|
|||
manual_attach
bool
|
always |
Information whether the particular virtual disk is manual attached.
Sample:
True
|
|||
enclosure_aware
bool
|
always |
Information whether the particular virtual disk is enclosure aware.
|
|||
read_cache_size
int
|
always |
Read cache size in byte of the particular virtual disk.
|
|||
physical_disk_redundancy
int
|
always |
Type of the physical disk redundancy of the particular virtual disk.
Sample:
1
|
|||
groups
int
|
always |
Number of the groups of the particular virtual disk.
Sample:
1
|
|||
detached_reason
string
|
always |
Detached reason of the particular virtual disk.
Sample:
None
|
|||
write_cache_size
int
|
always |
Write cache size in byte of the particular virtual disk.
Sample:
100
|
|||
name
string
|
always |
Name of the particular virtual disk.
Sample:
vDisk1
|
|||
allocated_size
int
|
always |
Allocated size in bytes of the particular virtual disk.
Sample:
240057409536
|
|||
resiliency_setting_name
int
|
always |
Type of the physical disk redundancy of the particular virtual disk.
Sample:
1
|
|||
friendly_name
string
|
always |
Friendly name of the particular virtual disk.
Sample:
Prod2 Virtual Disk
|
|||
allocation_unit_size
int
|
always |
Allocation unit size in bytes of the particular virtual disk.
Sample:
4096
|
|||
unique_id_format
string
|
always |
Unique ID format of the particular virtual disk.
Sample:
Vendor Specific
|
|||
tiered
bool
|
always |
Information whether the particular virtual disk is tiered.
Sample:
True
|
|||
health_status
string
|
always |
Health status of the particular virtual disk.
Sample:
Healthy
|
|||
snapshot
bool
|
always |
Information whether the particular virtual disk is a snapshot.
|
|||
parity_layout
int
|
if existent |
Parity layout of the particular virtual disk.
Sample:
1
|
|||
unique_id
string
|
always |
Unique ID of the particular virtual disk.
Sample:
260542E4C6B01D47A8FA7630FD90FFDE
|
|||
fault_domain_awareness
string
|
always |
Fault domain awareness of the particular virtual disk.
Sample:
PhysicalDisk
|
|||
partition_style
string
|
always |
Partition style of the particular disk.
Sample:
MBR
|
|||
unique_id
string
|
always |
Unique ID of the particular disk on the target.
Sample:
3141463431303031
|
|||
number
int
|
always |
Disk number of the particular disk.
|
|||
clustered
bool
|
always |
Information whether the particular disk is clustered (part of a failover cluster).
|
|||
path
string
|
always |
Path of the particular disk on the target.
Sample:
\\?\scsi#disk&ven_red_hat&prod_virtio#4&23208fd0&1&000000#{<id>}
|
|||
firmware_version
string
|
always |
Firmware version of the particular disk.
Sample:
0001
|
|||
guid
string
|
if existent |
GUID of the particular disk on the target.
Sample:
{efa5f928-57b9-47fc-ae3e-902e85fbe77f}
|
|||
size
int
|
always |
Size in bytes of the particular disk.
Sample:
227727638528
|
|||
read_only
bool
|
always |
Read only status of the particular disk.
Sample:
True
|
|||
sector_size
int
|
always |
Sector size in bytes of the particular disk.
Sample:
4096
|
|||
bootable
bool
|
always |
Information whether the particular disk is a bootable disk.
|
|||
partitions
list
|
if existent |
Detailed information about one particular partition on the specified disk.
|
|||
transition_state
int
|
always |
Transition state of the particular partition.
Sample:
1
|
|||
no_default_driveletter
bool
|
if partition_style property of the particular disk has value "GPT" |
Information whether the particular partition has a default drive letter or not.
Sample:
True
|
|||
gpt_type
string
|
if partition_style property of the particular disk has value "GPT" |
gpt type of the particular partition.
Sample:
{e3c9e316-0b5c-4db8-817d-f92df00215ae}
|
|||
number
int
|
always |
Number of the particular partition.
Sample:
1
|
|||
access_paths
string
|
if existent |
Access paths of the particular partition.
Sample:
\\?\Volume{85bdc4a8-f8eb-11e6-80fa-806e6f6e6963}\
|
|||
shadow_copy
bool
|
always |
Information whether the particular partition is a shadow copy of another partition.
|
|||
mbr_type
int
|
if partition_style property of the particular disk has value "MBR" |
mbr type of the particular partition.
Sample:
7
|
|||
drive_letter
string
|
if existent |
Drive letter of the particular partition.
Sample:
C
|
|||
volumes
list
|
if existent |
Detailed information about one particular volume on the specified partition.
|
|||
allocation_unit_size
int
|
always |
Allocation unit size in bytes of the particular volume.
Sample:
4096
|
|||
object_id
string
|
always |
Object ID of the particular volume.
Sample:
\\?\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\
|
|||
label
string
|
always |
File system label of the particular volume.
Sample:
System Reserved
|
|||
size_remaining
int
|
always |
Remaining size in bytes of the particular volume.
Sample:
395620352
|
|||
health_status
string
|
always |
Health status of the particular volume.
Sample:
Healthy
|
|||
drive_type
string
|
always |
Drive type of the particular volume.
Sample:
Fixed
|
|||
path
string
|
always |
Path of the particular volume.
Sample:
\\?\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\
|
|||
type
string
|
always |
File system type of the particular volume.
Sample:
NTFS
|
|||
size
int
|
always |
Size in bytes of the particular volume.
Sample:
838856704
|
|||
offset
int
|
always |
Offset of the particular partition.
Sample:
368050176
|
|||
active
bool
|
if partition_style property of the particular disk has value "MBR" |
Information whether the particular partition is an active partition or not.
Sample:
True
|
|||
hidden
bool
|
always |
Information whether the particular partition is hidden or not.
Sample:
True
|
|||
guid
string
|
if existent |
GUID of the particular partition.
Sample:
{302e475c-6e64-4674-a8e2-2f1c7018bf97}
|
|||
type
string
|
always |
Type of the particular partition.
Sample:
IFS
|
|||
size
int
|
always |
Size in bytes of the particular partition.
Sample:
838860800
|
|||
operational_status
string
|
always |
Operational status of the particular disk.
Sample:
Online
|
|||
friendly_name
string
|
always |
Friendly name of the particular disk.
Sample:
Red Hat VirtIO SCSI Disk Device
|
|||
partition_count
int
|
always |
Number of partitions on the particular disk.
Sample:
4
|
|||
location
string
|
always |
Location of the particular disk on the target.
Sample:
PCIROOT(0)#PC0400#SCSP00T00L00
|
|||
serial_number
string
|
always |
Serial number of the particular disk on the target.
Sample:
b62beac80c3645e5877f
|
|||
model
string
|
always |
Model specification of the particular disk.
Sample:
VirtIO
|
|||
manufacturer
string
|
always |
Manufacturer of the particular disk.
Sample:
Red Hat
|
|||
system_disk
bool
|
always |
Information whether the particular disk is a system disk.
Sample:
True
|
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author¶
- Marc Tschapek (@marqelme)
Hint
If you notice any issues in this documentation you can edit this document to improve it.