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/sources/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceCloudSigma.cpython-311.pyc
�

܍~c���ddlZddlmZddlmZddlmZddlmZddlm	Z	ddl
mZmZej
e��ZGd�d	ej��ZeZeejffgZd
�ZdS)�N)�	b64decode)�dmi)�log)�sources)�DataSourceHostname)�SERIAL_PORT�Cepkoc�B�eZdZdZdZd�Zd�Zd�Zd�Zdd�Z	d	�Z
d
�ZdS)
�DataSourceCloudSigmaz�
    Uses cepko in order to gather the server context from the VM.

    For more information about CloudSigma's Server Context:
    http://cloudsigma-docs.readthedocs.org/en/latest/server_context.html
    �
CloudSigmac�~�t��|_d|_tj�||||��dS)N�)r	�cepko�ssh_public_keyr�
DataSource�__init__)�self�sys_cfg�distro�pathss    �H/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceCloudSigma.pyrzDataSourceCloudSigma.__init__s8���W�W��
� �����#�#�D�'�6�5�A�A�A�A�A�c��t�d��tjd��}|st�d��dSt�d|��d|���vS)z
        Uses dmi data to detect if this instance of cloud-init is running
        in the CloudSigma's infrastructure.
        z0determining hypervisor product name via dmi datazsystem-product-namez-system-product-name not available in dmi dataFzdetected hypervisor as %s�
cloudsigma)�LOG�debugr�
read_dmi_data�lower)r�sys_product_names  r�is_running_in_cloudsigmaz-DataSourceCloudSigma.is_running_in_cloudsigma"sw��	�	�	�D�E�E�E��,�-B�C�C���	��I�I�E�F�F�F��5��	�	�-�/?�@�@�@��/�5�5�7�7�7�7rc��d}|���sdS	|j���j}|d}n+#t$rt
�d��YdSwxYw|�|�d��g��|_	|tjkrdS|�dd���d��}|�d	d��|_
d	|vrt|j
��|_
d
|�di��vr|dd
|_||_|d|_d
S)zj
        Metadata is the whole server context and /meta/cloud-config is used
        as userdata.
        NF�metaz+CloudSigma: Unable to read from serial portzcloudinit-dsmode�
base64_fieldsr�,zcloudinit-user-data�	cloudinit�vendor_datarT)r r�all�result�	Exceptionrr�_determine_dsmode�get�dsmoder�DSMODE_DISABLED�split�userdata_rawr�vendordata_raw�metadatar)rr,�server_context�server_metar#s     r�	_get_datazDataSourceCloudSigma._get_data0s\��
���,�,�.�.�	��5�	�!�Z�^�^�-�-�4�N�(��0�K�K���	�	�	�
�I�I�C�D�D�D��5�5�		�����,�,�
�_�_�/�
0�
0�1�
�
����W�,�,�,��5�#�����<�<�B�B�3�G�G�
�'�O�O�,A�2�F�F��� �M�1�1� )�$�*;� <� <�D���.�,�,�]�B�?�?�?�?�"0��"?��"L�D��&��
�)�*:�;����ts�&A�$A)�(A)c��dtzS)z/Return the subplatform metadata source details.z
cepko (%s))r�rs r�_get_subplatformz%DataSourceCloudSigma._get_subplatformTs
���k�)�)rFc���tjd|jd��r|jddd�}n&|jd�d��d}t	|d��S)	z�
        Cleans up and uses the server's name if the latter is set. Otherwise
        the first part from uuid is being used.
        z^[A-Za-z0-9 -_\.]+$�nameN�=�uuid�-rF)�re�matchr1r.r)r�fqdn�
resolve_ip�
metadata_only�rets     r�get_hostnamez!DataSourceCloudSigma.get_hostnameXsf��
�8�*�D�M�&�,A�B�B�	6��-��'����,�C�C��-��'�-�-�c�2�2�1�5�C�!�#�u�-�-�-rc��|jgS)N)rr6s r�get_public_ssh_keysz(DataSourceCloudSigma.get_public_ssh_keyscs���#�$�$rc��|jdS)Nr;)r1r6s r�get_instance_idz$DataSourceCloudSigma.get_instance_idfs���}�V�$�$rN)FFF)�__name__�
__module__�__qualname__�__doc__�dsnamerr r4r7rCrErG�rrrrs����������F�B�B�B�
8�8�8�"�"�"�H*�*�*�	.�	.�	.�	.�%�%�%�%�%�%�%�%rrc�6�tj|t��S)zK
    Return a list of data sources that match this set of dependencies
    )r�list_from_depends�datasources)�dependss r�get_datasource_listrRts���$�W�k�:�:�:r)r=�base64rr%rr�loggingr�cloudinit.sourcesr�$cloudinit.sources.helpers.cloudsigmarr	�	getLoggerrHrrr�DataSourceCloudSigmaNet�DEP_FILESYSTEMrPrRrMrr�<module>rZs��
�	�	�	�������������$�$�$�$�$�$�������0�0�0�0�0�0�C�C�C�C�C�C�C�C��g���!�!��T%�T%�T%�T%�T%�7�-�T%�T%�T%�p/��
�G�2�4�5���
;�;�;�;�;r