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    
Size: Mime:
ó
±EYc@sèdZddlmZddlmZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZmZddlmZddlmZddlmZdd	lmZmZmZmZmZdd
lmZejZeƒZd„Zdejej fd
„ƒYZ!dee!ej"fd„ƒYZ#dee!ej"fd„ƒYZ$dee!ej"fd„ƒYZ%dee!ej"fd„ƒYZ&dee!ej"fd„ƒYZ'dee!ej"fd„ƒYZ(dee!ej"fd„ƒYZ)dee!ej"fd„ƒYZ*dee!ej"fd„ƒYZ+d ee!ej"fd!„ƒYZ,d"ee!ej"fd#„ƒYZ-d$ee!ej"fd%„ƒYZ.d&ee!ej"fd'„ƒYZ/d(ee!ej"fd)„ƒYZ0d*ee!ej"fd+„ƒYZ1d,ee!ej"fd-„ƒYZ2d.ee!ej"fd/„ƒYZ3d0ee!ej"fd1„ƒYZ4d2ee!ej"fd3„ƒYZ5d4ee!ej"fd5„ƒYZ6d6ee!ej"fd7„ƒYZ7d8ee!ej"fd9„ƒYZ8d:ee!ej"fd;„ƒYZ9d<ee!ej"fd=„ƒYZ:d>ee!ej"fd?„ƒYZ;d@ee!ej"fdA„ƒYZ<dBee!ej"fdC„ƒYZ=dDee!ej"fdE„ƒYZ>dFee!ej"fdG„ƒYZ?dHee!ej"fdI„ƒYZ@dJee!ej"fdK„ƒYZAdLee!ej"fdM„ƒYZBdNee!ej"fdO„ƒYZCdPee!ej"fdQ„ƒYZDdRee!ej"fdS„ƒYZEdTee!ej"fdU„ƒYZFdVee!ej"fdW„ƒYZGdXee!ej"fdY„ƒYZHdZee!ej"fd[„ƒYZId\ee!ej"fd]„ƒYZJd^ee!ej"fd_„ƒYZKd`ee!ej"fda„ƒYZLdbee!ej"fdc„ƒYZMddee!ej"fde„ƒYZNdfee!ej"fdg„ƒYZOdhee!ej"fdi„ƒYZPdjee!ej"fdk„ƒYZQdlee!ej"fdm„ƒYZRdnee!ej"fdo„ƒYZSdpee!ej"fdq„ƒYZTdree!ej"fds„ƒYZUdteej fdu„ƒYZVdveej fdw„ƒYZWdxeej fdy„ƒYZXdzeej fd{„ƒYZYd|eej fd}„ƒYZZd~ee!fd„ƒYZ[d€S(s"
SQLAlchemy models for nova data.
iÿÿÿÿ(tcfg(tmodels(t	timeutils(tColumntIndextIntegert
BigIntegertEnumtStringtschematUnicode(t
MEDIUMTEXT(tdeclarative_base(torm(t
ForeignKeytDateTimetBooleantTexttFloat(ttypescCstƒjtƒdƒS(Ntmysql(Rtwith_variantR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyt
MediumText&stNovaBasecBseZdZd„ZRS(cCs2tjƒ}|j|dtƒ}|j|ƒ|S(s\Implement a safe copy.copy().

        SQLAlchemy-mapped objects travel with an object
        called an InstanceState, which is pegged to that object
        specifically and tracks everything about that object.  It's
        critical within all attribute operations, including gets
        and deferred loading.   This object definitely cannot be
        shared among two instances, and must be handled.

        The copy routine here makes use of session.merge() which
        already essentially implements a "copy" style of operation,
        which produces a new instance with a new InstanceState and copies
        all the data along mapped attributes without using any SQL.

        The mode we are using here has the caveat that the given object
        must be "clean", e.g. that it has no database-loaded state
        that has been updated and not flushed.   This is a good thing,
        as creating a copy of an object including non-flushed, pending
        database state is probably not a good idea; neither represents
        what the actual row looks like, and only one should be flushed.

        tload(R
tSessiontmergetFalsetexpunge(tselftsessiontcopy((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyt__copy__.s
N(t__name__t
__module__tNonetmetadataR (((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR*stServicecBs%eZdZdZejdddddƒejdddddƒfZeed	e	ƒZ
eed
ƒƒZeed
ƒƒZ
eed
ƒƒZeededd
ƒZeedeƒZeed
ƒƒZeede	ƒZeedeƒZeedd
ƒZejddddddeƒZRS(s'Represents a running service on a host.tservicesthostttopictdeletedtnamet uniq_services0host0topic0deletedtbinaryt!uniq_services0host0binary0deletedtprimary_keyiÿtnullabletdefaultitInstancetbackreftprimaryjoinsZand_(Service.host == Instance.host,Service.binary == "nova-compute",Instance.deleted == 0)tforeign_keys(R!R"t__doc__t
__tablename__R	tUniqueConstraintt__table_args__RRtTruetidRR'R,R(Rtreport_countRtdisabledtdisabled_reasonRtlast_seen_uptforced_downtversionR
trelationshiptinstance(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR%Ls*tComputeNodecBseZdZdZejdddddƒfZeede	ƒZ
eede	ƒZeed	ƒde	ƒZ
eed
ƒde	ƒZeedeƒZeedeƒZeedeƒZeedeƒZeedeƒZeedeƒZeeƒdeƒZeedeƒZeed	ƒƒZeeƒZeeƒZeeƒZeeƒZeeƒdeƒZeeƒZee j!ƒƒZ"ee#ƒZ$ee#ƒZ%ee#ƒZ&ee#ƒZ'ee#ddƒZ(ee#ƒZ)ee*de	ƒZ+ee*de	ƒZ,ee*de	ƒZ-RS(
s/Represents a running compute service on a host.t
compute_nodesR'thypervisor_hostnameR)R*t3uniq_compute_nodes0host0hypervisor_hostname0deletedR.R/iÿi$R0s{}(.R!R"R5R6R	R7R8RRR9R:t
service_idRR'tuuidRtvcpust	memory_mbtlocal_gbt
vcpus_usedtmemory_mb_usedt
local_gb_usedRthypervisor_typethypervisor_versionREtfree_ram_mbtfree_disk_gbtcurrent_workloadtrunning_vmstcpu_infotdisk_available_leastRt	IPAddressthost_ipRtsupported_instancestmetricst	pci_statstextra_resourceststatst
numa_topologyRtram_allocation_ratiotcpu_allocation_ratiotdisk_allocation_ratio(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRClsDtCertificatecBs€eZdZdZedddƒedddƒfZeedeƒZ	ee
dƒƒZee
dƒƒZee
dƒƒZ
RS(	sRepresents a x509 certificate.tcertificatest#certificates_project_id_deleted_idxt
project_idR)t certificates_user_id_deleted_idxtuser_idR.iÿ(R!R"R5R6RR8RRR9R:RRgRet	file_name(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRb¶sR1c
BsþeZdZdZedddeƒedddƒeddƒed	d
dƒedddƒed
ddƒeddddƒeddddƒedddƒejdddƒf
ZgZ	e
ededeƒZe
d„ƒZe
d„ƒZe
edƒƒZe
edƒƒZe
edƒƒZe
edƒƒZe
edƒƒZe
edƒƒZe
eƒZe
edƒƒZe
eƒƒZe
eƒZe
edƒƒZe
edƒƒZe
eƒZe
eƒZe
eƒZ e
eƒZ!e
edƒƒZ"e
edƒƒZ#e
edƒƒZ$e
eƒZ%e
eƒƒZ&e
edƒƒZ'e
e(ƒZ)e
e(ƒZ*e
edƒƒZ+e
edƒƒZ,e
edƒƒZ-e
eƒƒZ.e
e/ƒZ0e
e1dd ƒƒZ2e
edƒƒZ3e
edƒƒZ4e
edƒƒZ5e
edƒd!e6ƒZ7e
edƒƒZ8e
edƒƒZ9e
edƒƒZ:e
edƒƒZ;e
e<j=ƒƒZ>e
e<j=ƒƒZ?e
e/ƒƒZ@e
eƒZAe
e/ƒd"e6ƒZBe
e/ƒd"e6ƒZCe
edƒƒZDe
eƒZEe
ed"d#ƒZFRS($sRepresents a guest VM.t	instancesRHtuniquet instances_project_id_deleted_idxReR)tinstances_reservation_id_idxtreservation_idt'instances_terminated_at_launched_at_idxt
terminated_attlaunched_attinstances_uuid_deleted_idxt#instances_task_state_updated_at_idxt
task_statet
updated_attinstances_host_node_deleted_idxR'tnodet"instances_host_deleted_cleaned_idxtcleanedt instances_deleted_created_at_idxt
created_atR*tuniq_instances0uuidR.t
autoincrementcCs¬ytj|j}Wn‘tk
r§i}xIttj|ƒjƒD]/}|j}|dkrdqCn||||<qCWytj|}Wq¨t	k
r£|j
}q¨XnX|S(NR*(tCONFtinstance_name_templateR:t	TypeErrortiterR
t
object_mappertcolumnsR*tKeyErrorRH(Rt	base_nametinfotcolumntkey((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR*ßs
	
cCsdgS(NR*((R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyt_extra_keysõsiÿi$townertadminR/R0i(GR!R"R5R6RR9R	R7R8tinjected_filesRRR:tpropertyR*RˆRRgRet	image_reft	kernel_idt
ramdisk_idthostnametlaunch_indextkey_nameRtkey_datatpower_statetvm_stateRsRJRItroot_gbtephemeral_gbtephemeral_key_uuidR'Rvtinstance_type_idt	user_dataRmRRpRotavailability_zonetdisplay_nametdisplay_descriptiontlaunched_onRtlockedRt	locked_bytos_typetarchitecturetvm_modeRRHtroot_device_nametdefault_ephemeral_devicetdefault_swap_devicetconfig_driveRRWtaccess_ip_v4taccess_ip_v6tauto_disk_configtprogresstshutdown_terminatetdisable_terminatet	cell_nametinternal_idRx(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR1ÄsŽ					tInstanceInfoCachec	Bs­eZdZdZejdddƒfZeede	de	ƒZ
eeƒƒZee
dƒedƒd	eƒZejed
ejddeƒd
edeejkƒZRS(s8Represents a cache of information about an instance
    tinstance_info_cachest
instance_uuidR*t'uniq_instance_info_caches0instance_uuidR.R|i$sinstances.uuidR/R2t
info_cachetuselistR4R3(R!R"R5R6R	R7R8RRR9R:Rtnetwork_infoRRRR²R
RAR1R2RHRB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR°Zs	t
InstanceExtrac	Bs%eZdZeddƒfZeededeƒZee	dƒe
dƒdeƒZe
jeeƒƒZe
jeeƒƒZe
jeeƒƒZe
jeeƒƒZe
jeeƒƒZe
jeeƒƒZe
jeeƒƒZe
jede
jd	d
eƒdedeejkƒZRS(
tinstance_extratinstance_extra_idxR²R.R|i$sinstances.uuidR/R2textraRµR4R3(R!R"R6RR8RRR9R:RRRR²R
tdeferredRtdevice_metadataR^tpci_requeststflavort
vcpu_modeltmigration_contexttkeypairsRAR1R2RHRB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR·os"		t
InstanceTypescBseZdZdZejddddƒejddddƒfZeede	ƒZ
eedƒƒZeed	e
ƒZeed	e
ƒZeeƒZeeƒZeedƒƒZeed	e
d
dƒZeed
dƒZeeƒZeed
e
ƒZeed
e	ƒZRS(
s²Represents possible flavors for instances.

    Note: instance_type and flavor are synonyms and the term instance_type is
    deprecated and in the process of being removed.
    tinstance_typestflavoridR)R*t$uniq_instance_types0flavorid0deletedt uniq_instance_types0name0deletedR.iÿR/R0ii(R!R"R5R6R	R7R8RRR9R:RR*RRJRIR–R—RÄtswapRtrxtx_factortvcpu_weightRR<t	is_public(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR†s$tQuotacBszeZdZdZejdddddƒfZeede	ƒZ
eedƒƒZeedƒd	e
ƒZeeƒZRS(
sjRepresents a single quota override for a project.

    If there is no row for a given project id and resource, then the
    default for the quota class is used.  If there is no row for a
    given quota class and resource, then the default for the
    deployment is used. If the row is present but the hard limit is
    Null, then the resource is unlimited.
    tquotasRetresourceR)R*t'uniq_quotas0project_id0resource0deletedR.iÿR/(R!R"R5R6R	R7R8RRR9R:RReRRÍt
hard_limit(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRË¥stProjectUserQuotacBsÅeZdZdZdZejdddddeƒedddƒed	ddƒfZe	e
d
edeƒZ
e	edƒdeƒZe	edƒdeƒZe	edƒdeƒZe	e
ƒZRS(
s@Represents a single quota override for a user with in a project.tproject_user_quotast<uniq_project_user_quotas0user_id0project_id0resource0deletedRgReRÍR)R*t*project_user_quotas_project_id_deleted_idxt'project_user_quotas_user_id_deleted_idxR.R/iÿ(R!R"R5R6t	uniq_nameR	R7RR8RRR9RR:RReRgRÍRÏ(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRнs	t
QuotaClasscBsheZdZdZeddƒfZeedeƒZ	ee
dƒƒZee
dƒƒZeeƒZ
RS(sRepresents a single quota override for a quota class.

    If there is no row for a given quota class and resource, then the
    default for the deployment is used.  If the row is present but the
    hard limit is Null, then the resource is unlimited.
    t
quota_classestix_quota_classes_class_namet
class_nameR.iÿ(R!R"R5R6RR8RRR9R:RRÙRÍRÏ(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRÖÓst
QuotaUsagecBsÂeZdZdZeddƒedddƒfZeedeƒZ	ee
dƒƒZee
dƒƒZee
dƒd	e
ƒZeed	e
ƒZeed	e
ƒZed
„ƒZeeƒZRS(s2Represents the current usage for a given resource.tquota_usagestix_quota_usages_project_idRetix_quota_usages_user_id_deletedRgR)R.iÿR/cCs|j|jS(N(tin_usetreserved(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyttotaløs(R!R"R5R6RR8RRR9R:RReRgRRÍRÞRßRŒRàt
until_refresh(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRÚçstReservationcBs
eZdZdZeddƒeddƒedddƒed	d
dƒfZeedede	ƒZ
eed
ƒde	ƒZeee
dƒde	ƒZeedƒƒZeedƒƒZeedƒƒZeede	ƒZeeƒZejddeddƒZRS(s-Represents a resource reservation for quotas.treservationstix_reservations_project_idRetreservations_uuid_idxRHtreservations_deleted_expire_idxR)texpiretix_reservations_user_id_deletedRgR.R/i$squota_usages.idiÿRÚR4R3sCand_(Reservation.usage_id == QuotaUsage.id,QuotaUsage.deleted == 0)(R!R"R5R6RR8RRR9RR:RRHRtusage_idReRgRÍtdeltaRRçR
RAtusage(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRâÿs$tSnapshotcBs
eZdZdZd
ZeedƒdedeƒZ	eedƒddƒZ
ed„ƒZed„ƒZ
eed	ƒƒZeed	ƒƒZeedƒdeƒZeed	ƒƒZeed	ƒƒZeeƒZeeƒZeed	ƒƒZeed	ƒƒZRS(s?Represents a block storage device that can be attached to a VM.t	snapshotsi$R.R/R0tcCstj|jS(N(R}tsnapshot_name_templateR:(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR*#scCstj|jS(N(R}tvolume_name_templatet	volume_id(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pytvolume_name'siÿ((R!R"R5R6R8RRR9RR:R)RŒR*RòRgReRñtstatusR«Rtvolume_sizeRtscheduled_atRœR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRìs tBlockDeviceMappingcBs²eZdZdZeddƒeddƒedddƒedddƒeddƒfZeed	ed
eƒZ	ee
dƒedƒƒZe
jed
e
jdƒdeddƒZee
dƒƒZee
dƒƒZee
dƒƒZee
dƒƒZee
dƒƒZeeƒZee
dƒƒZeedeƒZee
dƒƒZee
dƒƒZeeƒZee
dƒƒZeeƒZ ee!ƒƒZ"ee
dƒƒZ#RS(s7Represents block device mapping that is defined by EC2.tblock_device_mappingtsnapshot_idRñt2block_device_mapping_instance_uuid_device_name_idxR²tdevice_namet0block_device_mapping_instance_uuid_volume_id_idxt&block_device_mapping_instance_uuid_idxR.R|i$sinstances.uuidR2R4R3sSand_(BlockDeviceMapping.instance_uuid==Instance.uuid,BlockDeviceMapping.deleted==0)iÿR0($R!R"R5R6RR8RRR9R:RRR²R
RAR1R2RBtsource_typetdestination_typetguest_formattdevice_typetdisk_bust
boot_indexRúRRtdelete_on_terminationRøRñRôtimage_idt	no_deviceRtconnection_infottag(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRö8s<			t SecurityGroupInstanceAssociationcBsheZdZeddƒfZeededeƒZ	eee
dƒƒZeedƒe
dƒƒZ
RS(t#security_group_instance_associationt5security_group_instance_association_instance_uuid_idxR²R.R/ssecurity_groups.idi$sinstances.uuid(R!R"R6RR8RRR9RR:Rtsecurity_group_idRR²(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRpst
SecurityGroupc
Bs³eZdZdZejdddddƒfZeede	ƒZ
eedƒƒZeedƒƒZ
eedƒƒZeedƒƒZejedd	d
ddd
ddƒZRS(sRepresents a security group.tsecurity_groupsReR*R)t,uniq_security_groups0project_id0name0deletedR.iÿt	secondaryR	R3s•and_(SecurityGroup.id == SecurityGroupInstanceAssociation.security_group_id,SecurityGroupInstanceAssociation.deleted == 0,SecurityGroup.deleted == 0)t
secondaryjoins[and_(SecurityGroupInstanceAssociation.instance_uuid == Instance.uuid,Instance.deleted == 0)R2(R!R"R5R6R	R7R8RRR9R:RR*tdescriptionRgReR
RAR1Ri(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR{stSecurityGroupIngressRulecBsÎeZdZdZdZeedeƒZeee	dƒƒZ
ejdddde
dd	ƒZ
eed
ƒƒZeeƒZeeƒZeejƒƒZeee	dƒƒZejddeddƒZRS(
s&Represents a rule in a security group.tsecurity_group_rulesR.ssecurity_groups.idRR2trulesR4R3shand_(SecurityGroupIngressRule.parent_group_id == SecurityGroup.id,SecurityGroupIngressRule.deleted == 0)iÿsaand_(SecurityGroupIngressRule.group_id == SecurityGroup.id,SecurityGroupIngressRule.deleted == 0)((R!R"R5R6R8RRR9R:Rtparent_group_idR
RAtparent_groupRtprotocolt	from_porttto_portRtCIDRtcidrtgroup_idt
grantee_group(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRšs 	tSecurityGroupIngressDefaultRulecBsheZdZdZeededeƒZee	dƒƒZ
eeƒZeeƒZee
jƒƒZRS(tsecurity_group_default_rulesR.R/i((R!R"R6R8RRR9RR:RRRRRRR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR¶stProviderFirewallRulecBsneZdZdZdZeededeƒZ	ee
dƒƒZeeƒZeeƒZ
eejƒƒZRS(s&Represents a rule in a security group.tprovider_fw_rulesR.R/i((R!R"R5R6R8RRR9RR:RRRRRRR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR ÀstKeyPaircBs¼eZdZdZejdddddƒfZeede	de
ƒZeedƒde
ƒZ
eedƒƒZeedƒƒZeeƒƒZeed	d
ddƒde
dd	ƒZRS(
s-Represents a public key pair for ssh / WinRM.t	key_pairsRgR*R)t#uniq_key_pairs0user_id0name0deletedR.R/iÿtsshtx509t
keypair_typestserver_default(R!R"R5R6R	R7R8RRR9RR:RR*RgtfingerprintRt
public_keyRttype(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR"Îst	Migrationc	Bs¾eZdZdZeddddƒeddddd	d
dƒfZeedede	ƒZ
eed
ƒƒZeed
ƒƒZ
eed
ƒƒZeed
ƒƒZeed
ƒƒZeeƒƒZeeƒƒZeedƒedƒƒZeed
ƒƒZeeddddƒdeƒZeede	ƒZeedeƒZeedeƒZeedeƒZeedeƒZeedeƒZeedeƒZ e!j"ddeddƒZ#RS(s,Represents a running host-to-host migration.t
migrationst'migrations_instance_uuid_and_status_idxR)R²Rót'migrations_by_host_nodes_and_status_idxtsource_computetdest_computetsource_nodet	dest_nodeR.R/iÿi$sinstances.uuidt	migrationtresizeslive-migrationt
evacuationR0R1R4R3sEand_(Migration.instance_uuid == Instance.uuid, Instance.deleted == 0)($R!R"R5R6RR8RRR9RR:RR0R1R2R3t	dest_hosttold_instance_type_idtnew_instance_type_idRR²RóRtmigration_typeRthiddenRtmemory_totaltmemory_processedtmemory_remainingt
disk_totaltdisk_processedtdisk_remainingR
RARB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR,ás:					tNetworkc	BsxeZdZdZejddddƒedddƒedd	ƒed
ddƒedd
ddƒedddƒeddƒfZee	de
deƒZee
dƒƒZeedeƒZeejƒƒZeejƒƒZeedeƒZeejƒƒZeejƒƒZeejƒƒZee
dƒƒZee
dƒƒZeejƒƒZeejƒƒZeejƒƒZeejƒƒZee	ƒZ eejƒƒZ!ee	ƒZ"eejƒƒZ#eejƒƒZ$ee	ƒZ%ee
dƒƒZ&ee	ƒZ'ee
dƒƒZ(ee
dƒƒZ)ee	ƒZ*eejƒƒZ+eede
ƒZ,eedeƒZ-RS(sRepresents a network.tnetworkstvlanR)R*tuniq_networks0vlan0deletedtnetworks_bridge_deleted_idxtbridgetnetworks_host_idxR'tnetworks_project_id_deleted_idxRet$networks_uuid_project_id_deleted_idxRHtnetworks_vlan_deleted_idxtnetworks_cidr_v6_idxtcidr_v6R.R/iÿR0i$(.R!R"R5R6R	R7RR8RRR9RR:RtlabelRtinjectedRRRRMt
multi_hostRWt
gateway_v6t
netmask_v6tnetmaskRGtbridge_interfacetgatewayt	broadcasttdns1tdns2RDtvpn_public_addresstvpn_public_porttvpn_private_addresst
dhcp_startt	rxtx_baseRetpriorityR'RHtmtutdhcp_servertenable_dhcpt
share_address(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRB
sP		tVirtualInterfacecBsÈeZdZdZejddddƒeddƒedd	ƒed
dƒfZee	de
d
eƒZee
dƒƒZee	ƒZee
dƒedƒƒZee
dƒƒZee
dƒƒZRS(s.Represents a virtual interface on an instance.tvirtual_interfacestaddressR)R*t'uniq_virtual_interfaces0address0deletedt!virtual_interfaces_network_id_idxt
network_idt%virtual_interfaces_instance_uuid_fkeyR²tvirtual_interfaces_uuid_idxRHR.R/iÿi$sinstances.uuid(R!R"R5R6R	R7RR8RRR9RR:RReRhRR²RHR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRc>stFixedIpcBsÄeZdZdZejddddƒeddƒeddƒeddƒed	d
ƒeddƒed
dddƒedddddƒeddddƒeddddƒf
Zee	de
ƒZeej
ƒƒZee	ƒZee	ƒZeedƒedƒƒZeedeƒZeedeƒZeedeƒZeedƒƒZejedejdƒdeddƒZejededdƒZ eje!dejdƒdeddƒZ"RS(s&Represents a fixed IP for an instance.t	fixed_ipsReR)R*tuniq_fixed_ips0address0deletedt#fixed_ips_virtual_interface_id_fkeytvirtual_interface_idRhtfixed_ips_instance_uuid_fkeyR²tfixed_ips_host_idxR't%fixed_ips_network_id_host_deleted_idxt1fixed_ips_address_reserved_network_id_deleted_idxRßtfixed_ips_deleted_allocated_idxt	allocatedt*fixed_ips_deleted_allocated_updated_at_idxRtR.i$sinstances.uuidR0iÿR2R4R3sPand_(FixedIp.network_id == Network.id,FixedIp.deleted == 0,Network.deleted == 0)sWand_(FixedIp.instance_uuid == Instance.uuid,FixedIp.deleted == 0,Instance.deleted == 0)sland_(FixedIp.virtual_interface_id == VirtualInterface.id,FixedIp.deleted == 0,VirtualInterface.deleted == 0)(#R!R"R5R6R	R7RR8RRR9R:RRWReRhRoRRR²RRRutleasedRßR'R
RARBR2tnetworkR1RBRctvirtual_interface(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRkQsJ			t
FloatingIpc
BseZdZdZejddddƒeddƒeddƒed	d
ƒeddddd
ƒfZee	d
e
ƒZeej
ƒƒZee	ƒZeedƒƒZeedƒƒZeedeƒZeedƒƒZeedƒƒZejedejdƒdeddƒZRS(sARepresents a floating IP that dynamically forwards to a fixed IP.tfloating_ipsReR)R*t!uniq_floating_ips0address0deletedtfixed_ip_idtfloating_ips_host_idxR'tfloating_ips_project_id_idxRet4floating_ips_pool_deleted_fixed_ip_id_project_id_idxtpoolR.iÿR0R2R4R3sWand_(FloatingIp.fixed_ip_id == FixedIp.id,FloatingIp.deleted == 0,FixedIp.deleted == 0)(R!R"R5R6R	R7RR8RRR9R:RRWReR}RReR'RRt
auto_assignedRt	interfaceR
RARkR2tfixed_ip(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRz‹s*t	DNSDomaincBs•eZdZdZeddƒedddƒfZeedeƒZ	ee
dƒd	eƒZee
dƒƒZ
ee
dƒƒZee
dƒƒZRS(
s?Represents a DNS domain with availability zone or project info.tdns_domainstdns_domains_project_id_idxRetdns_domains_domain_deleted_idxtdomainR)R0iÿR.(R!R"R5R6RR8RRRR)RR9R‰tscopeR›Re(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR…©stConsolePoolcBsÅeZdZdZejddddddƒfZeede	ƒZ
eejƒƒZ
eed	ƒƒZeed	ƒƒZeed	ƒƒZeed	ƒƒZeed	ƒƒZeed	ƒƒZRS(
s6Represents pool of consoles on the same physical node.t
console_poolsR'tconsole_typetcompute_hostR)R*t9uniq_console_pools0host0console_type0compute_host0deletedR.iÿ(R!R"R5R6R	R7R8RRR9R:RRWReRtusernametpasswordRtpublic_hostnameR'RŽ(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR‹·stConsolecBs¶eZdZdZeddƒfZeedeƒZ	ee
dƒƒZee
dƒedƒƒZ
ee
dƒƒZeeƒZeeedƒƒZejed	ejdƒƒZRS(
s-Represents a console session for an instance.tconsolestconsoles_instance_uuid_idxR²R.iÿi$sinstances.uuidsconsole_pools.idR2(R!R"R5R6RR8RRR9R:Rt
instance_nameRR²R‘tporttpool_idR
RAR‹R2R(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR“ÉstInstanceMetadatacBs˜eZdZdZeddƒfZeedeƒZ	ee
dƒƒZee
dƒƒZee
dƒe
dƒƒZejedd	d
eddƒZRS(
sCRepresents a user-provided metadata key/value pair for an instance.tinstance_metadatat#instance_metadata_instance_uuid_idxR²R.iÿi$sinstances.uuidR2R$R4R3sSand_(InstanceMetadata.instance_uuid == Instance.uuid,InstanceMetadata.deleted == 0)(R!R"R5R6RR8RRR9R:RR‡tvalueRR²R
RAR1RB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR™ØstInstanceSystemMetadatacBsžeZdZdZeddƒfZeedeƒZ	ee
dƒdeƒZee
dƒƒZ
ee
dƒedƒdeƒZejedd	d
eƒZRS(sBRepresents a system-owned metadata key/value pair for an instance.tinstance_system_metadataR²R.iÿR/i$sinstances.uuidR2tsystem_metadataR4(R!R"R5R6RR8RRR9R:RRR‡RœRR²R
RAR1RB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRês	tInstanceTypeProjectscBs’eZdZdZejdddddƒfZeede	ƒZ
eeedƒd	eƒZ
eed
ƒƒZejeddd
e
ddƒZRS(s-Represent projects associated instance_types.tinstance_type_projectsR™ReR)R*t?uniq_instance_type_projects0instance_type_id0project_id0deletedR.sinstance_types.idR/iÿR2tprojectsR4R3saand_(InstanceTypeProjects.instance_type_id == InstanceTypes.id,InstanceTypeProjects.deleted == 0)(R!R"R5R6R	R7R8RRR9R:RRR™RReR
RARÂt
instance_type(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR ýs	tInstanceTypeExtraSpecscBs½eZdZdZedddƒejdddddƒidd	6fZee	d
e
ƒZeedƒƒZ
eedƒƒZee	edƒd
eƒZejedddeddƒZRS(sDRepresents additional specs as key/value pairs for an instance_type.tinstance_type_extra_specst2instance_type_extra_specs_instance_type_id_key_idxR™R‡R)R*t;uniq_instance_type_extra_specs0instance_type_id0key0deletedtutf8_bint
mysql_collateR.iÿsinstance_types.idR/R2textra_specsR4R3seand_(InstanceTypeExtraSpecs.instance_type_id == InstanceTypes.id,InstanceTypeExtraSpecs.deleted == 0)(R!R"R5R6RR	R7R8RRR9R:RR‡RœRRR™R
RARÂR¤(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR¥s 		tCellcBs¶eZdZdZejddddƒfZeede	ƒZ
eedƒƒZeedƒƒZ
eedƒdeƒZeeƒdd	ƒZeeƒdd
ƒZeeƒƒZRS(s°Represents parent and child cells of this cell.  Cells can
    have multiple parents and children, so there could be any number
    of entries with is_parent=True or False
    tcellsR*R)tuniq_cells0name0deletedR.iÿR/R0ggð?(R!R"R5R6R	R7R8RRR9R:RR*tapi_urlRt
transport_urlRt
weight_offsettweight_scaleRt	is_parent(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR¬,st
AggregateHostcBsweZdZdZejdddddƒfZeede	de	ƒZ
eed	ƒƒZeee
d
ƒdeƒZRS(s1Represents a host that is member of an aggregate.taggregate_hostsR'taggregate_idR)R*t.uniq_aggregate_hosts0host0aggregate_id0deletedR.R|iÿs
aggregates.idR/(R!R"R5R6R	R7R8RRR9R:RR'RRR¶(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR´DstAggregateMetadatacBs›eZdZdZejdddddƒeddƒfZee	de
ƒZeed	ƒd
e
ƒZeed	ƒd
e
ƒZee	edƒd
e
ƒZRS(s6Represents a metadata key/value pair for an aggregate.taggregate_metadataR¶R‡R)R*t0uniq_aggregate_metadata0aggregate_id0key0deletedtaggregate_metadata_key_idxR.iÿR/s
aggregates.id(R!R"R5R6R	R7RR8RRR9R:RRR‡RœRR¶(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR¸Sst	AggregatecBsÈeZdZdZeddƒfZeededeƒZ	ee
dƒƒZee
dƒƒZe
jedd	ƒZe
jedd
ƒZed„ƒZed„ƒZed
„ƒZed„ƒZRS(s7Represents a cluster of hosts that exists in this zone.t
aggregatestaggregate_uuid_idxRHR.R|i$iÿR3sband_(Aggregate.id == AggregateHost.aggregate_id,AggregateHost.deleted == 0,Aggregate.deleted == 0)sjand_(Aggregate.id == AggregateMetadata.aggregate_id,AggregateMetadata.deleted == 0,Aggregate.deleted == 0)cCs
dddgS(NthoststmetadetailsR›((R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRˆwscCsg|jD]}|j^q
S(N(t_hostsR'(Rth((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR¿{scCsd„|jDƒS(NcSsi|]}|j|j“qS((RœR‡(t.0tm((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pys
<dictcomp>s	(t	_metadata(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRÀscCsd|jkrdS|jdS(NR›(RÀR#(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR›ƒs(R!R"R5R6RR8RRR9R:RRHR*R
RAR´RÁR¸RÅRŒRˆR¿RÀR›(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR¼ds		t
AgentBuildcBsÅeZdZdZeddddƒejddddddƒfZee	d	e
ƒZeed
ƒƒZ
eed
ƒƒZeed
ƒƒZeed
ƒƒZeed
ƒƒZeed
ƒƒZRS(sRepresents an agent build.tagent_buildst#agent_builds_hypervisor_os_arch_idxt
hypervisortosR¢R)R*t4uniq_agent_builds0hypervisor0os0architecture0deletedR.iÿ(R!R"R5R6RR	R7R8RRR9R:RRÉRÊR¢R@turltmd5hash(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRÆŠstBandwidthUsagecBs³eZdZdZedddƒfZeedede	ƒZ
eedƒƒZeedƒƒZ
eede	ƒZeeƒZeeƒZeeƒZeeƒZeeƒZRS(	sCCache for instance bandwidth usage data pulled from the hypervisor.tbw_usage_cachet$bw_usage_cache_uuid_start_period_idxRHtstart_periodR.R/i$iÿ(R!R"R5R6RR8RRR9RR:RRHtmacRRÑtlast_refreshedRtbw_intbw_outtlast_ctr_intlast_ctr_out(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRΜs	tVolumeUsagecBs:eZdZdZd	ZeededeƒZ	ee
dƒdeƒZee
dƒƒZee
dƒƒZ
ee
dƒƒZee
dƒƒZeeƒZeeddƒZeeddƒZeeddƒZeeddƒZeeƒZeeddƒZeeddƒZeeddƒZeeddƒZRS(
s7Cache for volume usage data pulled from the hypervisor.tvolume_usage_cacheR.R/i$i@iÿR0i((R!R"R5R6R8RRR9RR:RRñR²ReRgR›Rttot_last_refreshedRt	tot_readsttot_read_bytest
tot_writesttot_write_bytestcurr_last_refreshedt
curr_readstcurr_read_bytestcurr_writestcurr_write_bytes(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRØ®s&tS3ImagecBsPeZdZdZdZeedededeƒZ	ee
dƒdeƒZRS(s?Compatibility layer for the S3 image service talking to Glance.t	s3_imagesR.R/R|i$((R!R"R5R6R8RRR9RR:RRH(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRäÄs
tVolumeIdMappingcBsPeZdZdZdZeedededeƒZ	ee
dƒdeƒZRS(s/Compatibility layer for the EC2 volume service.tvolume_id_mappingsR.R/R|i$((R!R"R5R6R8RRR9RR:RRH(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRæÌs
tSnapshotIdMappingcBsPeZdZdZdZeedededeƒZ	ee
dƒdeƒZRS(s1Compatibility layer for the EC2 snapshot service.tsnapshot_id_mappingsR.R/R|i$((R!R"R5R6R8RRR9RR:RRH(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRèÔs
t
InstanceFaultcBs­eZdZeddƒeddddƒfZeededeƒZ	ee
d	ƒed
ƒƒZeeƒdeƒZ
ee
dƒƒZeeƒƒZee
dƒƒZRS(tinstance_faultstinstance_faults_host_idxR't4instance_faults_instance_uuid_deleted_created_at_idxR²R)RzR.R/i$sinstances.uuidiÿ(R!R"R6RR8RRR9RR:RRR²tcodetmessageRtdetailsR'(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRêÜstInstanceActioncBsæeZdZdZeddƒeddƒfZeedede	deƒZ
eed	ƒƒZeed
ƒe
dƒƒZeed	ƒƒZeed	ƒƒZeed	ƒƒZeedejƒZeeƒZeed	ƒƒZRS(
sÉTrack client actions on an instance.

    The intention is that there will only be one of these per user request.  A
    lookup by (instance_uuid, request_id) should always return a single result.
    tinstance_actionstinstance_uuid_idxR²trequest_id_idxt
request_idR.R/R|iÿi$sinstances.uuidR0(R!R"R5R6RR8RRR9RR:RtactionRR²RõRgReRRtutcnowt
start_timetfinish_timeRï(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRñístInstanceActionEventcBs¼eZdZdZdZeedededeƒZ	ee
dƒƒZeeedƒƒZ
eedejƒZeeƒZee
dƒƒZeeƒZee
dƒƒZeeƒZRS(	s1Track events that occur during an InstanceAction.tinstance_actions_eventsR.R/R|iÿsinstance_actions.idR0((R!R"R5R6R8RRR9RR:RteventRt	action_idRRR÷RøRùtresultRt	tracebackR'Rð(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRústInstanceIdMappingcBs\eZdZdZeddƒfZeedede	deƒZ
eedƒde	ƒZRS(s1Compatibility layer for the EC2 instance service.tinstance_id_mappingstix_instance_id_mappings_uuidRHR.R/R|i$(
R!R"R5R6RR8RRR9RR:RRH(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRs
tTaskLogcBs7eZdZdZejddddddƒeddƒed	dƒed
dƒfZee	de
ded
e
ƒZee
dƒdeƒZee
dƒdeƒZee
dƒdeƒZeedejdeƒZeedejdeƒZee
dƒdeƒZee	ƒddƒZee	ƒddƒZRS(s(Audit log for background periodic tasks.ttask_logt	task_nameR'tperiod_beginningt
period_endingR*t;uniq_task_log0task_name0host0period_beginning0period_endingtix_task_log_period_beginningtix_task_log_hosttix_task_log_period_endingR.R/R|iÿR0i(R!R"R5R6R	R7RR8RRR9RR:RRtstateR'RRR÷RRRït
task_itemsterrors(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRs&		tInstanceGroupMembercBskeZdZdZeddƒfZeedede	ƒZ
eedƒƒZeee
dƒde	ƒZRS(s-Represents the members for an instance group.tinstance_group_membert"instance_group_member_instance_idxtinstance_idR.R/iÿsinstance_groups.id(R!R"R5R6RR8RRR9RR:RRRR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR:stInstanceGroupPolicycBskeZdZdZeddƒfZeedede	ƒZ
eedƒƒZeee
dƒde	ƒZRS(s1Represents the policy type for an instance group.tinstance_group_policyt instance_group_policy_policy_idxtpolicyR.R/iÿsinstance_groups.id(R!R"R5R6RR8RRR9RR:RRRR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRHst
InstanceGroupcBsÝeZdZdZejddddƒfZeede	de	ƒZ
eedƒƒZeedƒƒZ
eed	ƒd
eƒZeedƒƒZejeddƒZejedd
ƒZed„ƒZed„ƒZRS(s~Represents an instance group.

    A group will maintain a collection of instances and the relationship
    between them.
    tinstance_groupsRHR)R*t!uniq_instance_groups0uuid0deletedR.R|iÿi$R/R3srand_(InstanceGroup.id == InstanceGroupPolicy.group_id,InstanceGroupPolicy.deleted == 0,InstanceGroup.deleted == 0)srand_(InstanceGroup.id == InstanceGroupMember.group_id,InstanceGroupMember.deleted == 0,InstanceGroup.deleted == 0)cCsg|jD]}|j^q
S(N(t	_policiesR(Rtp((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pytpoliciesqscCsg|jD]}|j^q
S(N(t_membersR(RRÄ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pytmembersus(R!R"R5R6R	R7R8RRR9R:RRgReRRHR*R
RARRRRRŒRR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRVst	PciDevicec	Bs²eZdZdZedddƒedddƒeddddƒejdd	dd
dƒfZee	de
ƒZee	ed
ƒde
ƒZeedƒde
ƒZeedƒde
ƒZeedƒde
ƒZeedƒde
ƒZeedƒƒZeedƒde
ƒZeedƒde
ƒZeedƒde
ƒZeeƒZeedƒƒZee	de
ƒZeedƒde
ƒZejedddeddƒZ RS(sJRepresents a PCI host device that can be passed through to instances.
    tpci_devicest&ix_pci_devices_compute_node_id_deletedtcompute_node_idR)t$ix_pci_devices_instance_uuid_deletedR²t2ix_pci_devices_compute_node_id_parent_addr_deletedtparent_addrReR*t0uniq_pci_devices0compute_node_id0address0deletedR.scompute_nodes.idR/iiiiÿi$R2R4R3sEand_(PciDevice.instance_uuid == Instance.uuid,PciDevice.deleted == 0)(!R!R"R5R6RR	R7R8RRR9R:RRR"RRet	vendor_idt
product_idtdev_typetdev_idRNRóRõRt
extra_infoR²t	numa_nodeR%R
RAR1RB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRzs:			tTagcBsƒeZdZdZeddƒfZeedƒdede	ƒZ
eedƒdede	ƒZe
jdd	dd
dde
ƒZRS(
s"Represents the tag for a resource.ttagsttags_tag_idxRi$R.R/iPR1R2R3s<and_(Tag.resource_id == Instance.uuid,Instance.deleted == 0)R4(R!R"R5R6RR8RRR9Rtresource_idR
RR
RARB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR-­stResourceProvidercBsÂeZdZdZeddƒejdddƒeddƒejdddƒfZee	de
d	eƒZee
d
ƒd	eƒZeedƒd	e
ƒZee	dd
ƒZee	dd
ƒZRS(s1Represents a mapping to a providers of resources.tresource_providerstresource_providers_uuid_idxRHR*tuniq_resource_providers0uuidtresource_providers_name_idxtuniq_resource_providers0nameR.R/i$iÈR0i(R!R"R5R6RR	R7R8RRR9RR:RRHR
R*t
generationtcan_host(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR1Âst	InventorycBseZdZdZeddƒeddƒedddƒejddddƒfZee	d	e
d
eƒZee	d
eƒZ
ee	d
eƒZee	d
eƒZee	d
eƒZee	d
eƒZee	d
eƒZee	d
eƒZeed
eƒZejddd
de
ƒZRS(s,Represents a quantity of available resource.tinventoriest$inventories_resource_provider_id_idxtresource_provider_idt!inventories_resource_class_id_idxtresource_class_idt0inventories_resource_provider_resource_class_idxR*t1uniq_inventories0resource_provider_resource_classR.R/R1R3s;and_(Inventory.resource_provider_id == ResourceProvider.id)R4(R!R"R5R6RR	R7R8RRR9RR:R<R>RàRßtmin_unittmax_unitt	step_sizeRtallocation_ratioR
RAtresource_provider(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyR9Øs.	t
AllocationcBsªeZdZdZeddddƒeddƒeddƒfZeed	ed
e	ƒZ
eed
e	ƒZeedƒd
e	ƒZ
eed
e	ƒZeed
e	ƒZRS(sA use of inventory.tallocationst,allocations_resource_provider_class_used_idxR<R>tusedt!allocations_resource_class_id_idxtallocations_consumer_id_idxtconsumer_idR.R/i$(R!R"R5R6RR8RRR9RR:R<RRLR>RI(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRFùstResourceProviderAggregatecBsVeZdZdZeddƒfZeedede	ƒZ
eedede	ƒZRS(s0Associate a resource provider with an aggregate.tresource_provider_aggregatest-resource_provider_aggregates_aggregate_id_idxR¶R.R/(R!R"R5R6RR8RRR9RR<R¶(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRMstConsoleAuthTokencBs"eZdZdZeddƒedddƒeddƒejdd	d
ƒfZee	de
deƒZee
d
ƒdeƒZee
d
ƒdeƒZee
d
ƒdeƒZee	deƒZee
d
ƒƒZee
dƒdeƒZee	deƒZejddddddeƒZRS(sRepresents a console auth tokentconsole_auth_tokenst%console_auth_tokens_instance_uuid_idxR²t$console_auth_tokens_host_expires_idxR'texpirest"console_auth_tokens_token_hash_idxt
token_hashR*t#uniq_console_auth_tokens0token_hashR.R/iÿi$R1R2R3sKand_(ConsoleAuthToken.instance_uuid == Instance.uuid,Instance.deleted == 0)R4(R!R"R5R6RR	R7R8RRR9RR:RRVRR'R—tinternal_access_pathR²RTR
RARB(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyRPs(N(\R5toslo_configRtoslo_db.sqlalchemyRt
oslo_utilsRt
sqlalchemyRRRRRRR	R
tsqlalchemy.dialects.mysqlRtsqlalchemy.ext.declarativeRR
RRRRRtnova.db.sqlalchemyRR}tBASERtTimestampMixint	ModelBaseRtSoftDeleteMixinR%RCRbR1R°R·RÂRËRÐRÖRÚRâRìRöRRRRR R"R,RBRcRkRzR…R‹R“R™RR R¥R¬R´R¸R¼RÆRÎRØRäRæRèRêRñRúRRRRRRR-R1R9RFRMRP(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/nova/db/sqlalchemy/models.pyt<module>sŽ:(				! J–8
)4:&
$3!