�
�Udac @` s� d d l m Z m Z m Z e Z i d d 6d g d 6d d 6Z d Z d Z d
Z d d l
Z
d d l m Z d
e
f d � � YZ d e f d � � YZ d e f d � � YZ d � Z e d k r� e � n d S( i ( t absolute_importt divisiont print_functions 1.1t metadata_versiont previewt statust communityt supported_bys3
---
module: service_facts
short_description: Return service state information as fact data
description:
- Return service state information as fact data for various service management utilities
version_added: "2.5"
requirements: ["Any of the following supported init systems: systemd, sysv, upstart"]
notes:
- When accessing the C(ansible_facts.services) facts collected by this module,
it is recommended to not use "dot notation" because services can have a C(-)
character in their name which would result in invalid "dot notation", such as
C(ansible_facts.services.zuul-gateway). It is instead recommended to
using the string value of the service name as the key in order to obtain
the fact data value like C(ansible_facts.services['zuul-gateway'])
author:
- Adam Miller (@maxamillion)
s\
- name: Populate service facts
service_facts:
- debug:
var: ansible_facts.services
s�
ansible_facts:
description: Facts to add to ansible_facts about the services on the system
returned: always
type: complex
contains:
services:
description: States of the services with service name as key.
returned: always
type: complex
contains:
source:
description: Init system of the service. One of C(systemd), C(sysv), C(upstart).
returned: always
type: str
sample: sysv
state:
description: State of the service. Either C(running), C(stopped), or C(unknown).
returned: always
type: str
sample: running
status:
description: State of the service. Either C(enabled), C(disabled), or C(unknown).
returned: systemd systems or RedHat/SUSE flavored sysvinit/upstart
type: str
sample: enabled
name:
description: Name of the service.
returned: always
type: str
sample: arp-ethers.service
N( t
AnsibleModulet BaseServicec B` s e Z d � Z RS( c C` s | | _ t | _ d S( N( t modulet Falset incomplete_warning( t selfR
( ( sH /usr/lib/python2.7/site-packages/ansible/modules/system/service_facts.pyt __init__V s ( t __name__t
__module__R ( ( ( sH /usr/lib/python2.7/site-packages/ansible/modules/system/service_facts.pyR T s t ServiceScanServicec B` s e Z d � Z RS( c C` s~ i } | j j d � } | d k r( d S| j j d � } | j j d � } | d k r| d k r| j j d | d t �\ } } } x� | j d � D]{ } | j � } t | � d k r� q� n d j | d � }
| d
d k r� d } n d
} i |
d 6| d 6d d 6| |
<q� Wn | d k r+| d k r+t j d � } | j j d | � \ } } } | j
d d � }
x|
j d � D]� } | j | � } | s�q�n | j d � }
| j d � } | j d � } | j d � r�| j d � } n d } i |
d 6| d 6| d 6d d 6} | | |
<q�WnO| d k rzt j d � } | j j d | d t �\ } } } t
} x/ | j d � D] } | j | � r�t } q�q�W| sUt j d � } t
} x/ | j d � D] } | j | � r�t } q�q�W| r| j j d | d t �\ } } } qUd | k rU| j j d | d t �\ } } } qUn x"| j d � D]} | j | � } | re| j d � }
d
} d } | j d � d! k r�d"