Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
dmapi / usr / lib / python2.7 / dist-packages / dmapi / objects / instance.pyc
Size: Mime:
ó
Éec@sddlZddlmZddlmZddlmZddl	m
Z
ddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZej Z ej!e"ƒZ#dddddddgZ$ddddgZ%dddd d!d"d#gZ&dddgZ'e$e%e&Z(dddgZ)d$Z*d%„Z+e,ƒZ-ej.j/d&ej0ej1ej2fd'„ƒYƒZ3dS((iÿÿÿÿN(tcfg(t	exception(tlog(t	jsonutils(t	timeutils(tversionutils(tor_(tfunc(tnull(tdb(tapi(tmodels(t_(tobjects(tbase(tfields(tutilstmetadatatsystem_metadatatsecurity_groupstpci_devicesttagstservicestfaulttflavort
old_flavort
new_flavortec2_idst
numa_topologytpci_requestst
vcpu_modeltmigration_contexttkeypairstdevice_metadatai2cCs¼|s
|Sg|D]}|tkr|^q}gtD]}||kr6d|^q6}|rn|jdƒng|D]}|tkru|^qu}||}ttt|ƒƒd|jƒS(sžReturn expected_attrs that are columns needing joining.

    NB: This function may modify expected_attrs if one
    requested attribute requires another.
    sextra.%stextratkey(t _INSTANCE_OPTIONAL_JOINED_FIELDSt_INSTANCE_EXTRA_FIELDStappendtsortedtlisttsettindex(texpected_attrstattrtsimple_colstfieldtcomplex_colstxt
expected_cols((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyt_expected_cols;s

%
tInstancecBs,eZdZiejƒd6ejdeƒd6ejdeƒd6ejdeƒd6ejdeƒd6ejdeƒd6ejdeƒd6ejdeƒd	6ejdeƒd
6ejdeƒd6ejdeƒd6ejdeƒd
6ejdeƒd6ejde	ƒd6ejdeƒd6ejdeƒd6ejdeƒd6ejdeƒd6ej
ƒd6ejdeƒd6ZdgZd„Ze
d„ƒZd#d„Zd„Zd#e	d„Zd„Zed„ƒZe
d„ƒZed#d „ƒZee	d!„ƒZejd#e	d"„ƒZRS($s2.0tidtnullablethostnamethosttnodetinstance_type_idt	user_datatreservation_idtlaunched_att
terminated_attavailability_zonetdisplay_nametdisplay_descriptiontlaunched_ontdefaulttlockedt	locked_bytos_typetarchitecturetvm_modetuuidt
task_statetnamecOs'tt|ƒj||Ž|jƒdS(N(tsuperR3t__init__t_reset_metadata_tracking(tselftargstkwargs((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyRL„scCstjj|ƒS(N(R
t	ImageMetat
from_instance(RN((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyt
image_metaˆscCs‚|dksd|kr?d|kr3t|jƒni|_n|dksWd|kr~d|krrt|jƒni|_ndS(NRR(tNonetdictRt_orig_system_metadataRt_orig_metadata(RNR((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyRMŒs'cCsatt|ƒjƒ}t|dƒr9t|jƒ|_nt|dƒr]t|jƒ|_n|S(s&Create a copy of this instance object.RWRV(RKR3t	obj_clonethasattrRURWRV(RNtnobj((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyRX”scCs0tt|ƒj|d|ƒ|jd|ƒdS(Nt	recursiveR(RKR3tobj_reset_changesRM(RNRR[((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyR\¡scCsutt|ƒjƒ}d|krC|j|jkrC|jdƒnd|krq|j|jkrq|jdƒn|S(NRR(RKR3tobj_what_changedRRWtaddRRV(RNtchanges((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyR]¦scCs,tt|ƒj|||ƒ}|jƒ|S(N(RKR3t_obj_from_primitiveRM(tclstcontexttobjvert	primitiveRN((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyR`¯s	
cCsÿytj|j}Wnätk
r¤i}xF|jD];}|dkrLq4n|j|ƒsaq4n||||<q4Wytj|}Wqûtk
r |j}qûXnWtj	k
rú|j
tjkrá|j
tjkrád}qûtjdƒ|j}nX|S(NRJtsOCould not lazy-load instance.id while attempting to generate the instance name.(tCONFtinstance_name_templateR4t	TypeErrorRtobj_attr_is_settKeyErrorRHRtObjectActionErrortvm_statet	vm_statestBUILDINGRIttask_statest
SCHEDULINGtLOGterror(RNt	base_nametinfoR#((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyRJ¶s*

	

cCs||_|dkrg}nxy|jD]n}|tkr@q(q(|dkrf|d|dk|_q(|dkrˆ|ddk|_q(||||<q(Wd|kr¼tj|ƒ|d<nd|krÞtj|ƒ|d<nd|kr	t	j
j||jƒ|d<n|j
ƒ|S(	sjMethod to help with migration to objects.

        Converts a database entity to a formal object.
        tdeletedR4tcleanediRRRN(t_contextRTRtINSTANCE_OPTIONAL_ATTRSRuRvRt
instance_metatinstance_sys_metaR
t
InstanceFaulttget_latest_for_instanceRHR\(Rbtinstancetdb_instR+R.((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyt_from_db_objectÜs(			
cCstj||d|ƒS(Ntcolumns_to_join(R	tinstance_get_by_uuid(RbRHR€t	use_slave((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyt_db_instance_get_by_uuidüscCs[|dkrddg}nt|ƒ}|j|||d|ƒ}|j||ƒ||ƒS(Nt
info_cacheRR‚(RTR2RƒR(RaRbRHR+R‚R€R~((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pytget_by_uuids	N(t__name__t
__module__tVERSIONRtIntegerFieldtStringFieldtTruet
DateTimeFieldtBooleanFieldtFalset	UUIDFieldtobj_extra_fieldsRLtpropertyRSRTRMRXR\R]tclassmethodR`RJtstaticmethodRRƒRtremotable_classmethodR…(((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyR3ZsJ

			
		&(4t
contextlibtoslo_configRtoslo_dbRtdb_exctoslo_logRtloggingtoslo_serializationRt
oslo_utilsRRt
sqlalchemyRtsqlalchemy.sqlRRtdmapiR	tdmapi.db.sqlalchemyR
tdb_apiRt
dmapi.i18nRR
t
dmapi.objectsRRRRft	getLoggerR†RqR$t$_INSTANCE_OPTIONAL_NON_COLUMN_FIELDSR%t_MIGRATION_CONTEXT_ATTRSRxtINSTANCE_DEFAULT_FIELDSt
MAX_TAG_COUNTR2tobjectt_NO_DATA_SENTINELtContegoObjectRegistrytregistertContegoPersistentObjectt
ContegoObjecttContegoObjectDictCompatR3(((s:/usr/lib/python2.7/dist-packages/dmapi/objects/instance.pyt<module>sR