mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-19 19:30:22 -07:00
* Adds win_pagefile module * Fixed win_pagefile doc * Fix win_pagefile doc * Fix win_pagefile doc variable convention * Added check_mode * Changed win_pagefile module&doc to the convention * added win_pagefile integration tests * Changed check_mode blocks to whatif, fixed a bug * Added whatif to set-wmiinstance, changed docs Added whatif in Set-WMIInstance Added dots to end of decription lines * Returns to original state at the end, more tests Added override and no override integration tests Pagefiles now return to same state as before at the end of the integration test * Remove extra line * Added test_path var to win_pagefile * Set test_path as 'no' in integration * Added unit to docs and enclosed exception message * More granular try-catch blocks * Added workaround to avoid value out of range * Deleted wrong line ending * Changed license to one-line * Removed space in line ending * Try to fix python2.6 error * Try 2 to fix python2.6 error * Add separating line again
139 lines
3.9 KiB
Python
139 lines
3.9 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# Copyright 2017, Liran Nisanov <lirannis@gmail.com>
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
# this is a windows documentation stub. actual code lives in the .ps1
|
|
# file of the same name
|
|
|
|
ANSIBLE_METADATA = {'metadata_version': '1.0',
|
|
'status': ['preview'],
|
|
'supported_by': 'community'}
|
|
|
|
|
|
DOCUMENTATION = r'''
|
|
---
|
|
module: win_pagefile
|
|
version_added: "2.4"
|
|
short_description: Query or change pagefile configuration
|
|
description:
|
|
- Query current pagefile configuration.
|
|
- Enable/Disable AutomaticManagedPagefile.
|
|
- Create new or override pagefile configuration.
|
|
options:
|
|
drive:
|
|
description:
|
|
- The drive of the pagefile.
|
|
initial_size:
|
|
description:
|
|
- The initial size of the pagefile in megabytes.
|
|
maximum_size:
|
|
description:
|
|
- The maximum size of the pagefile in megabytes.
|
|
override:
|
|
description:
|
|
- Override the current pagefile on the drive.
|
|
type: bool
|
|
default: 'yes'
|
|
system_managed:
|
|
description:
|
|
- Configures current pagefile to be managed by the system.
|
|
type: bool
|
|
default: 'no'
|
|
automatic:
|
|
description:
|
|
- Configures AutomaticManagedPagefile for the entire system.
|
|
type: bool
|
|
remove_all:
|
|
description:
|
|
- Remove all pagefiles in the system, not including automatic managed.
|
|
type: bool
|
|
default: 'no'
|
|
test_path:
|
|
description:
|
|
- Use Test-Path on the drive to make sure the drive is accessible before creating the pagefile.
|
|
type: bool
|
|
default: 'yes'
|
|
state:
|
|
description:
|
|
- State of the pagefile.
|
|
choices:
|
|
- present
|
|
- absent
|
|
- query
|
|
default: query
|
|
notes:
|
|
- There is difference between automatic managed pagefiles that configured once for the entire system and system managed pagefile that configured per pagefile.
|
|
- InitialSize 0 and MaximumSize 0 means the pagefile is managed by the system.
|
|
- Value out of range exception may be caused by several different issues, two common problems - No such drive, Pagefile size is too small.
|
|
- Setting a pagefile when AutomaticManagedPagefile is on will disable the AutomaticManagedPagefile.
|
|
author:
|
|
- Liran Nisanov (@LiranNis)
|
|
'''
|
|
|
|
EXAMPLES = r'''
|
|
- name: Query pagefiles configuration
|
|
win_pagefile:
|
|
|
|
- name: Query C pagefile
|
|
win_pagefile:
|
|
drive: C
|
|
|
|
- name: Set C pagefile, don't override if exists
|
|
win_pagefile:
|
|
drive: C
|
|
initial_size: 1024
|
|
maximum_size: 1024
|
|
override: no
|
|
state: present
|
|
|
|
- name: Set C pagefile, override if exists
|
|
win_pagefile:
|
|
drive: C
|
|
initial_size: 1024
|
|
maximum_size: 1024
|
|
state: present
|
|
|
|
- name: Remove C pagefile
|
|
win_pagefile:
|
|
drive: C
|
|
state: absent
|
|
|
|
- name: Remove all current pagefiles, enable AutomaticManagedPagefile and query at the end
|
|
win_pagefile:
|
|
remove_all: yes
|
|
automatic: yes
|
|
|
|
- name: Remove all pagefiles disable AutomaticManagedPagefile and set C pagefile
|
|
win_pagefile:
|
|
drive: C
|
|
initial_size: 2048
|
|
maximum_size: 2048
|
|
remove_all: yes
|
|
automatic: no
|
|
state: present
|
|
|
|
- name: Set D pagefile, override if exists
|
|
win_pagefile:
|
|
drive: d
|
|
initial_size: 1024
|
|
maximum_size: 1024
|
|
state: present
|
|
'''
|
|
|
|
RETURN = r'''
|
|
automatic_managed_pagefiles:
|
|
description: Whether the pagefiles is automatically managed.
|
|
returned: When state is query.
|
|
type: boolean
|
|
sample: true
|
|
pagefiles:
|
|
description: Contains caption, description, initial_size, maximum_size and name for each pagefile in the system.
|
|
returned: When state is query.
|
|
type: list
|
|
sample:
|
|
[{"caption": "c:\\ 'pagefile.sys'", "description": "'pagefile.sys' @ c:\\", "initial_size": 2048, "maximum_size": 2048, "name": "c:\\pagefile.sys"},
|
|
{"caption": "d:\\ 'pagefile.sys'", "description": "'pagefile.sys' @ d:\\", "initial_size": 1024, "maximum_size": 1024, "name": "d:\\pagefile.sys"}]
|
|
|
|
'''
|