Repository URL to install this package:
| 
      
        
        
        Version: 
        
         
          
          3.4.52  ▾
        
         | 
ó
±EYc           @   sá   d  d l  m Z d  d l  m Z d  d l  m Z d  d l m Z d  d l m Z d g Z e j	 j
 d e j e j e j
 f d     Y Z e j	 j
 d	 e j e j f d
     Y Z e j	 j e  d e f d     Y Z d
 S(   iÿÿÿÿ(   t   db(   t	   exception(   t   objects(   t   base(   t   fieldst   fixed_ipt
   FloatingIPc           B   s  e  Z d  Z i	 e j   d 6e j   d 6e j d e  d 6e j d e  d 6e j d e  d 6e j	   d 6e j d e  d 6e j d e  d	 6e j
 d
 d e d 6Z e d d   Z
 d
   Z e j d    Z e j d    Z e j d    Z e j e d   Z e j d    Z e j d    Z e j d    Z e j d    Z e j d    Z e d    Z e j d    Z RS(   s   1.10t   idt   addresst   nullablet   fixed_ip_idt
   project_idt   hostt
   auto_assignedt   poolt	   interfacet   FixedIPR   c         C   s¤   | d  k r g  } n  x. | j D]# } | t k r | | | | <q q Wd | k r | d d  k	 r t j j |  t j |   | d  | _ n  |  | _ | j   | S(   NR   (	   t   NoneR   t   FLOATING_IP_OPTIONAL_ATTRSR   R   t   _from_db_objectR   t   _contextt   obj_reset_changes(   t   contextt
   floatingipt
   db_floatingipt   expected_attrst   field(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyR   4   s    		"	
c         C   s   | t  k r+ t j d d d d |   n  |  j sU t j d d d |  j     n  |  j d  k	 r t j	 j
 |  j |  j d d g |  _ n	 d  |  _ d  S(	   Nt   actiont
   obj_load_attrt   reasons!   attribute %s is not lazy-loadablet   methodt   objtypeR   t   network(   R   R   t   ObjectActionErrorR   t   OrphanedObjectErrort   obj_nameR
   R   R   R   t	   get_by_idR   (   t   selft   attrname(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyR   D   s    			!c         C   s4   t  j | |  } |  j | |  |  | d d g S(   NR   R   (   R    t   floating_ip_getR   (   t   clsR   R   R   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyR$   R   s    c         C   s1   t  j | t |   } |  j | |  |  |  S(   N(   R    t   floating_ip_get_by_addresst   strR   (   R(   R   R   R   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_by_addressY   s    c         C   s$   g  t  j |  D] } | d ^ q S(   Nt   name(   R    t   floating_ip_get_pools(   R(   R   t   x(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_pool_names^   s    c         C   s   t  j | | | d | S(   NR
   (   R    t   floating_ip_allocate_address(   R(   R   R   R   R
   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   allocate_addressb   s    c         C   s   t  j | t |  t |  |  } | d  k r4 d  St d | d | d | d | d d t j j | t j |  | d d g  } | S(	   NR   R   R   R
   R   R   R   R    (   R    t   floating_ip_fixed_ip_associateR*   R   R   R   R   R   (   R(   R   t   floating_addresst
   fixed_addressR   t   db_fixedt   floating(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt	   associateg   s    				
	c         C   s   t  j | t |   S(   N(   R    t   floating_ip_deallocateR*   (   R(   R   R   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt
   deallocatex   s    c         C   s   t  j | t |   d  S(   N(   R    t   floating_ip_destroyR*   (   R(   R   R   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   destroy|   s    c         C   s_   t  j | t |   } |  d | d | d | d d t j j | t j |  | d d g  S(   NR   R   R
   R   R   R   R    (   R    t   floating_ip_disassociateR*   R   R   R   (   R(   R   R   R5   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   disassociate   s    
	c         C   s   t  j | |  S(   N(   R    t!   instance_floating_address_get_all(   R(   R   t
   instance_uuid(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   _get_addresses_by_instance_uuid   s    c         C   s   |  j  | | d  S(   Nt   uuid(   R@   (   R(   R   t   instance(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_addresses_by_instance   s    c         C   s«   |  j    } d | k r3 t j d d d d   n  d | k r` d } t j d d d |   n  | j d d   t j |  j t |  j	  |  } |  j
 |  j |  |  d  S(	   NR   R   t   saveR   s   address is not mutableR
   s   fixed_ip_id is not mutableR   (   t   obj_get_changesR   R!   t   popR   R    t   floating_ip_updateR   R*   R   R   (   R%   t   updatesR   R   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyRD      s    	N(   t   __name__t
   __module__t   VERSIONR   t   IntegerFieldt   IPAddressFieldt   Truet	   UUIDFieldt   StringFieldt   BooleanFieldt   ObjectFieldt   staticmethodR   R   R   t   obj_baset   remotable_classmethodR$   R+   R/   t   FalseR1   R7   R9   R;   R=   R@   t   classmethodRC   t	   remotableRD   (    (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyR      s4   
	
t   FloatingIPListc           B   s´   e  Z i e j d   d 6Z d Z e j d    Z e j d    Z e j d    Z	 e j d    Z
 e j d    Z e d    Z
 e j e d	   Z e j d
    Z RS(   R   R   s   1.11c         C   s.   t  j |  } t j | |  |  t j |  S(   N(   R    t   floating_ip_get_allRT   t
   obj_make_listR   R   (   R(   R   t   db_floatingips(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_allµ   s    c         C   s1   t  j | |  } t j | |  |  t j |  S(   N(   R    t   floating_ip_get_all_by_hostRT   R[   R   R   (   R(   R   R   R\   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_by_host»   s    c         C   s1   t  j | |  } t j | |  |  t j |  S(   N(   R    t   floating_ip_get_all_by_projectRT   R[   R   R   (   R(   R   R   R\   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_by_projectÁ   s    c         C   s7   t  j | t |   } t j | |  |  t j |  S(   N(   R    t    floating_ip_get_by_fixed_addressR*   RT   R[   R   R   (   R(   R   R4   R\   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_by_fixed_addressÇ   s    c         C   s+   t  j | |  } t j | |    t |  S(   N(   R    t   floating_ip_get_by_fixed_ip_idRT   R[   R   (   R(   R   R
   R\   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   get_by_fixed_ip_idÎ   s    		c         C   s   i t  |   d 6| d 6| d 6S(   NR   R   R   (   R*   (   R   R   R   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   make_ip_infoÕ   s    c         C   s;   t  j | | d | } | r7 t j | |    t |  Sd  S(   Nt   want_result(   R    t   floating_ip_bulk_createRT   R[   R   (   R(   R   t   ip_infoRg   R\   (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   createÛ   s
    	c         C   s   t  j | |  d  S(   N(   R    t   floating_ip_bulk_destroy(   R(   R   t   ips(    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyR;   ã   s    (   RI   RJ   R   t   ListOfObjectsFieldRK   RT   RU   R]   R_   Ra   Rc   Re   RS   Rf   RV   Rj   R;   (    (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyRY   ¥   s   t   NeutronFloatingIPc           B   s4   e  Z d  Z i e j   d 6e j d e  d 6Z RS(   s   1.0R   R	   R
   (   RI   RJ   RK   R   RO   RN   (    (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyRn   ë   s   
N(   t   novaR    R   R   t   nova.objectsR   RT   R   R   t   NovaObjectRegistryt   registert   NovaPersistentObjectt
   NovaObjectt   NovaObjectDictCompatR   t   ObjectListBaseRY   t   register_ifRV   Rn   (    (    (    sM   /home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/floating_ip.pyt   <module>   s   	E