HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/lib/python3.9/site-packages/ansible/cli/__pycache__/adhoc.cpython-39.pyc
a

�)g& �@s�ddlmZmZmZeZddlmZddlm	Z
ddlmZddlm
ZddlmZmZmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lm Z e �Z!Gdd�de�Z"ddd�Z#e$dkr�e#�dS)�)�absolute_import�division�print_function)�CLI)�	constants)�context)�option_helpers)�AnsibleError�AnsibleOptionsError�AnsibleParserError)�TaskQueueManager)�to_text)�parse_kv)�	from_yaml)�Playbook)�Play)�DisplaycsDeZdZdZdZ�fdd�Z�fdd�Zdd�Z�fd	d
�Z�Z	S)�AdHocCLIz� is an extra-simple tool/framework/API for doing 'remote things'.
        this command allows you to define and run a single task 'playbook' against a set of hosts
    �ansiblecs�tt|�jdddd�t�|j�t�|j�t�|j�t�|j�t�	|j�t�
|j�t�|j�t�|j�t�
|j�t�|j�t�|j�t�|j�|jjddddtjd	�|jjd
ddd
tjtjd	�|jjdddd�dS)z* create an options parser for bin/ansible z%prog <host-pattern> [options]z>Define and run a single task 'playbook' against a set of hostsz=Some actions do not make sense in Ad-Hoc (include, meta, etc))�usageZdesc�epilogz-az--args�module_argsz�The action's options in space separated k=v format: -a 'opt1=val1 opt2=val2' or a json string: -a '{"opt1": "val1", "opt2": "val2"}')�dest�help�defaultz-mz
--module-name�module_namez*Name of the action to execute (default=%s)�args�patternzhost pattern)�metavarrN)�superr�init_parser�opt_helpZadd_runas_options�parserZadd_inventory_optionsZadd_async_optionsZadd_output_optionsZadd_connect_optionsZadd_check_optionsZadd_runtask_optionsZadd_vault_optionsZadd_fork_optionsZadd_module_optionsZadd_basedir_optionsZadd_tasknoplay_options�add_argument�CZDEFAULT_MODULE_ARGSZDEFAULT_MODULE_NAME)�self��	__class__��5/usr/lib/python3.9/site-packages/ansible/cli/adhoc.pyr "s2���zAdHocCLI.init_parsercs,tt|��|�}|jt_|j|ddd�|S)z2Post process and validate options for bin/ansible T)Z
runas_optsZ	fork_opts)rr�post_process_args�	verbosity�displayZvalidate_conflicts)r%�optionsr&r(r)r*?szAdHocCLI.post_process_argscCs�tjdtjv}tjd}d}|r^|�d�r^|�d�r^zt|��dd�}Wnty\Yn0|snt	||d�}tjd|d�tjd	d
�}tjdtj
vr�tt||f��r�||d<||d<t
d
|d|gd�S)Nrr�{�}T)Z	json_only)�	check_raw)�modulerZtask_timeout)�action�timeout�	async_val�pollzAnsible Ad-Hoc�no)�name�hostsZgather_factsZtasks)r�CLIARGSr$�MODULE_REQUIRE_ARGS�
startswith�endswithr�striprrZ_ACTION_ALL_INCLUDE_ROLE_TASKS�any�	frozenset�dict)r%rr4r5r0Zmodule_args_rawrZmytaskr(r(r)�_play_dsIs,
� �zAdHocCLI._play_dsc
s�tt|���ttjddd�}d}d}|��\}}||d�}|��\}}}z|�|tjd|�}Wn.t	y�tjdr��ng}t
�d�Yn0tjdr�t
�
d	t|��|D]}	t
�
d
|	�q�dStjdt
jv�rtjd
�sdtjd}
|�d��r|
d}
t|
��tjdt
jv�r8tdtjd��|�|tjdtjd�}t�j|||d�}t|�}
|
j�|�d|
_|j�r�|j}n2tjd�r�d}n t
j�r�t
jdk�r�t
j}nd}d}tjd�r�t
j�d�tjdt
_d}d|_z|t|||||t
j|tjdd�|_|j� �|j�!d|
�|j�|�}|j�!d |jj"�W|j�r`|j�#�|�r�|�$�n"|j�r�|j�#�|�r�|�$�0|S)!z- create and execute the single task playbook rZsurrogate_or_strict)�errorsN)Z	conn_passZbecome_passZsubsetzNo hosts matched, nothing to doZ	listhostsz
  hosts (%d):z    %srrrzNo argument passed to %s modulez.ymlz( (did you mean to run ansible-playbook?)z.'%s' is not a valid action for ad-hoc commandsZsecondsZ
poll_interval)�variable_manager�loaderZ__adhoc_playbook__Zone_lineZonelinerZminimalFZtreeT�forks)�	inventoryrCrD�	passwordsZstdout_callbackZrun_additional_callbacks�run_treerEZv2_playbook_on_startZv2_playbook_on_stats)%rr�runr
rr9Z
ask_passwordsZ
_play_prereqsZ
get_host_listr	r,Zwarning�lenr$r:r<r
Z_ACTION_IMPORT_PLAYBOOKrAr�loadrZ_entries�appendZ
_file_name�callbackZDEFAULT_LOAD_CALLBACK_PLUGINSZDEFAULT_STDOUT_CALLBACKZCALLBACKS_ENABLEDZTREE_DIRZ_tqmrZload_callbacksZ
send_callbackZ_statsZcleanupZcleanup_all_tmp_files)r%rZsshpassZ
becomepassrGrDrFrCr8�host�errZplay_dsZplayZplaybook�cbrH�resultr&r(r)rIes�


��


�

zAdHocCLI.run)
�__name__�
__module__�__qualname__�__doc__r7r r*rArI�
__classcell__r(r(r&r)rs
rNcCst�|�dS)N)rZcli_executor)rr(r(r)�main�srW�__main__)N)%Z
__future__rrr�typeZ
__metaclass__Zansible.clirrrr$rZansible.cli.argumentsrr!Zansible.errorsr	r
rZ#ansible.executor.task_queue_managerrZansible.module_utils._textr
Zansible.parsing.splitterrZansible.parsing.utils.yamlrZansible.playbookrZansible.playbook.playrZansible.utils.displayrr,rrWrRr(r(r(r)�<module>s&0