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    
python3-dmapi / usr / lib / python3.6 / site-packages / dmapi / objects / __pycache__ / instance.cpython-36.opt-1.pyc
Size: Mime:
3

ÿn‚aµ)ã@sxddlZddlmZddlmZddlmZddl	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%d&„Z+e,ƒZ-ej.j/Gd'd(„d(ej0ej1ej2ƒƒZ3dS))éN)Úcfg)Ú	exception)Úlog)Ú	jsonutils)Ú	timeutils)Úversionutils)Úor_)Úfunc)Únull)Údb)Úapi)Úmodels)Ú_)Úobjects)Úbase)Úfields)ÚutilsÚmetadataÚsystem_metadataÚsecurity_groupsZpci_devicesZtagsZservicesÚfaultZflavorZ
old_flavorZ
new_flavorZec2_idsZ
numa_topologyZpci_requestsZ
vcpu_modelZmigration_contextZkeypairsZdevice_metadataé2csbˆsˆSdd„ˆDƒ}‡fdd„tDƒ}|r6|jdƒdd„|Dƒ}||}ttt|ƒƒ|jdS)zžReturn expected_attrs that are columns needing joining.

    NB: This function may modify expected_attrs if one
    requested attribute requires another.
    cSsg|]}|tkr|‘qS©)Ú _INSTANCE_OPTIONAL_JOINED_FIELDS)Ú.0Úattrrrú/usr/lib/python3.6/instance.pyú
<listcomp>Dsz"_expected_cols.<locals>.<listcomp>csg|]}|ˆkrd|‘qS)zextra.%sr)rÚfield)Úexpected_attrsrrrGsZextracSsg|]}|tkr|‘qSr)Ú_INSTANCE_EXTRA_FIELDS)rÚxrrrrLs)Úkey)r ÚappendÚsortedÚlistÚsetÚindex)rZsimple_colsZcomplex_colsZ
expected_colsr)rrÚ_expected_cols;s

r(cspeZdZdZejƒejddejddejddejddejddejddejddejddejddejddejddejddejddejddejddejddejddej	ƒejdddœZdgZ
‡fdd	„Zed
d„ƒZ
dd
d„Z‡fdd„Zd ‡fdd„	Z‡fdd„Ze‡fdd„ƒZedd„ƒZed!dd„ƒZed"dd„ƒZejd#dd„ƒZ‡ZS)$ÚInstancez2.0T)ZnullableF)Údefault)ÚidZhostnameÚhostZnodeZinstance_type_idZ	user_dataZreservation_idZlaunched_atZ
terminated_atZavailability_zoneZdisplay_nameZdisplay_descriptionZlaunched_onÚlockedZ	locked_byZos_typeZarchitectureZvm_modeÚuuidÚ
task_stateÚnamecstt|ƒj||Ž|jƒdS)N)Úsuperr)Ú__init__Ú_reset_metadata_tracking)ÚselfÚargsÚkwargs)Ú	__class__rrr2„szInstance.__init__cCstjj|ƒS)N)rZ	ImageMetaZ
from_instance)r4rrrÚ
image_metaˆszInstance.image_metaNcCsT|dksd|kr(d|kr"t|jƒni|_|dks8d|krPd|krJt|jƒni|_dS)Nrr)ÚdictrÚ_orig_system_metadatarÚ_orig_metadata)r4rrrrr3Œsz!Instance._reset_metadata_trackingcs>tt|ƒjƒ}t|dƒr$t|jƒ|_t|dƒr:t|jƒ|_|S)z&Create a copy of this instance object.r;r:)r1r)Ú	obj_cloneÚhasattrr9r;r:)r4Znobj)r7rrr<”s

zInstance.obj_clonecs$tt|ƒj||d|j|ddS)N)Ú	recursive)r)r1r)Úobj_reset_changesr3)r4rr>)r7rrr?¡szInstance.obj_reset_changescsNtt|ƒjƒ}d|kr,|j|jkr,|jdƒd|krJ|j|jkrJ|jdƒ|S)Nrr)r1r)Úobj_what_changedrr;Úaddrr:)r4Zchanges)r7rrr@¦s

zInstance.obj_what_changedcs tt|ƒj|||ƒ}|jƒ|S)N)r1r)Ú_obj_from_primitiver3)ÚclsÚcontextZobjverZ	primitiver4)r7rrrB¯szInstance._obj_from_primitivecCsÎytj|j}Wn¸tk
r†i}x2|jD](}|dkr<q,n|j|ƒsHq,||||<q,Wytj|}Wntk
r€|j}YnXYnDtj	k
rÈ|j
tjkr´|j
tjkr´d}ntjdƒ|j}YnX|S)Nr0ÚzOCould not lazy-load instance.id while attempting to generate the instance name.)ÚCONFZinstance_name_templater+Ú	TypeErrorrZobj_attr_is_setÚKeyErrorr.rZObjectActionErrorZvm_stateZ	vm_statesZBUILDINGr/Ztask_statesZ
SCHEDULINGÚLOGÚerror)r4Z	base_nameÚinfor"rrrr0¶s*

z
Instance.namecCsÂ||_|dkrg}xZ|jD]P}|tkr*qq|dkrF|d|dk|_q|dkr^|ddk|_q||||<qWd|kr„tj|ƒ|d<d|krštj|ƒ|d<d|kr¶tj	j
||jƒ|d<|jƒ|S)	zjMethod to help with migration to objects.

        Converts a database entity to a formal object.
        NÚdeletedr+Úcleanedérrr)
Z_contextrÚINSTANCE_OPTIONAL_ATTRSrLrMrZ
instance_metaZinstance_sys_metarZ
InstanceFaultZget_latest_for_instancer.r?)rDÚinstanceÚdb_instrrrrrÚ_from_db_objectÜs(zInstance._from_db_objectcCstj|||dS)N)Úcolumns_to_join)rZinstance_get_by_uuid)rDr.rSÚ	use_slaverrrÚ_db_instance_get_by_uuidüsz!Instance._db_instance_get_by_uuidcCs<|dkrddg}t|ƒ}|j||||d}|j||ƒ||ƒS)NZ
info_cacher)rT)r(rUrR)rCrDr.rrTrSrQrrrÚget_by_uuids
zInstance.get_by_uuid)N)NF)N)F)NF)Ú__name__Ú
__module__Ú__qualname__ÚVERSIONrZIntegerFieldZStringFieldZ
DateTimeFieldZBooleanFieldZ	UUIDFieldZobj_extra_fieldsr2Úpropertyr8r3r<r?r@ÚclassmethodrBr0ÚstaticmethodrRrUrZremotable_classmethodrVÚ
__classcell__rr)r7rr)ZsH


















	&r))4Ú
contextlibZoslo_configrZoslo_dbrZdb_excZoslo_logrZloggingZoslo_serializationrZ
oslo_utilsrrZ
sqlalchemyrZsqlalchemy.sqlr	r
ZdmapirZdmapi.db.sqlalchemyrZdb_apir
Z
dmapi.i18nrrZ
dmapi.objectsrrrrFZ	getLoggerrWrIrZ$_INSTANCE_OPTIONAL_NON_COLUMN_FIELDSr Z_MIGRATION_CONTEXT_ATTRSrOZINSTANCE_DEFAULT_FIELDSZ
MAX_TAG_COUNTr(ÚobjectZ_NO_DATA_SENTINELZContegoObjectRegistryÚregisterZContegoPersistentObjectZ
ContegoObjectZContegoObjectDictCompatr)rrrrÚ<module>sR