HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/icinga2.cpython-310.pyc
o

�N�g{�@sfdZddlZddlZddlZddlmZe�e�Z	dd�Z
dd�Zdd	�Zd
d�Z
dd
�Zdd�ZdS)zl
Module to provide icinga2 compatibility to salt.

.. versionadded:: 2017.7.0

:depends:   - icinga2 server
�N)�get_certs_pathcCs&tjj��rdStjj�d�rdSdS)z<
    Only load this module if the mysql libraries exist
    )Fz'The module cannot be loaded on windows.�icinga2T)FzIcinga2 not installed.)�salt�utils�platformZ
is_windows�path�which�r	r	�H/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/icinga2.py�__virtual__s
rcCstddddd|gdd�}|S)z�
    Generate and save an icinga2 ticket.

    Returns::
        icinga2 pki ticket --cn domain.tld

    CLI Example:

    .. code-block:: bash

        salt '*' icinga2.generate_ticket domain.tld

    �cmd.run_allr�pki�ticket�--cnF�Zpython_shell)�__salt__��domain�resultr	r	r
�generate_tickets�rcCs>tddddd|dt��|�d�dt��|�d	�g	d
d�}|S)a"
    Generate an icinga2 client certificate and key.

    Returns::
        icinga2 pki new-cert --cn domain.tld --key /etc/icinga2/pki/domain.tld.key --cert /etc/icinga2/pki/domain.tld.crt

    CLI Example:

    .. code-block:: bash

        salt '*' icinga2.generate_cert domain.tld

    rrr
znew-certr�--key�.key�--cert�.crtFr�rrrr	r	r
�
generate_cert3s��rcCsJtdddddt��|�d�dt��|�d�d	t��d
�d|gdd
�}|S)aj
    Save the certificate for master icinga2 node.

    Returns::
        icinga2 pki save-cert --key /etc/icinga2/pki/domain.tld.key --cert /etc/icinga2/pki/domain.tld.crt --trustedcert /etc/icinga2/pki/trusted-master.crt --host master.domain.tld

    CLI Example:

    .. code-block:: bash

        salt '*' icinga2.save_cert domain.tld master.domain.tld

    rrr
z	save-certrrrz.cert�
--trustedcert�trusted-master.crt�--hostFrr)r�masterrr	r	r
�	save_certRs 
�
�r cCs^tddddd|d|d|dt��|�d	�d
t��|�d�dt��d
�dt��d�gdd�}|S)a�
    Request CA cert from master icinga2 node.

    Returns::
        icinga2 pki request --host master.domain.tld --port 5665 --ticket TICKET_ID --key /etc/icinga2/pki/domain.tld.key --cert /etc/icinga2/pki/domain.tld.crt --trustedcert                 /etc/icinga2/pki/trusted-master.crt --ca /etc/icinga2/pki/ca.crt

    CLI Example:

    .. code-block:: bash

        salt '*' icinga2.request_cert domain.tld master.domain.tld TICKET_ID

    rrr
�requestrz--port�--ticketrrrrrrz--cazca.crtFrr)rrr�portrr	r	r
�request_certss,

��r$cCs6tddddd|d|d|d|d	t��d
�g
dd�}|S)
ah
    Setup the icinga2 node.

    Returns::
        icinga2 node setup --ticket TICKET_ID --endpoint master.domain.tld --zone domain.tld --master_host master.domain.tld --trustedcert                 /etc/icinga2/pki/trusted-master.crt

    CLI Example:

    .. code-block:: bash

        salt '*' icinga2.node_setup domain.tld master.domain.tld TICKET_ID

    rr�node�setupr"z
--endpointz--zonez
--master_hostrrFrr)rrrrr	r	r
�
node_setup�s$
��r')�__doc__�loggingZsalt.utils.pathrZsalt.utils.platformZsalt.utils.icinga2r�	getLogger�__name__�logrrrr r$r'r	r	r	r
�<module>s

!(