ansible.builtin.win_disk_facts (v2.9.27) — module

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 community

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get disk facts
  win_disk_facts:
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Output first disk size
  debug:
    var: ansible_facts.disks[0].size
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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)
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Output second disk serial number
  debug:
    var: ansible_facts.disks[1].serial_number

Outputs

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: str
        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: str
        friendly_name:
          description: Friendly name of the particular disk.
          returned: always
          sample: Red Hat VirtIO SCSI Disk Device
          type: str
        guid:
          description: GUID of the particular disk on the target.
          returned: if existent
          sample: '{efa5f928-57b9-47fc-ae3e-902e85fbe77f}'
          type: str
        location:
          description: Location of the particular disk on the target.
          returned: always
          sample: PCIROOT(0)#PCI(0400)#SCSI(P00T00L00)
          type: str
        manufacturer:
          description: Manufacturer of the particular disk.
          returned: always
          sample: Red Hat
          type: str
        model:
          description: Model specification of the particular disk.
          returned: always
          sample: VirtIO
          type: str
        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: str
        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: str
        partitions:
          contains:
            access_paths:
              description: Access paths of the particular partition.
              returned: if existent
              sample: \\?\Volume{85bdc4a8-f8eb-11e6-80fa-806e6f6e6963}\
              type: str
            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: str
            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: str
            guid:
              description: GUID of the particular partition.
              returned: if existent
              sample: '{302e475c-6e64-4674-a8e2-2f1c7018bf97}'
              type: str
            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: str
            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: str
                health_status:
                  description: Health status of the particular volume.
                  returned: always
                  sample: Healthy
                  type: str
                label:
                  description: File system label of the particular volume.
                  returned: always
                  sample: System Reserved
                  type: str
                object_id:
                  description: Object ID of the particular volume.
                  returned: always
                  sample: \\?\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\
                  type: str
                path:
                  description: Path of the particular volume.
                  returned: always
                  sample: \\?\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\
                  type: str
                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: str
              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: str
        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: str
            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: str
            device_id:
              description: Device ID of the particular physical disk.
              returned: always
              sample: '0'
              type: str
            friendly_name:
              description: Friendly name of the particular physical disk.
              returned: always
              sample: PhysicalDisk0
              type: str
            health_status:
              description: Health status of the particular physical disk.
              returned: always
              sample: Healthy
              type: str
            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: str
            media_type:
              description: Media type of the particular physical disk.
              returned: always
              sample: UnSpecified
              type: str
            model:
              description: Model of the particular physical disk.
              returned: always
              sample: Xen Block
              type: str
            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: str
            operational_status:
              description: Operational status of the particular physical disk.
              returned: always
              sample: OK
              type: str
            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: str
            serial_number:
              description: Serial number of the particular physical disk.
              returned: always
              sample: b62beac80c3645e5877f
              type: str
            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: str
              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: str
            usage_type:
              description: Usage type of the particular physical disk.
              returned: always
              sample: Auto-Select
              type: str
          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: str
        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: str
        virtual_disk:
          contains:
            access:
              description: Access of the particular virtual disk.
              returned: always
              sample: Read/Write
              type: str
            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: str
            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: str
            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: str
            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: str
            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: str
            name:
              description: Name of the particular virtual disk.
              returned: always
              sample: vDisk1
              type: str
            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: str
            operational_status:
              description: Operational status of the particular virtual disk.
              returned: always
              sample: OK
              type: str
            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: str
            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: str
            unique_id_format:
              description: Unique ID format of the particular virtual disk.
              returned: always
              sample: Vendor Specific
              type: str
            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