관리-도구
편집 파일: service.cpython-39.opt-1.pyc
a �)g � @ sT d dl mZmZmZ eZd dlmZmZ d dl m Z d dlmZ G dd� de�Z dS )� )�absolute_import�division�print_function)� AnsibleAction�AnsibleActionFail)�get_action_args_with_defaults)� ActionBasec s: e Zd ZdZdg d�iZeg d��Zd� fdd� Z� ZS ) �ActionModuleF�systemd)�patternZrunlevel�sleepZ arguments�args)Zopenwrt_initZservicer ZsysvinitNc sF d| _ d| _tt| ��||�}~| jj�dd��� }|dkr~z.| jj r\| j �d| jj �}n| j �d�}W n ty| Y n0 �z��zP|dkr�| j dtddd �|d �}| j�d| � |�di ��dd�}|r�|dks�| jj�|�s�d }|dk�r�| jj�� }d|v �r|d= || jv �rP| j| D ]*}||v �r$||= | j�d||f � �q$| jjj|| jjd�}t|j|| jj| j | jjjjd�}|| jv �r�d| }| j� d| � |�!| j |||| jj"d�� nt#d��W n2 t$�y } z|�!| j%� W Y d} ~ n d} ~ 0 0 W | jj"�sB| �&| j'j(j)� n| jj"�s@| �&| j'j(j)� 0 |S )z handler for package operations TZuse�autoz2{{hostvars['%s']['ansible_facts']['service_mgr']}}z{{ansible_facts.service_mgr}}zansible.legacy.setupz!allZansible_service_mgr)Z gather_subset�filter)�module_name�module_args� task_varszFacts %sZ ansible_factszansible.legacy.servicez'Ignoring "%s" as it is not used in "%s")Zcollection_list)Z action_groupszansible.legacy.z Running %s)r r r Z wrap_asyncz_Could not detect which service manager to use. Try gathering facts or setting the "use" option.N)*Z_supports_check_modeZ_supports_async�superr �runZ_taskr �get�lowerZdelegate_toZ_templar�template� ExceptionZ_execute_module�dictZ_display�debugZ_shared_loader_objZ module_loaderZ has_plugin�copy� UNUSED_PARAMSZwarningZfind_plugin_with_context�collectionsr Z resolved_fqcnZmodule_defaultsZ_parentZ_play�_action_groups�BUILTIN_SVC_MGR_MODULESZvvvv�updateZ async_valr r �resultZ_remove_tmp_pathZ_connectionZ_shellZtmpdir) �self�tmpr r! �moduleZfactsZnew_module_argsZunused�context�e�� __class__� �B/usr/lib/python3.9/site-packages/ansible/plugins/action/service.pyr &