%PDF- %PDF-
| Direktori : /proc/self/root/proc/self/root/usr/lib/python2.7/site-packages/salt/grains/ |
| Current File : //proc/self/root/proc/self/root/usr/lib/python2.7/site-packages/salt/grains/metadata.pyo |
�
���^c @@ s� d Z d d l m Z m Z m Z d d l Z d d l Z d d l j j Z d d l
Z d d l j
j Z d d l Z d d l Z d Z d j e � Z d � Z d d � Z d � Z d S(
u
Grains from cloud metadata servers at 169.254.169.254
.. versionadded:: 2017.7.0
:depends: requests
To enable these grains that pull from the http://169.254.169.254/latest
metadata server set `metadata_server_grains: True`.
.. code-block:: yaml
metadata_server_grains: True
i ( t absolute_importt print_functiont unicode_literalsNu 169.254.169.254u http://{0}/c C@ s� t j d t � t k r t St j t j t j � } | j d � | j t d f � } | d k rf t St j
t j j
t d � d t �j d � d k r� t St S( Nu metadata_server_grainsg�������?iP i u latest/t statusu statusi� ( t __opts__t gett Falset sockett AF_INETt SOCK_STREAMt
settimeoutt
connect_ext IPt httpt queryt ost patht joint HOSTt True( t sockt result( ( s8 /usr/lib/python2.7/site-packages/salt/grains/metadata.pyt __virtual__$ s
3u latest/c C@ s, i } t j t j j t | � d t �} d | k r: | St j j j
| d � } | d j d d � d k rs | Sx�| j d � D]�} | j
d � r� t d t j j | | � � | | d
<q� | d k r� t d t j j | | d � � | | <q� | j
d � r*t d t j j | | � � | | <q� d | k rp| j d � \ } } t d t j j | | � � | | <q� t j t j j t | | � � j d d � } t | t j � ry, t j j j t j j j
| � � | | <Wqt k
rt j j j
| � | | <qXq� | | | <q� Wt j j j | � S( u?
Recursively look up all grains in the metadata server
t headersu bodyu headersu Content-Typeu
text/plainu application/octet-streamu
u /t prefixi����u latest/u dynamicu meta-datau =( u dynamicu meta-dataN( R
R R R R R R t saltt utilst stringutilst
to_unicodeR t splitt endswitht _searcht Nonet
isinstancet sixt binary_typet jsont loadst
ValueErrort datat decode( R t rett linedatat bodyt linet keyt valuet retdata( ( s8 /usr/lib/python2.7/site-packages/salt/grains/metadata.pyR 1 s2 $))%%-,
c C@ s t � S( N( R ( ( ( s8 /usr/lib/python2.7/site-packages/salt/grains/metadata.pyt metadataW s ( t __doc__t
__future__R R R R R t salt.ext.sixt extR"