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__/DataSourceGCE.cpython-311.pyc
�

܍~c�/���ddlZddlZddlmZddlmZddlmZddlm	Z
ddlmZmZm
Z
ddlmZddlmZdd	lmZe
je��Zd
ZdeiZdZd
ZdZddiZGd�d��ZGd�dej��ZGd�de��Z d�Z!d�Z"d2d�Z#d3d�Z$d�Z%e ej&ffeej&ej'ffgZ(d�Z)edk�r
ddl*Z*ddl+Z+ddlm,Z,e*j-d �!��Z.e.�/d"d#d$e�%��e.�/d&d'd(d)d�*��e.�0��Z1e$e1j2e1j3�+��Z4d,e4vrm	e4d,�5��e4d,<nN#e6$rFe+j7�8d-��e4d,=e,e4d,���5��e4d.<YnwxYwe9ej:e4d/dd0�1����dSdS)4�N)�	b64decode)�suppress)�dmi)�log)�sources�
url_helper�util)�ug_util)�EphemeralDHCPv4)�DataSourceHostnamez3http://metadata.google.internal/computeMetadata/v1/�metadata_url)�instance-id�availability-zone�local-hostnamezLhttp://metadata.google.internal/computeMetadata/v1/instance/guest-attributes�hostkeyszMetadata-Flavor�Googlec��eZdZd�Zdd�ZdS)�GoogleMetadataFetcherc�0�||_||_||_dS�N)�metadata_address�num_retries�sec_between_retries)�selfrrrs    �A/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceGCE.py�__init__zGoogleMetadataFetcher.__init__s �� 0���&���#6�� � � �Fc��d}	|j|z}|r|dz
}tj|t|j|j���}|jdkr7|rtj|j	��}nw|j	�
d��}n\t�d||j��n:#tj
$r(}d}t�|||��Yd}~nd}~wwxYw|S)Nz/?recursive=True)�url�headers�retries�sec_between���utf-8zurl %s returned code %szurl %s raised exception %s)rr�readurl�HEADERSrr�coder	�
decode_binary�contents�decode�LOG�debug�UrlError)	r�path�is_text�is_recursive�valuer�resp�exc�msgs	         r�	get_valuezGoogleMetadataFetcher.get_value$s	����	F��'�$�.�C��
*��)�)���%����(� �4�	���D��y�C����:� �.�t�}�=�=�E�E� �M�0�0��9�9�E�E��	�	�3�T�4�9�E�E�E�E���"�	&�	&�	&�.�C��I�I�c�4��%�%�%�%�%�%�%�%�����	&�����s�8B � C�/C�CN)F)�__name__�
__module__�__qualname__rr5�rrrrs7������7�7�7�
�����rrc�~�eZdZdZdZd�Zd�Zed���Zd�Z	d�Z
d�Zd
d	�Zed
���Z
ed���ZdS)�
DataSourceGCE�GCEFc�z�tj�||||��d|_|r4t	j||��\}}t	j|��\|_}t��|_tj
tj|ddgi��tg��|_
|j
d|_dS)N�
datasourcer<r
)r�
DataSourcer�default_userr
�normalize_users_groups�extract_default�dict�metadatar	�
mergemanydict�get_cfg_by_path�BUILTIN_DS_CONFIG�ds_cfgr)r�sys_cfg�distro�paths�users�_groups�_user_configs       rrzDataSourceGCE.__init__Cs�����#�#�D�'�6�5�A�A�A� ����	O�&�=�g�v�N�N��U�G�07�0G��0N�0N�-�T�
������
��(��$�W�|�U�.C�R�H�H�!�
�
�
���!%��N� ;����rc	��|���}t��}|jr-t|j|j������}|5tjtj
dt|j|d����}ddd��n#1swxYwY|dsK|dr!t�
|d��n t�
|d��dS|d	|_|d
|_dS)N)�tmp_dirzCrawl of GCE metadata service)�address�
url_params)�kwargs�success�platform_reports_gce�reasonF�	meta-data�	user-dataT)�get_url_params�noop�perform_dhcp_setupr�fallback_interfacerJ�get_tmp_exec_pathr	�log_timer+r,�read_mdr�warningrD�userdata_raw)rrR�network_context�rets    r�	_get_datazDataSourceGCE._get_dataRsQ���(�(�*�*�
��&�&���"�	�-��'���5�5�7�7����O��		�		��-��	�/��#�4�",���	���C�		�		�		�		�		�		�		�		�		�		�		����		�		�		�		��9�~�	��)�*�
)����C��M�*�*�*�*��	�	�#�h�-�(�(�(��5��K�(��
���,����ts�0B�B�Bc��dSrr9�rs r�launch_indexzDataSourceGCE.launch_indexos	���trc��|jdS)Nr�rDrfs r�get_instance_idzDataSourceGCE.get_instance_idts���}�]�+�+rc�F�|jd}t||j��S)N�public-keys-data)rD�_parse_public_keysr@)r�public_keys_datas  r�get_public_ssh_keysz!DataSourceGCE.get_public_ssh_keysws$���=�);�<��!�"2�D�4E�F�F�Frc�"�|D]}t|��dSr)�#_write_host_key_to_guest_attributes)rr�keys   r�publish_host_keyszDataSourceGCE.publish_host_keys{s)���	6�	6�C�/��5�5�5�	6�	6rc�j�t|jd�d��dd��S)Nr�.rF)rrD�split)r�fqdn�
resolve_ip�
metadata_onlys    r�get_hostnamezDataSourceGCE.get_hostnames4��!��M�*�+�1�1�#�6�6�q�9�5�
�
�	
rc��|jdS)Nrrirfs r�availability_zonezDataSourceGCE.availability_zone�s���}�0�1�1rc�D�|j�dd��dS)N�-�r)r|�rsplitrfs r�regionzDataSourceGCE.region�s ���%�,�,�S�!�4�4�Q�7�7rN)FFF)r6r7r8�dsnamer[rrd�propertyrgrjrorsrzr|r�r9rrr;r;>s�������
�F���
<�
<�
<����:����X��,�,�,�G�G�G�6�6�6�
�
�
�
��2�2��X�2��8�8��X�8�8�8rr;c��eZdZdZdS)�DataSourceGCELocalTN)r6r7r8r[r9rrr�r��s���������rr�c�,�t�dt�d|��}|�d��}tj||t
dd���}|���rt�d|��dSt�d|��dS)N�/r$�PUTF)r�datar �request_method�check_statusz&Wrote %s host key to guest attributes.z0Unable to write %s host key to guest attributes.)	�GUEST_ATTRIBUTES_URL�HOSTKEY_NAMESPACE�encoderr%r&�okr+r,)�key_type�	key_valuerr2s    rrqrq�s���,�,�,�.?�.?�.?���
J�C�� � ��)�)�I����
�������D��w�w�y�y�P��	�	�:�H�E�E�E�E�E��	�	�D�h�O�O�O�O�Orc��	|�dd��dd�\}}n#ttf$rYdSwxYw|dkrdS	tj|��}n#t$rYdSwxYwd|vrdS|d}d}	t
j�||��}n#t$rYdSwxYwt
j���|kS)N��Fz
google-ssh�expireOnz%Y-%m-%dT%H:%M:%S+0000)rv�
ValueError�AttributeError�json�loads�datetime�strptime�utcnow)�
public_key�schema�json_str�json_obj�
expire_str�
format_str�expire_times       r�_has_expiredr��s���%�+�+�D�!�4�4�Q�R�R�8��������'�����u�u����������u���:�h�'�'���������u�u�������!�!��u��*�%�J�)�J���'�0�0��Z�H�H���������u�u�������#�#�%�%��3�3s0�!$�9�9�A�
A(�'A(�< B�
B+�*B+c��g}|s|S|D]w}|rtd�|D����s�|�dd��}t|��dkr�H|\}}|d|fvr$t|��s|�|���x|S)Nc3�<K�|]}t|��dkV��dS)�N)�ord)�.0�cs  r�	<genexpr>z%_parse_public_keys.<locals>.<genexpr>�s,����$F�$F�a�S��V�V�c�\�$F�$F�$F�$F�$F�$Fr�:rr��	cloudinit)�allrv�lenr��append)rnr@�public_keysr��split_public_key�userrrs       rrmrm�s���
�K�����&�$�$�
��	��$F�$F�:�$F�$F�$F�!F�!F�	��%�+�+�C��3�3���� � �A�%�%��$�	��c��K��.�.�.�|�C�7H�7H�.����s�#�#�#���rTc�@�|�t}ddddd�}t��|d<|r|dsd|d<|Stj|��s%t�d|��d|z|d<|Sgd�}t
||j|j��}i}|D]A\}}}	}
}d}|D]}
|�	|
|
|��}|�|}�|	r|�d	}||z|d<|cS|||<�Btj|d
pd��}tj|dpd��}|�d
��|�d��g}|�dd���
��}|dkre|�d
��sP|�|�d����|�|�d
����d�d�|D����}|���|d<|dr$|d�d��d|d<d|vrh|d�d��}|�d��}|dkrt'|��}n|rt�d|��||d<||d<d|d<|S) NF)rWrXrTrVrUzNot running on GCE.rVz%s is not resolvablezaddress "%s" is not resolvable))r)zinstance/idTTF)r)z
instance/zoneTTF)r)zinstance/hostnameTTF)�
instance-data)zinstance/attributesFFT)�project-data)zproject/attributesFFTz)required key %s returned nothing. not GCEr�z{}r��sshKeyszssh-keyszblock-project-ssh-keys��true�
c��g|]}|�|��Sr9r9)r�rrs  r�
<listcomp>zread_md.<locals>.<listcomp>s��!C�!C�!C�#�s�!C�#�!C�!C�!Crrlrr����rXr$zuser-data-encoding�base64z(unknown user-data-encoding: %s, ignoringrWTrT)�	MD_V1_URLrUr	�is_resolvable_urlr+r,rrrr5r�r��get�lowerr��join�
splitlinesrvr�rr`)rQrR�platform_checkrc�url_map�metadata_fetcher�md�mkeyrK�requiredr/r0r1r.�	new_valuer4�
instance_data�project_data�
valid_keys�
block_projectrn�ud�encodings                       rr_r_�s)����������	��C�#7�"8�"8�C�����c�"8�9��-��H�
��
��!�'�*�*���	�	�(�'�2�2�2�8�7�B��H�
��
����G�-���'��)G����
�B�:A�
�
�6��u�h������	"�	"�D�(�2�2�4��,�O�O�I��$�!����	��
�=�C��$�J�C��M��J�J�J���4����J�r�/�2�:�d�;�;�M��:�b��0�8�D�9�9�L��#�#�I�.�.�
�0A�0A�*�0M�0M�N�J�!�%�%�&>��C�C�I�I�K�K�M�����}�'8�'8��'C�'C�����,�*�*�:�6�6�7�7�7����,�*�*�9�5�5�6�6�6��y�y�!C�!C��!C�!C�!C�D�D��-�8�8�:�:�B���	�
��I�"$�%8�"9�"?�"?��"D�"D�R�"H�����m�#�#�
�;�
'�
.�
.�w�
7�
7�� �$�$�%9�:�:���x����2���B�B�
�	N��K�K�B�H�M�M�M���K���C����C�	�N��Jrc���tjd��pd}|dks|dkrdStjd��pd}|�d��rdSt�d||��d	S)
Nzsystem-product-namezN/AzGoogle Compute EnginerTzsystem-serial-numberzGoogleCloud-z6Not running on google cloud. product-name=%s serial=%sF)r�
read_dmi_data�
startswithr+r,)�pname�serials  rrUrU%s�����3�4�4�=��E��'�'�'�5�H�+<�+<��t��
�5�
6�
6�
?�%�F�
����(�(���t��I�I�@�%������5rc�6�tj|t��Sr)r�list_from_depends�datasources)�dependss r�get_datasource_listr�=s���$�W�k�:�:�:r�__main__)�	b64encodezQuery GCE Metadata Service)�descriptionz
--endpoint�URLz The url of the metadata service.)�metavar�help�defaultz--no-platform-checkr�zIgnore smbios platform check�store_false)�destr��actionr�)rQr�rXz/User-data cannot be decoded. Writing as base64
z
user-data-b64r)�,z: )�indent�	sort_keys�
separatorsr)NNT);r�r�r�r�
contextlibrrZr�rr�loggingrrr	�cloudinit.distrosr
�cloudinit.net.ephemeralr�cloudinit.sourcesr�	getLoggerr6r+r�rG�REQUIRED_FIELDSr�r�r&rr?r;r�rqr�rmr_rU�DEP_FILESYSTEM�DEP_NETWORKr�r��argparse�sysr��ArgumentParser�parser�add_argument�
parse_args�args�endpointr�r�r*�UnicodeDecodeError�stderr�write�print�dumpsr9rr�<module>rs���
��������������'�'�'�'�'�'�������$�$�$�$�$�$�/�/�/�/�/�/�/�/�/�/�%�%�%�%�%�%�3�3�3�3�3�3�0�0�0�0�0�0��g���!�!��A�	�#�Y�/��H��#�����h�
'����������@M8�M8�M8�M8�M8�G�&�M8�M8�M8�`���������
P�
P�
P� 4�4�4�D����(J�J�J�J�Z
�
�
�$�'�0�2�3��W�+�W�-@�A�B���;�;�;��z����O�O�O��J�J�J� � � � � � �
$�X�
$�1M�
N�
N�
N�F�
�����
/��	��������
�
+������������D��7�4�=��9L�M�M�M�D��d���	J� $�[� 1� 8� 8� :� :�D�����!�	J�	J�	J��J���B�
�
�
��[�!�$-�I�d�;�.?�$@�$@�$G�$G�$I�$I�D��!�!�!�
	J����
�E�*�$�*�T�!�t��
L�
L�
L�M�M�M�M�M�G�s�E � AF+�*F+