ansible / ansible.builtin / v2.7.10 / module / win_disk_facts Show the attached disks and disk information of the target host | "added in version" 2.5 of ansible.builtin" Authors: Marc Tschapek (@marqelme) preview | supported by communityansible.builtin.win_disk_facts (v2.7.10) — module
pip
Install with pip install ansible==2.7.10
With the module you can retrieve and output detailed information about the attached disks of the target and its volumes and partitions if existent.
- 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
ansible_facts: contains: ansible_disks: contains: bootable: description: Information whether the particular disk is a bootable disk. returned: always sample: false type: bool bus_type: description: Bus type of the particular disk. returned: always sample: SCSI type: string clustered: description: Information whether the particular disk is clustered (part of a failover cluster). returned: always sample: false type: bool firmware_version: description: Firmware version of the particular disk. returned: always sample: '0001' type: string friendly_name: description: Friendly name of the particular disk. returned: always sample: Red Hat VirtIO SCSI Disk Device type: string guid: description: GUID of the particular disk on the target. returned: if existent sample: '{efa5f928-57b9-47fc-ae3e-902e85fbe77f}' type: string location: description: Location of the particular disk on the target. returned: always sample: PCIROOT(0)#PCI(0400)#SCSI(P00T00L00) type: string manufacturer: description: Manufacturer of the particular disk. returned: always sample: Red Hat type: string model: description: Model specification of the particular disk. returned: always sample: VirtIO type: string number: description: Disk number of the particular disk. returned: always sample: 0 type: int operational_status: description: Operational status of the particular disk. returned: always sample: Online type: string partition_count: description: Number of partitions on the particular disk. returned: always sample: 4 type: int partition_style: description: Partition style of the particular disk. returned: always sample: MBR type: string partitions: contains: access_paths: description: Access paths of the particular partition. returned: if existent sample: \\?\Volume{85bdc4a8-f8eb-11e6-80fa-806e6f6e6963}\ type: string active: description: Information whether the particular partition is an active partition or not. returned: if partition_style property of the particular disk has value "MBR" sample: true type: bool drive_letter: description: Drive letter of the particular partition. returned: if existent sample: C type: string gpt_type: description: gpt type of the particular partition. returned: if partition_style property of the particular disk has value "GPT" sample: '{e3c9e316-0b5c-4db8-817d-f92df00215ae}' type: string guid: description: GUID of the particular partition. returned: if existent sample: '{302e475c-6e64-4674-a8e2-2f1c7018bf97}' type: string hidden: description: Information whether the particular partition is hidden or not. returned: always sample: true type: bool mbr_type: description: mbr type of the particular partition. returned: if partition_style property of the particular disk has value "MBR" sample: 7 type: int no_default_driveletter: description: Information whether the particular partition has a default drive letter or not. returned: if partition_style property of the particular disk has value "GPT" sample: true type: bool number: description: Number of the particular partition. returned: always sample: 1 type: int offset: description: Offset of the particular partition. returned: always sample: 368050176 type: int shadow_copy: description: Information whether the particular partition is a shadow copy of another partition. returned: always sample: false type: bool size: description: - Size in bytes of the particular partition. returned: always sample: 838860800 type: int transition_state: description: Transition state of the particular partition. returned: always sample: 1 type: int type: description: Type of the particular partition. returned: always sample: IFS type: string volumes: contains: allocation_unit_size: description: Allocation unit size in bytes of the particular volume. returned: always sample: 4096 type: int drive_type: description: Drive type of the particular volume. returned: always sample: Fixed type: string health_status: description: Health status of the particular volume. returned: always sample: Healthy type: string label: description: File system label of the particular volume. returned: always sample: System Reserved type: string object_id: description: Object ID of the particular volume. returned: always sample: \\?\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\ type: string path: description: Path of the particular volume. returned: always sample: \\?\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\ type: string size: description: - Size in bytes of the particular volume. returned: always sample: 838856704 type: int size_remaining: description: - Remaining size in bytes of the particular volume. returned: always sample: 395620352 type: int type: description: File system type of the particular volume. returned: always sample: NTFS type: string description: Detailed information about one particular volume on the specified partition. returned: if existent type: list description: Detailed information about one particular partition on the specified disk. returned: if existent type: list path: description: Path of the particular disk on the target. returned: always sample: \\?\scsi#disk&ven_red_hat&prod_virtio#4&23208fd0&1&000000#{<id>} type: string physical_disk: contains: allocated_size: description: - Allocated size in bytes of the particular physical disk. returned: always sample: 240057409536 type: int bus_type: description: Bus type of the particular physical disk. returned: always sample: SCSI type: string can_pool: description: Information whether the particular physical disk can be added to a storage pool. returned: always sample: false type: bool cannot_pool_reason: description: Information why the particular physical disk can not be added to a storage pool. returned: if can_pool property has value false sample: Insufficient Capacity type: string device_id: description: Device ID of the particular physical disk. returned: always sample: '0' type: string friendly_name: description: Friendly name of the particular physical disk. returned: always sample: PhysicalDisk0 type: string health_status: description: Health status of the particular physical disk. returned: always sample: Healthy type: string indication_enabled: description: Information whether indication is enabled for the particular physical disk. returned: always sample: true type: bool manufacturer: description: Manufacturer of the particular physical disk. returned: always sample: SUSE type: string media_type: description: Media type of the particular physical disk. returned: always sample: UnSpecified type: string model: description: Model of the particular physical disk. returned: always sample: Xen Block type: string object_id: description: Object ID of the particular physical disk. returned: always sample: '{1}\\\\HOST\\root/Microsoft/Windows/Storage/Providers_v2\\SPACES_PhysicalDisk.ObjectId=\"{<object_id>}:PD:{<pd>}\"' type: string operational_status: description: Operational status of the particular physical disk. returned: always sample: OK type: string partial: description: Information whether the particular physical disk is partial. returned: always sample: false type: bool physical_location: description: Physical location of the particular physical disk. returned: always sample: 'Integrated : Adapter 3 : Port 0 : Target 0 : LUN 0' type: string serial_number: description: Serial number of the particular physical disk. returned: always sample: b62beac80c3645e5877f type: string size: description: - Size in bytes of the particular physical disk. returned: always sample: 240057409536 type: int spindle_speed: description: Spindle speed in rpm of the particular physical disk. returned: always sample: 4294967295 type: int supported_usages: contains: Count: description: Count of supported usage types. returned: always sample: 5 type: int value: description: List of supported usage types. returned: always sample: Auto-Select, Hot Spare type: string description: Supported usage types of the particular physical disk. returned: always type: complex unique_id: description: Unique ID of the particular physical disk. returned: always sample: '3141463431303031' type: string usage_type: description: Usage type of the particular physical disk. returned: always sample: Auto-Select type: string description: Detailed information about physical disk properties of the particular disk. returned: if existent type: complex read_only: description: Read only status of the particular disk. returned: always sample: true type: bool sector_size: description: Sector size in bytes of the particular disk. returned: always sample: 4096 type: int serial_number: description: Serial number of the particular disk on the target. returned: always sample: b62beac80c3645e5877f type: string size: description: Size in bytes of the particular disk. returned: always sample: 227727638528 type: int system_disk: description: Information whether the particular disk is a system disk. returned: always sample: true type: bool unique_id: description: Unique ID of the particular disk on the target. returned: always sample: '3141463431303031' type: string virtual_disk: contains: access: description: Access of the particular virtual disk. returned: always sample: Read/Write type: string allocated_size: description: - Allocated size in bytes of the particular virtual disk. returned: always sample: 240057409536 type: int allocation_unit_size: description: Allocation unit size in bytes of the particular virtual disk. returned: always sample: 4096 type: int available_copies: description: Number of the available copies of the particular virtual disk. returned: if existent sample: 1 type: int columns: description: Number of the columns of the particular virtual disk. returned: always sample: 2 type: int deduplication_enabled: description: Information whether deduplication is enabled for the particular virtual disk. returned: always sample: true type: bool detached_reason: description: Detached reason of the particular virtual disk. returned: always sample: None type: string enclosure_aware: description: Information whether the particular virtual disk is enclosure aware. returned: always sample: false type: bool fault_domain_awareness: description: Fault domain awareness of the particular virtual disk. returned: always sample: PhysicalDisk type: string footprint_on_pool: description: - Footprint on pool in bytes of the particular virtual disk. returned: always sample: 240057409536 type: int friendly_name: description: Friendly name of the particular virtual disk. returned: always sample: Prod2 Virtual Disk type: string groups: description: Number of the groups of the particular virtual disk. returned: always sample: 1 type: int health_status: description: Health status of the particular virtual disk. returned: always sample: Healthy type: string inter_leave: description: - Inter leave in bytes of the particular virtual disk. returned: always sample: 102400 type: int logical_sector_size: description: Logical sector size in byte of the particular virtual disk. returned: always sample: 512 type: int manual_attach: description: Information whether the particular virtual disk is manual attached. returned: always sample: true type: bool media_type: description: Media type of the particular virtual disk. returned: always sample: Unspecified type: string name: description: Name of the particular virtual disk. returned: always sample: vDisk1 type: string object_id: description: Object ID of the particular virtual disk. returned: always sample: '{1}\\\\HOST\\root/Microsoft/Windows/Storage/Providers_v2\\SPACES_VirtualDisk.ObjectId=\"{<object_id>}:VD:{<vd>}\"' type: string operational_status: description: Operational status of the particular virtual disk. returned: always sample: OK type: string parity_layout: description: Parity layout of the particular virtual disk. returned: if existent sample: 1 type: int physical_disk_redundancy: description: Type of the physical disk redundancy of the particular virtual disk. returned: always sample: 1 type: int physical_sector_size: description: Physical sector size in bytes of the particular virtual disk. returned: always sample: 4096 type: int provisioning_type: description: Provisioning type of the particular virtual disk. returned: always sample: Thin type: string read_cache_size: description: Read cache size in byte of the particular virtual disk. returned: always sample: 0 type: int request_no_spof: description: Information whether the particular virtual disk requests no single point of failure. returned: always sample: true type: bool resiliency_setting_name: description: Type of the physical disk redundancy of the particular virtual disk. returned: always sample: 1 type: int size: description: - Size in bytes of the particular virtual disk. returned: always sample: 240057409536 type: int snapshot: description: Information whether the particular virtual disk is a snapshot. returned: always sample: false type: bool tiered: description: Information whether the particular virtual disk is tiered. returned: always sample: true type: bool unique_id: description: Unique ID of the particular virtual disk. returned: always sample: 260542E4C6B01D47A8FA7630FD90FFDE type: string unique_id_format: description: Unique ID format of the particular virtual disk. returned: always sample: Vendor Specific type: string write_cache_size: description: Write cache size in byte of the particular virtual disk. returned: always sample: 100 type: int description: Detailed information about virtual disk properties of the particular disk. returned: if existent type: complex description: Detailed information about one particular disk. returned: if disks were found type: list description: Dictionary containing all the detailed information about the disks of the target. returned: always type: complex