ó FRTc@sVdZddlmZddlmZdefd„ƒYZdefd„ƒYZdS( s0 Represents an EC2 Elastic Block Store Snapshot i’’’’(tTaggedEC2Object(tZonetSnapshotcBs”eZdZd d„Zd„Zd„Zd„Zeed„Z ed„Z ed„Z d d ed„Z d d ed „Z ed „Zd d d ed „ZRS( tcreateVolumePermissioncCsttt|ƒj|ƒd|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ dS(N(tsuperRt__init__tNonetidt volume_idtstatustprogresst start_timetowner_idt owner_aliast volume_sizet descriptiont encrypted(tselft connection((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyR!s         cCs d|jS(Ns Snapshot:%s(R(R((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyt__repr__.scCs|dkr||_nł|dkr0||_nį|dkrH||_nÉ|dkr`||_n±|dkrx||_n™|dkr||_n|dkrÅyt|ƒ|_Wq||_qXnL|dkrŻ||_n4|d kr|j ƒd k|_ nt |||ƒdS( Nt snapshotIdtvolumeIdR t startTimetownerIdt ownerAliast volumeSizeRRttrue( RRR R R R tintRRtlowerRtsetattr(RtnametvalueR((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyt endElement1s,                cCs|j|_|j|_dS(N(R R (Rtupdated((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyt_updateJs cCsg|jj|jgd|ƒ}t|ƒdkrD|j|dƒn|r`td|jƒ‚n|jS(s³ Update the data associated with this snapshot by querying EC2. :type validate: bool :param validate: By default, if EC2 returns no data about the snapshot the update method returns quietly. If the validate param is True, however, it will raise a ValueError exception if no data is returned from EC2. tdry_runis%s is not a valid Snapshot ID(Rtget_all_snapshotsRtlenR"t ValueErrorR (RtvalidateR#trs((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pytupdateNs cCs|jj|jd|ƒS(NR#(Rtdelete_snapshotR(RR#((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pytdelete`scCs(|jj|j|jd|ƒ}|jS(NR#(Rtget_snapshot_attributeRtAttrNametattrs(RR#R.((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pytget_permissionscs    cCs(|jj|j|jd||d|ƒS(NtaddR#(Rtmodify_snapshot_attributeRR-(Rtuser_idstgroupsR#((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pytshareks cCs(|jj|j|jd||d|ƒS(NtremoveR#(RR1RR-(RR2R3R#((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pytunsharess cCs|jj|j|jd|ƒS(NR#(Rtreset_snapshot_attributeRR-(RR#((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pytreset_permissions{s  c CsFt|tƒr|j}n|jj|||j|||jd|ƒS(sk Create a new EBS Volume from this Snapshot :type zone: string or :class:`boto.ec2.zone.Zone` :param zone: The availability zone in which the Volume will be created. :type size: int :param size: The size of the new volume, in GiB. (optional). Defaults to the size of the snapshot. :type volume_type: string :param volume_type: The type of the volume. (optional). Valid values are: standard | io1. :type iops: int :param iops: The provisioned IOPs you want to associate with this volume. (optional) R#(t isinstanceRRRt create_volumeRR(Rtzonetsizet volume_typetiopsR#((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyR:‚s   N(t__name__t __module__R-RRRR R"tFalseR)R+R/R4R6R8R:(((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyRs       tSnapshotAttributecBs&eZdd„Zd„Zd„ZRS(cCsd|_i|_dS(N(Rt snapshot_idR.(Rtparent((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyR¤s cCsdS(N(R(RRR.R((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyt startElementØscCsĪ|dkrd|_n²|dkr]d|jkrJ|jdj|ƒqŹ|g|jd/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyR «s      N(R?R@RRRER (((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyRB£s  N(t__doc__tboto.ec2.ec2objectRt boto.ec2.zoneRRtobjectRB(((s>/opt/freeware/lib/python2.7/site-packages/boto/ec2/snapshot.pyts