diff --git a/lib/ansible/modules/system/at.py b/lib/ansible/modules/system/at.py index c27987f161..f679c50189 100644 --- a/lib/ansible/modules/system/at.py +++ b/lib/ansible/modules/system/at.py @@ -1,22 +1,20 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# -# (c) 2014, Richard Isaacson + +# Copyright: (c) 2014, Richard Isaacson # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) from __future__ import absolute_import, division, print_function __metaclass__ = type - ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ['preview'], 'supported_by': 'core'} - DOCUMENTATION = ''' --- module: at -short_description: Schedule the execution of a command or script file via the at command. +short_description: Schedule the execution of a command or script file via the at command description: - Use this module to schedule a command or script file to run once in the future. - All jobs are executed in the 'a' queue. @@ -25,13 +23,9 @@ options: command: description: - A command to be executed in the future. - required: false - default: null script_file: description: - An existing script file to be executed in the future. - required: false - default: null count: description: - The count of units in the future to execute the command or script file. @@ -39,42 +33,42 @@ options: units: description: - The type of units in the future to execute the command or script file. + choices: [ minutes, hours, days, weeks ] required: true - choices: ["minutes", "hours", "days", "weeks"] state: description: - The state dictates if the command or script file should be evaluated as present(added) or absent(deleted). - required: false - choices: ["present", "absent"] - default: "present" + choices: [ absent, present ] + default: present unique: description: - If a matching job is present a new job will not be added. - required: false - default: false + type: bool + default: 'no' requirements: - at -author: "Richard Isaacson (@risaacson)" +author: +- Richard Isaacson (@risaacson) ''' EXAMPLES = ''' -# Schedule a command to execute in 20 minutes as root. -- at: - command: "ls -d / > /dev/null" +- name: Schedule a command to execute in 20 minutes as root. + at: + command: ls -d / >/dev/null count: 20 units: minutes -# Match a command to an existing job and delete the job. -- at: - command: "ls -d / > /dev/null" +- name: Match a command to an existing job and delete the job. + at: + command: ls -d / >/dev/null state: absent -# Schedule a command to execute in 20 minutes making sure it is unique in the queue. -- at: - command: "ls -d / > /dev/null" - unique: true +- name: Schedule a command to execute in 20 minutes making sure it is unique in the queue. + at: + command: ls -d / >/dev/null count: 20 units: minutes + unique: yes ''' import os @@ -140,43 +134,35 @@ def create_tempfile(command): def main(): module = AnsibleModule( - argument_spec = dict( - command=dict(required=False, - type='str'), - script_file=dict(required=False, - type='str'), - count=dict(required=False, - type='int'), - units=dict(required=False, - default=None, - choices=['minutes', 'hours', 'days', 'weeks'], - type='str'), - state=dict(required=False, - default='present', - choices=['present', 'absent'], - type='str'), - unique=dict(required=False, - default=False, - type='bool') + argument_spec=dict( + command=dict(type='str'), + script_file=dict(type='str'), + count=dict(type='int'), + units=dict(type='str', choices=['minutes', 'hours', 'days', 'weeks']), + state=dict(type='str', default='present', choices=['present', 'absent']), + unique=dict(type='bool', default=False), ), mutually_exclusive=[['command', 'script_file']], required_one_of=[['command', 'script_file']], - supports_check_mode=False + supports_check_mode=False, ) at_cmd = module.get_bin_path('at', True) - command = module.params['command'] - script_file = module.params['script_file'] - count = module.params['count'] - units = module.params['units'] - state = module.params['state'] - unique = module.params['unique'] + command = module.params['command'] + script_file = module.params['script_file'] + count = module.params['count'] + units = module.params['units'] + state = module.params['state'] + unique = module.params['unique'] if (state == 'present') and (not count or not units): module.fail_json(msg="present state requires count and units") - result = {'state': state, 'changed': False} + result = dict( + changed=False, + state=state, + ) # If command transform it into a script_file if command: diff --git a/test/sanity/pep8/legacy-files.txt b/test/sanity/pep8/legacy-files.txt index e97c833bc7..9c6f845527 100644 --- a/test/sanity/pep8/legacy-files.txt +++ b/test/sanity/pep8/legacy-files.txt @@ -335,7 +335,6 @@ lib/ansible/modules/storage/netapp/sf_volume_access_group_manager.py lib/ansible/modules/storage/netapp/sf_volume_manager.py lib/ansible/modules/storage/zfs/zfs.py lib/ansible/modules/system/aix_inittab.py -lib/ansible/modules/system/at.py lib/ansible/modules/system/capabilities.py lib/ansible/modules/system/cronvar.py lib/ansible/modules/system/crypttab.py