diff options
author | John R Barker <john@johnrbarker.com> | 2016-12-19 15:06:31 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-19 15:06:31 +0000 |
commit | 9b1011ffb83bc441990928d94dde9f2441de0811 (patch) | |
tree | 83bd965b23a60f7396ea2a50d0128331bca7b215 | |
parent | 58b067532f577218c252f47e5d04f6c5123bcc83 (diff) | |
download | ansible-revert-19461-gconf2-module.tar.gz |
Revert "gconftool2 module"revert-19461-gconf2-module
-rw-r--r-- | lib/ansible/modules/system/gconftool2.py | 247 | ||||
-rw-r--r-- | lib/ansible/modules/system/sysctl.py | 2 |
2 files changed, 1 insertions, 248 deletions
diff --git a/lib/ansible/modules/system/gconftool2.py b/lib/ansible/modules/system/gconftool2.py deleted file mode 100644 index 2e356d50e1..0000000000 --- a/lib/ansible/modules/system/gconftool2.py +++ /dev/null @@ -1,247 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# (c) 2016, Kenneth D. Evensen <kevensen@redhat.com> -# -# This file is part of Ansible (sort of) -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. -from ansible.module_utils.basic import AnsibleModule, BOOLEANS_TRUE -from ansible.module_utils.pycompat24 import get_exception -import subprocess - -DOCUMENTATION = """ -module: gconftool2 -author: - - "Kenneth D. Evensen (@kevensen)" -short_description: Edit GNOME Configurations -description: - - Edit PAM service's type, control, module path and module arguments. - In order for a PAM rule to be modified, the type, control and - module_path must match an existing rule. See man(5) pam.d for details. -version_added: "2.3" -options: - key: - required: true - description: - - A GConf preference key is an element in the GConf repository - that corresponds to an application preference. See man gconftool-2(1) - value: - required: false - description: - - Preference keys typically have simple values such as strings, - integers, or lists of strings and integers. This is ignored if the state - is "get". See man gconftool-2(1) - value_type: - required: false - choices: - - int - - bool - - float - - string - description: - - The type of value being set. This is ignored if the state is "get". - state: - required: true - choices: - - get - - set - - unset - description: - - The action to take upon the key/value. - config_source: - required: false - description: - - Specify a configuration source to use rather than the default path. - See man gconftool-2(1) - direct: - required: false - choices: [ "yes", "no" ] - default: no - description: - - Access the config database directly, bypassing server. If direct is - specified then the config_source must be specified as well. - See man gconftool-2(1) - -""" - -EXAMPLES = """ -- name: Change the widget font to "Serif 12" - gconftool2: - key: "/desktop/gnome/interface/font_name" - value_type: "string" - value: "Serif 12" -""" - -RETURN = ''' - key: - description: The key specified in the module parameters - returned: success - type: string - sample: "/desktop/gnome/interface/font_name" - value_type: - description: The type of the value that was changed - returned: success - type: string - sample: "string" - value: - description: The value of the preference key after executing the module - returned: success - type: string - sample: "Serif 12" -... -''' - - -class GConf2Preference(object): - def __init__(self, ansible, key, value_type, value, - direct=False, config_source=""): - self.ansible = ansible - self.key = key - self.value_type = value_type - self.value = value - self.config_source = config_source - self.direct = direct - - def value_already_set(self): - return False - - def call(self, call_type): - config_source = '' - direct = '' - changed = False - out = '' - - # If the configuration source is different from the default, create - # the argument - if self.config_source is not None and len(self.config_source) > 0: - config_source = "--config-source " + self.config_source - - # If direct is true, create the argument - if self.direct: - direct = "--direct" - - # Execute the call - try: - # If the call is "get", then we don't need as many parameters and - # we can ignore some - if call_type == 'get': - process = subprocess.Popen(["gconftool-2 --get " + self.key], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, shell=True) - # Otherwise, we will use all relevant parameters - else: - process = subprocess.Popen(["gconftool-2 " + direct + " " + - config_source + " --type " + - self.value_type + " --" + - call_type + " " + self.key + " " + - self.value], stdout=subprocess.PIPE, - stderr=subprocess.PIPE, shell=True) - # In either case, we will capture the output - out = process.stdout.read() - err = process.stderr.read() - - if len(err) > 0: - self.ansible.fail_json(msg='gconftool-2 failed with error: %s' - % (str(err))) - else: - changed = True - - except OSError: - self.ansible.fail_json(msg='gconftool-2 failed with and exception') - - return changed, out.rstrip() - - -def main(): - # Setup the Ansible module - module = AnsibleModule( - argument_spec=dict( - key=dict(required=True, default=None, type='str'), - value_type=dict(required=False, - choices=['int', 'bool', - 'float', 'string'], - type='str'), - value=dict(required=False, default=None, - type='str'), - state=dict(required=True, default=None, - choices=['set', 'get', 'unset'], - type='str'), - direct=dict(required=False, - default=False, type='bool'), - config_source=dict(required=False, - default=None, type='str') - ), - supports_check_mode=True - ) - - direct = False - # Assign module values to dictionary values - key = module.params['key'] - value_type = module.params['value_type'] - value = module.params['value'] - state = module.params['state'] - if module.params['direct'] in BOOLEANS_TRUE: - direct = True - config_source = module.params['config_source'] - - # Initialize some variables for later - change = False - new_value = '' - - if state != "get": - if value is None or value == "": - module.fail_json(msg='State %s requires "value" to be set' - % str(state)) - elif value_type is None or value_type == "": - module.fail_json(msg='State %s requires "value_type" to be set' - % str(state)) - - if direct and config_source is None: - module.fail_json(msg='If "direct" is "yes" then the ' + - '"config_source" must be specified') - elif not direct and config_source is not None: - module.fail_json(msg='If the "config_source" is specified ' + - 'then "direct" must be "yes"') - - # Create a gconf2 preference - gconf_pref = GConf2Preference(module, key, value_type, - value, direct, config_source) - # Now we get the current value - _, current_value = gconf_pref.call("get") - - # Check if the current value equals the value we want to set. If not, make - # a change - if current_value != value: - # If check mode, we know a change would have occured. - if module.check_mode: - # So we will set the change to True - change = True - # And set the new_value to the value that would have been set - new_value = value - # If not check mode make the change. - else: - change, new_value = gconf_pref.call(state) - # If the value we want to set is the same as the current_value, we will - # set the new_value to the current_value for reporting - else: - new_value = current_value - - facts = {} - facts['gconftool2'] = {'changed': change, 'key': key, - 'value_type': value_type, 'value': new_value} - - module.exit_json(changed=change, ansible_facts=facts) - -if __name__ == '__main__': - main() diff --git a/lib/ansible/modules/system/sysctl.py b/lib/ansible/modules/system/sysctl.py index 8b744ce163..b74193c5d4 100644 --- a/lib/ansible/modules/system/sysctl.py +++ b/lib/ansible/modules/system/sysctl.py @@ -118,7 +118,7 @@ EXAMPLES = ''' import os import tempfile import re -from ansible.module_utils.basic import get_platform, AnsibleModule, BOOLEANS_TRUE, BOOLEANS_FALSE +from ansible.module_utils.basic import get_platform, AnsibleModule class SysctlModule(object): |