Skip to content

Commit

Permalink
Add enable become plugin patterned after runas (ansible#52496)
Browse files Browse the repository at this point in the history
  • Loading branch information
Qalthos authored Feb 18, 2019
1 parent 61743ab commit 686f4b3
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions lib/ansible/plugins/become/enable.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Ansible Project
# 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

DOCUMENTATION = """
become: enable
short_description: Switch to elevated permissions on a network device
description:
- This become plugins allows elevated permissions on a remote network device.
author: ansible (@core)
version_added: "2.8"
options:
become_pass:
description: password
ini:
- section: enable_become_plugin
key: password
vars:
- name: ansible_become_password
- name: ansible_become_pass
- name: ansible_enable_pass
env:
- name: ANSIBLE_BECOME_PASS
- name: ANSIBLE_ENABLE_PASS
notes:
- enable is really implemented in the network connection handler and as such can only be used with network connections.
- This plugin ignores the 'become_exe' and 'become_user' settings as it uses an API and not an executable.
"""

from ansible.plugins.become import BecomeBase


class BecomeModule(BecomeBase):

name = 'enable'

def build_become_command(self, cmd, shell):
# enable is implemented inside the network connection plugins
return cmd

0 comments on commit 686f4b3

Please sign in to comment.