�
��Xc@s�ddlZddlmZmZddlmZddlmZddlm Z ddl
mZddlm
Z
ddlmZdd lmZdd
lmZdeefd��YZdS(
i����N(tArgtMutuallyExclusiveArgList(t
ArgumentError(t
EC2Request(tDescribeConversionTasks(t
S3AccessMixin(tImportManifest(tDeleteObject(t GetObject(tAWSErrortDeleteDiskImagecBsteZdZeedddd�edddd��j�edd d
dd�gZd�Zd
�Zd�Z RS(s+Delete a disk image used for an import tasks-ts--taskthelps'ID of the task to delete the image froms-us--manifest-urlslocation of the import manifests--ignore-active-tasktactiont
store_trues^delete the image even if the import task is active
(only works with -t/--task)cCsOtj|�|j�|jjd�rK|jjd�rKtd��ndS(Ntignore_active_taskttasks<argument --ignore-active-task my only be used with -t/--task(Rt configuretconfigure_s3_accesstargstgetR(tself((sJ/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/deletediskimage.pyR5s
%cCs�|jjd�r"|jd}n|jjd�r�tj|d|jdg�}|j�dd}|jd�r�|d}n|ddd}|d d
}n|jdj|�\}}}dj||f�}|j|�} x\| jD]Q}
t j|d
|jdd|jdddj||
j
f��}|j�q�Wt j|d
|jdd|jdd|�}|j�dS(Ntmanifest_urlRtConversionTaskIdtconversionTasksitimportVolumetimportInstancetvolumestimagetimportManifestUrlt
s3_servicet/tservicetauthts3_authtpath(RRRt
from_othertmaintresolve_url_to_locationtjoint#_DeleteDiskImage__download_manifesttimage_partsRtkey(RRt desc_convRt
vol_containert_tbucketR)tmanifest_s3pathtmanifesttpartt
delete_req((sJ/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/deletediskimage.pyR$<s.
( cCs�tjdd���}tj|d|jdd|jdd|d|d t�}y|j�Wn=tk
r�}|jd
kr�t dj
|���n�nX|jd�tj
|�SWdQXdS(
Ntmax_sizei�RRR R!tsourcetdestt
show_progressi�s$import manifest "{0}" does not existi(ttempfiletSpooledTemporaryFileRR#RtFalseR$R tstatus_codeRtformattseekRtread_from_fileobj(Rts3pathtmanifest_destfiletget_reqterr((sJ/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/deletediskimage.pyt__download_manifestXs
(
t__name__t
__module__tDESCRIPTIONRRtrequiredtARGSRR$R'(((sJ/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/deletediskimage.pyR
)s (R6trequestbuilderRRtrequestbuilder.exceptionsRteuca2ools.commands.ec2Rt.euca2ools.commands.ec2.describeconversiontasksRteuca2ools.commands.ec2.mixinsRt!euca2ools.commands.ec2.structuresRt"euca2ools.commands.s3.deleteobjectRteuca2ools.commands.s3.getobjectRteuca2ools.exceptionsR R
(((sJ/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/deletediskimage.pyt<module>s |