Server IP : 85.214.239.14 / Your IP : 18.220.227.250 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/ansible_collections/community/windows/plugins/modules/ |
Upload File : |
#!/usr/bin/python # -*- coding: utf-8 -*- # Copyright: (c) 2017, Marc Tschapek <marc.tschapek@itelligence.de> # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) DOCUMENTATION = r''' --- module: win_disk_facts short_description: Show the attached disks and disk information of the target host 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: - Windows 8.1 / Windows 2012 (NT 6.2) notes: - In order to understand all the returned properties and values please visit the following site and open the respective MSFT class U(https://msdn.microsoft.com/en-us/library/windows/desktop/hh830612.aspx) author: - Marc Tschapek (@marqelme) options: filter: description: - Allows to filter returned facts by type of disk information. - If volumes are selected partitions will be returned as well. type: list elements: str choices: [ physical_disk, virtual_disk, win32_disk_drive, partitions, volumes ] default: [ physical_disk, virtual_disk, win32_disk_drive, partitions, volumes ] version_added: 1.9.0 ''' EXAMPLES = r''' - name: Get disk facts community.windows.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[1].serial_number - name: get disk physical_disk and partition facts on the target win_disk_facts: filter: - physical_disk - partitions ''' RETURN = r''' ansible_facts: description: Dictionary containing all the detailed information about the disks of the target. returned: always type: complex contains: ansible_disks: description: Detailed information about one particular disk. returned: if disks were found type: list contains: number: description: Disk number of the particular disk. returned: always type: int sample: 0 size: description: Size in bytes of the particular disk. returned: always type: int sample: 227727638528 bus_type: description: Bus type of the particular disk. returned: always type: str sample: "SCSI" friendly_name: description: Friendly name of the particular disk. returned: always type: str sample: "Red Hat VirtIO SCSI Disk Device" partition_style: description: Partition style of the particular disk. returned: always type: str sample: "MBR" partition_count: description: Number of partitions on the particular disk. returned: always type: int sample: 4 operational_status: description: Operational status of the particular disk. returned: always type: str sample: "Online" sector_size: description: Sector size in bytes of the particular disk. returned: always type: int sample: 4096 read_only: description: Read only status of the particular disk. returned: always type: bool sample: true bootable: description: Information whether the particular disk is a bootable disk. returned: always type: bool sample: false system_disk: description: Information whether the particular disk is a system disk. returned: always type: bool sample: true clustered: description: Information whether the particular disk is clustered (part of a failover cluster). returned: always type: bool sample: false manufacturer: description: Manufacturer of the particular disk. returned: always type: str sample: "Red Hat" model: description: Model specification of the particular disk. returned: always type: str sample: "VirtIO" firmware_version: description: Firmware version of the particular disk. returned: always type: str sample: "0001" location: description: Location of the particular disk on the target. returned: always type: str sample: "PCIROOT(0)#PCI(0400)#SCSI(P00T00L00)" serial_number: description: Serial number of the particular disk on the target. returned: always type: str sample: "b62beac80c3645e5877f" unique_id: description: Unique ID of the particular disk on the target. returned: always type: str sample: "3141463431303031" guid: description: GUID of the particular disk on the target. returned: if existent type: str sample: "{efa5f928-57b9-47fc-ae3e-902e85fbe77f}" path: description: Path of the particular disk on the target. returned: always type: str sample: "\\\\?\\scsi#disk&ven_red_hat&prod_virtio#4&23208fd0&1&000000#{<id>}" partitions: description: Detailed information about one particular partition on the specified disk. returned: if existent type: list contains: number: description: Number of the particular partition. returned: always type: int sample: 1 size: description: - Size in bytes of the particular partition. returned: always type: int sample: 838860800 type: description: Type of the particular partition. returned: always type: str sample: "IFS" gpt_type: description: gpt type of the particular partition. returned: if partition_style property of the particular disk has value "GPT" type: str sample: "{e3c9e316-0b5c-4db8-817d-f92df00215ae}" 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" type: bool sample: true mbr_type: description: mbr type of the particular partition. returned: if partition_style property of the particular disk has value "MBR" type: int sample: 7 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" type: bool sample: true drive_letter: description: Drive letter of the particular partition. returned: if existent type: str sample: "C" transition_state: description: Transition state of the particular partition. returned: always type: int sample: 1 offset: description: Offset of the particular partition. returned: always type: int sample: 368050176 hidden: description: Information whether the particular partition is hidden or not. returned: always type: bool sample: true shadow_copy: description: Information whether the particular partition is a shadow copy of another partition. returned: always type: bool sample: false guid: description: GUID of the particular partition. returned: if existent type: str sample: "{302e475c-6e64-4674-a8e2-2f1c7018bf97}" access_paths: description: Access paths of the particular partition. returned: if existent type: str sample: "\\\\?\\Volume{85bdc4a8-f8eb-11e6-80fa-806e6f6e6963}\\" volumes: description: Detailed information about one particular volume on the specified partition. returned: if existent type: list contains: size: description: - Size in bytes of the particular volume. returned: always type: int sample: 838856704 size_remaining: description: - Remaining size in bytes of the particular volume. returned: always type: int sample: 395620352 type: description: File system type of the particular volume. returned: always type: str sample: "NTFS" label: description: File system label of the particular volume. returned: always type: str sample: "System Reserved" health_status: description: Health status of the particular volume. returned: always type: str sample: "Healthy" drive_type: description: Drive type of the particular volume. returned: always type: str sample: "Fixed" allocation_unit_size: description: Allocation unit size in bytes of the particular volume. returned: always type: int sample: 4096 object_id: description: Object ID of the particular volume. returned: always type: str sample: "\\\\?\\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\\" path: description: Path of the particular volume. returned: always type: str sample: "\\\\?\\Volume{85bdc4a9-f8eb-11e6-80fa-806e6f6e6963}\\" physical_disk: description: Detailed information about physical disk properties of the particular disk. returned: if existent type: complex contains: media_type: description: Media type of the particular physical disk. returned: always type: str sample: "UnSpecified" size: description: - Size in bytes of the particular physical disk. returned: always type: int sample: 240057409536 allocated_size: description: - Allocated size in bytes of the particular physical disk. returned: always type: int sample: 240057409536 device_id: description: Device ID of the particular physical disk. returned: always type: str sample: "0" friendly_name: description: Friendly name of the particular physical disk. returned: always type: str sample: "PhysicalDisk0" operational_status: description: Operational status of the particular physical disk. returned: always type: str sample: "OK" health_status: description: Health status of the particular physical disk. returned: always type: str sample: "Healthy" bus_type: description: Bus type of the particular physical disk. returned: always type: str sample: "SCSI" usage_type: description: Usage type of the particular physical disk. returned: always type: str sample: "Auto-Select" supported_usages: description: Supported usage types of the particular physical disk. returned: always type: complex contains: Count: description: Count of supported usage types. returned: always type: int sample: 5 value: description: List of supported usage types. returned: always type: str sample: "Auto-Select, Hot Spare" spindle_speed: description: Spindle speed in rpm of the particular physical disk. returned: always type: int sample: 4294967295 physical_location: description: Physical location of the particular physical disk. returned: always type: str sample: "Integrated : Adapter 3 : Port 0 : Target 0 : LUN 0" manufacturer: description: Manufacturer of the particular physical disk. returned: always type: str sample: "SUSE" model: description: Model of the particular physical disk. returned: always type: str sample: "Xen Block" can_pool: description: Information whether the particular physical disk can be added to a storage pool. returned: always type: bool sample: false 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 type: str sample: "Insufficient Capacity" indication_enabled: description: Information whether indication is enabled for the particular physical disk. returned: always type: bool sample: true partial: description: Information whether the particular physical disk is partial. returned: always type: bool sample: false serial_number: description: Serial number of the particular physical disk. returned: always type: str sample: "b62beac80c3645e5877f" object_id: description: Object ID of the particular physical disk. returned: always type: str sample: '{1}\\\\HOST\\root/Microsoft/Windows/Storage/Providers_v2\\SPACES_PhysicalDisk.ObjectId=\"{<object_id>}:PD:{<pd>}\"' unique_id: description: Unique ID of the particular physical disk. returned: always type: str sample: "3141463431303031" virtual_disk: description: Detailed information about virtual disk properties of the particular disk. returned: if existent type: complex contains: size: description: - Size in bytes of the particular virtual disk. returned: always type: int sample: 240057409536 allocated_size: description: - Allocated size in bytes of the particular virtual disk. returned: always type: int sample: 240057409536 footprint_on_pool: description: - Footprint on pool in bytes of the particular virtual disk. returned: always type: int sample: 240057409536 name: description: Name of the particular virtual disk. returned: always type: str sample: "vDisk1" friendly_name: description: Friendly name of the particular virtual disk. returned: always type: str sample: "Prod2 Virtual Disk" operational_status: description: Operational status of the particular virtual disk. returned: always type: str sample: "OK" health_status: description: Health status of the particular virtual disk. returned: always type: str sample: "Healthy" provisioning_type: description: Provisioning type of the particular virtual disk. returned: always type: str sample: "Thin" allocation_unit_size: description: Allocation unit size in bytes of the particular virtual disk. returned: always type: int sample: 4096 media_type: description: Media type of the particular virtual disk. returned: always type: str sample: "Unspecified" parity_layout: description: Parity layout of the particular virtual disk. returned: if existent type: int sample: 1 access: description: Access of the particular virtual disk. returned: always type: str sample: "Read/Write" detached_reason: description: Detached reason of the particular virtual disk. returned: always type: str sample: "None" write_cache_size: description: Write cache size in byte of the particular virtual disk. returned: always type: int sample: 100 fault_domain_awareness: description: Fault domain awareness of the particular virtual disk. returned: always type: str sample: "PhysicalDisk" inter_leave: description: - Inter leave in bytes of the particular virtual disk. returned: always type: int sample: 102400 deduplication_enabled: description: Information whether deduplication is enabled for the particular virtual disk. returned: always type: bool sample: true enclosure_aware: description: Information whether the particular virtual disk is enclosure aware. returned: always type: bool sample: false manual_attach: description: Information whether the particular virtual disk is manual attached. returned: always type: bool sample: true snapshot: description: Information whether the particular virtual disk is a snapshot. returned: always type: bool sample: false tiered: description: Information whether the particular virtual disk is tiered. returned: always type: bool sample: true physical_sector_size: description: Physical sector size in bytes of the particular virtual disk. returned: always type: int sample: 4096 logical_sector_size: description: Logical sector size in byte of the particular virtual disk. returned: always type: int sample: 512 available_copies: description: Number of the available copies of the particular virtual disk. returned: if existent type: int sample: 1 columns: description: Number of the columns of the particular virtual disk. returned: always type: int sample: 2 groups: description: Number of the groups of the particular virtual disk. returned: always type: int sample: 1 physical_disk_redundancy: description: Type of the physical disk redundancy of the particular virtual disk. returned: always type: int sample: 1 read_cache_size: description: Read cache size in byte of the particular virtual disk. returned: always type: int sample: 0 request_no_spof: description: Information whether the particular virtual disk requests no single point of failure. returned: always type: bool sample: true resiliency_setting_name: description: Type of the physical disk redundancy of the particular virtual disk. returned: always type: int sample: 1 object_id: description: Object ID of the particular virtual disk. returned: always type: str sample: '{1}\\\\HOST\\root/Microsoft/Windows/Storage/Providers_v2\\SPACES_VirtualDisk.ObjectId=\"{<object_id>}:VD:{<vd>}\"' unique_id: description: Unique ID of the particular virtual disk. returned: always type: str sample: "260542E4C6B01D47A8FA7630FD90FFDE" unique_id_format: description: Unique ID format of the particular virtual disk. returned: always type: str sample: "Vendor Specific" win32_disk_drive: description: Representation of the Win32_DiskDrive class. returned: if existent type: complex contains: availability: description: Availability and status of the device. returned: always type: int bytes_per_sector: description: Number of bytes in each sector for the physical disk drive. returned: always type: int sample: 512 capabilities: description: - Array of capabilities of the media access device. - For example, the device may support random access (3), removable media (7), and automatic cleaning (9). returned: always type: list sample: - 3 - 4 capability_descriptions: description: - List of more detailed explanations for any of the access device features indicated in the Capabilities array. - Note, each entry of this array is related to the entry in the Capabilities array that is located at the same index. returned: always type: list sample: - Random Access - Supports Writing caption: description: Short description of the object. returned: always type: str sample: VMware Virtual disk SCSI Disk Device compression_method: description: Algorithm or tool used by the device to support compression. returned: always type: str sample: Compressed config_manager_error_code: description: Windows Configuration Manager error code. returned: always type: int sample: 0 config_manager_user_config: description: If True, the device is using a user-defined configuration. returned: always type: bool sample: true creation_class_name: description: - Name of the first concrete class to appear in the inheritance chain used in the creation of an instance. - When used with the other key properties of the class, the property allows all instances of this class - and its subclasses to be uniquely identified. returned: always type: str sample: Win32_DiskDrive default_block_size: description: Default block size, in bytes, for this device. returned: always type: int sample: 512 description: description: Description of the object. returned: always type: str sample: Disk drive device_id: description: Unique identifier of the disk drive with other devices on the system. returned: always type: str sample: "\\\\.\\PHYSICALDRIVE0" error_cleared: description: If True, the error reported in LastErrorCode is now cleared. returned: always type: bool sample: true error_description: description: - More information about the error recorded in LastErrorCode, - and information on any corrective actions that may be taken. returned: always type: str error_methodology: description: Type of error detection and correction supported by this device. returned: always type: str firmware_revision: description: Revision for the disk drive firmware that is assigned by the manufacturer. returned: always type: str sample: 1.0 index: description: - Physical drive number of the given drive. - This property is filled by the STORAGE_DEVICE_NUMBER structure returned from the IOCTL_STORAGE_GET_DEVICE_NUMBER control code - A value of 0xffffffff indicates that the given drive does not map to a physical drive. returned: always type: int sample: 0 install_date: description: Date and time the object was installed. This property does not need a value to indicate that the object is installed. returned: always type: str interface_type: description: Interface type of physical disk drive. returned: always type: str sample: SCSI last_error_code: description: Last error code reported by the logical device. returned: always type: int manufacturer: description: Name of the disk drive manufacturer. returned: always type: str sample: Seagate max_block_size: description: Maximum block size, in bytes, for media accessed by this device. returned: always type: int max_media_size: description: Maximum media size, in kilobytes, of media supported by this device. returned: always type: int media_loaded: description: - If True, the media for a disk drive is loaded, which means that the device has a readable file system and is accessible. - For fixed disk drives, this property will always be TRUE. returned: always type: bool sample: true media_type: description: Type of media used or accessed by this device. returned: always type: str sample: Fixed hard disk media min_block_size: description: Minimum block size, in bytes, for media accessed by this device. returned: always type: int model: description: Manufacturer's model number of the disk drive. returned: always type: str sample: ST32171W name: description: Label by which the object is known. When subclassed, the property can be overridden to be a key property. returned: always type: str sample: \\\\.\\PHYSICALDRIVE0 needs_cleaning: description: - If True, the media access device needs cleaning. - Whether manual or automatic cleaning is possible is indicated in the Capabilities property. returned: always type: bool number_of_media_supported: description: - Maximum number of media which can be supported or inserted - (when the media access device supports multiple individual media). returned: always type: int partitions: description: Number of partitions on this physical disk drive that are recognized by the operating system. returned: always type: int sample: 3 pnp_device_id: description: Windows Plug and Play device identifier of the logical device. returned: always type: str sample: "SCSI\\DISK&VEN_VMWARE&PROD_VIRTUAL_DISK\\5&1982005&0&000000" power_management_capabilities: description: Array of the specific power-related capabilities of a logical device. returned: always type: list power_management_supported: description: - If True, the device can be power-managed (can be put into suspend mode, and so on). - The property does not indicate that power management features are currently enabled, - only that the logical device is capable of power management. returned: always type: bool scsi_bus: description: SCSI bus number of the disk drive. returned: always type: int sample: 0 scsi_logical_unit: description: SCSI logical unit number (LUN) of the disk drive. returned: always type: int sample: 0 scsi_port: description: SCSI port number of the disk drive. returned: always type: int sample: 0 scsi_target_id: description: SCSI identifier number of the disk drive. returned: always type: int sample: 0 sectors_per_track: description: Number of sectors in each track for this physical disk drive. returned: always type: int sample: 63 serial_number: description: Number allocated by the manufacturer to identify the physical media. returned: always type: str sample: 6000c298f34101b38cb2b2508926b9de signature: description: Disk identification. This property can be used to identify a shared resource. returned: always type: int size: description: - Size of the disk drive. It is calculated by multiplying the total number of cylinders, tracks in each cylinder, - sectors in each track, and bytes in each sector. returned: always type: int sample: 53686402560 status: description: - Current status of the object. Various operational and nonoperational statuses can be defined. - 'Operational statuses include: "OK", "Degraded", and "Pred Fail"' - (an element, such as a SMART-enabled hard disk drive, may be functioning properly but predicting a failure in the near future). - 'Nonoperational statuses include: "Error", "Starting", "Stopping", and "Service".' - '"Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work.' - Not all such work is online, yet the managed element is neither "OK" nor in one of the other states. returned: always type: str sample: OK status_info: description: - State of the logical device. If this property does not apply to the logical device, the value 5 (Not Applicable) should be used. returned: always type: int system_creation_class_name: description: Value of the scoping computer's CreationClassName property. returned: always type: str sample: Win32_ComputerSystem system_name: description: Name of the scoping system. returned: always type: str sample: WILMAR-TEST-123 total_cylinders: description: - Total number of cylinders on the physical disk drive. - 'Note: the value for this property is obtained through extended functions of BIOS interrupt 13h.' - The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. - Consult the manufacturer for accurate drive specifications. returned: always type: int sample: 6527 total_heads: description: - Total number of heads on the disk drive. - 'Note: the value for this property is obtained through extended functions of BIOS interrupt 13h.' - The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. - Consult the manufacturer for accurate drive specifications. returned: always type: int sample: 255 total_sectors: description: - Total number of sectors on the physical disk drive. - 'Note: the value for this property is obtained through extended functions of BIOS interrupt 13h.' - The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. - Consult the manufacturer for accurate drive specifications. returned: always type: int sample: 104856255 total_tracks: description: - Total number of tracks on the physical disk drive. - 'Note: the value for this property is obtained through extended functions of BIOS interrupt 13h.' - The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. - Consult the manufacturer for accurate drive specifications. returned: always type: int sample: 1664385 tracks_per_cylinder: description: - Number of tracks in each cylinder on the physical disk drive. - 'Note: the value for this property is obtained through extended functions of BIOS interrupt 13h.' - The value may be inaccurate if the drive uses a translation scheme to support high-capacity disk sizes. - Consult the manufacturer for accurate drive specifications. returned: always type: int sample: 255 '''