
    VhQ                    6    d dl mZ dZd dlmZ  G d de      Zy)    )annotationsa;	  
name: pfexec
short_description: profile based execution
description:
  - This become plugins allows your remote/login user to execute commands as another user using the C(pfexec) utility.
author: Ansible Core Team
options:
  become_user:
    description:
      - User you 'become' to execute the task.
      - This plugin ignores this setting as pfexec uses its own C(exec_attr) to figure this out, but it is supplied here for
        Ansible to make decisions needed for the task execution, like file permissions.
    type: string
    default: root
    ini:
      - section: privilege_escalation
        key: become_user
      - section: pfexec_become_plugin
        key: user
    vars:
      - name: ansible_become_user
      - name: ansible_pfexec_user
    env:
      - name: ANSIBLE_BECOME_USER
      - name: ANSIBLE_PFEXEC_USER
  become_exe:
    description: C(pfexec) executable.
    type: string
    default: pfexec
    ini:
      - section: privilege_escalation
        key: become_exe
      - section: pfexec_become_plugin
        key: executable
    vars:
      - name: ansible_become_exe
      - name: ansible_pfexec_exe
    env:
      - name: ANSIBLE_BECOME_EXE
      - name: ANSIBLE_PFEXEC_EXE
  become_flags:
    description: Options to pass to C(pfexec).
    type: string
    default: -H -S -n
    ini:
      - section: privilege_escalation
        key: become_flags
      - section: pfexec_become_plugin
        key: flags
    vars:
      - name: ansible_become_flags
      - name: ansible_pfexec_flags
    env:
      - name: ANSIBLE_BECOME_FLAGS
      - name: ANSIBLE_PFEXEC_FLAGS
  become_pass:
    description: C(pfexec) password.
    type: string
    required: false
    vars:
      - name: ansible_become_password
      - name: ansible_become_pass
      - name: ansible_pfexec_pass
    env:
      - name: ANSIBLE_BECOME_PASS
      - name: ANSIBLE_PFEXEC_PASS
    ini:
      - section: pfexec_become_plugin
        key: password
  wrap_exe:
    description: Toggle to wrap the command C(pfexec) calls in C(shell -c) or not.
    default: false
    type: bool
    ini:
      - section: pfexec_become_plugin
        key: wrap_execution
    vars:
      - name: ansible_pfexec_wrap_execution
    env:
      - name: ANSIBLE_PFEXEC_WRAP_EXECUTION
notes:
  - This plugin ignores O(become_user) as pfexec uses its own C(exec_attr) to figure this out.
)
BecomeBasec                  "     e Zd ZdZ fdZ xZS )BecomeModulezcommunity.general.pfexecc           	         t         t        |   ||       |s|S | j                  d      }| j                  d      }| j                  d       }| d| d| j	                  |||       S )N
become_exebecome_flagswrap_exe )noexe)superr   build_become_command
get_option_build_success_command)selfcmdshellexeflagsr   	__class__s         k/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/general/plugins/become/pfexec.pyr   z!BecomeModule.build_become_commandb   ss    lD6sEBJool+/OOJ//awa ; ;Ce ; TUVV    )__name__
__module____qualname__namer   __classcell__)r   s   @r   r   r   ^   s    %D
W 
Wr   r   N)
__future__r   DOCUMENTATIONansible.plugins.becomer   r    r   r   <module>r"      s&   
 #Rh .W: Wr   