FRTc@sdZddlZddlZddlmZddlmZddlZddlmZddlm Z ddl m Z ddl m Z mZmZdd lmZmZdd lmZmZdd lmZdd lmZdd lmZmZddlmZddlmZddlm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(ddl'm)Z)ddl'm*Z*ddl'm+Z+ddl'm,Z,ddl'm-Z-ddl.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddl8m9Z9dd l:m;Z;dd!l<m=Z=dd"l>m?Z?dd#l@mAZAdd$lBmCZCmDZDdd%lEmFZFmGZGdd&lHmIZIdd'lJmKZKd(e fd)YZLdS(*s- Represents a connection to the EC2 service. iN(tdatetime(t timedelta(tdetect_potential_sigv4(tAWSQueryConnection(t ResultSet(tImagetImageAttributet CopyImage(t ReservationtInstance(t ConsoleOutputtInstanceAttribute(tKeyPair(tAddress(tVolumetVolumeAttribute(tSnapshot(tSnapshotAttribute(tZone(t SecurityGroup(t RegionInfo(t InstanceInfo(tReservedInstancesOffering(tReservedInstance(tReservedInstanceListing(tReservedInstancesConfiguration(tModifyReservedInstancesResult(tReservedInstancesModification(tSpotInstanceRequest(tSpotPriceHistory(tSpotDatafeedSubscription(tBundleInstanceTask(tPlacementGroup(tTag(t InstanceType(tInstanceStatusSet(tVolumeStatusSet(tNetworkInterface(tAccountAttributet VPCAttribute(tBlockDeviceMappingtBlockDeviceType(tEC2ResponseError(tsixt EC2ConnectioncBseZejjdddZejjdddZejjdddZeZ dde dddddddddddde dd Z e d Zd Zd Zdddded ZddedZddedZedZddddddddeddded ZeedZdededZdedZdddddedZdedZddeddZddeddZddedddZddddeedZddddddddddeddedddddddddededZ ded Z!deed!Z"ded"Z#ed#Z$ded$Z%ed%Z&ed&Z'ded'Z(ed(Z)ed)Z*dded*Z+dddddedddd+ Z,dd,ddddddddddddeddddddeded-Z-ed.Z.ed/Z/ed0Z0ed1Z1dded2Z2ddded3Z3ded4Z4dddeed5Z5dddddeed6Z6dddddeed7Z7dddddeed8Z8dded9Z9dded:Z:dded;Z;dded<Z<dddded=Z=ed>Z>d?ed@Z?edAZ@dddeedBZAedCZBedDZCddeedEZDddddedFZEdedGZFedHZGdedIZHdJdKdLe dMZIdNedOZJdNdddedPZKdNedQZLddedRZMedSZNedTZOedUZPedVZQdddedWZRdedXZSddedYZTddddddedZZUddddddddded[ ZVdddded\ZWdddddded]ZXddddddddded^ ZYdddded_ZZdded`Z[dddddddddddddedaZ\ddedbZ]ddedcZ^eddZ_dedeZ`dfZadgZbddddhZcediZdedjZeedkZfedlZgedmZhddednZiedoZjedpZkddedqZldredsZmedtZnduZodeddvZpedwZqedxZrddedyZsdddedzZted{Zueed|Zved}Zwd~ZxdddedZydedZzdedZ{ddedZ|RS(tBotot ec2_versions 2014-05-01tec2_region_names us-east-1tec2_region_endpointsec2.us-east-1.amazonaws.comit/cCs| s!t||j|j} n| |_tt|j|||||||| |jj| | | |d|d| |r||_ndS(s@ Init method to create a new connection to EC2. tvalidate_certst profile_nameN( RtDefaultRegionNametDefaultRegionEndpointtregiontsuperR,t__init__tendpointt APIVersion(tselftaws_access_key_idtaws_secret_access_keyt is_securethosttporttproxyt proxy_portt proxy_usert proxy_passtdebugthttps_connection_factoryR6tpatht api_versiontsecurity_tokenR2R3((s@/opt/freeware/lib/python2.7/site-packages/boto/ec2/connection.pyR8Qs     cCsdgS(Ntec2((R;((s@/opt/freeware/lib/python2.7/site-packages/boto/ec2/connection.pyt_required_auth_capabilityksc CsRddddddddd d g }i}x!|D]}t||||R@RARBRCRDRERF(tgetattr(R;t param_namestparamstname((s@/opt/freeware/lib/python2.7/site-packages/boto/ec2/connection.pyt get_paramsos   c Cst|tst|}nd}x|D]}|}|jds[|jdd}n||d|<||}t|ts|g}nd}x,|D]$}||d||f<|d7}qW|d7}q+WdS(Nistag:t_t-sFilter.%d.NamesFilter.%d.Value.%d(t isinstancetdictt startswithtreplacetlist( R;RNtfilterstiROtaws_nametvaluetjtv((s@/opt/freeware/lib/python2.7/site-packages/boto/ec2/connection.pytbuild_filter_params}s     cCsi}|r"|j||dn|r>|j||dn|rZ|j||dn|rs|j||n|rd|d|j||dnidd6}|j|||rnd|d|j||dnidd6}|j|||rnd|d@              c Csd}|rR|j|}x4|jD]&}|dkr%|j|j}Pq%q%Wni|d6}|rrd|d|j||dn|rW|j||n|rjd|d|j||dn|rZ|j||dn|rs|j||n|rd|dN sRzis%Y-%m-%dT%H:%M:%S.000Ztpreserve_snapshotsTrimmed snapshot %s (%s)smAttempt to trim snapshot %s (%s) failed. Possible result of a race condition with trimming on another server?N(RtutcnowtyeartmonthtdaythourRtweekdaytrangeRRt __contains__R~tsortedRtsortRRt__len__tstrptimeR=RRtbototlogtinfoR*terror(R;thourly_backupst daily_backupstweekly_backupstmonthly_backupstnowt last_hourt last_midnightt last_sundaytstart_of_monthttarget_backup_timestoldest_snapshot_dateRRtweektone_daytmonthly_snapshots_addedttempttt all_snapshotstsnaps_for_each_volumetsnapRtsnaps_for_volumetsnapsttime_period_numbertsnap_found_for_this_time_periodtcheck_this_snapt snap_date((s@/opt/freeware/lib/python2.7/site-packages/boto/ec2/connection.pyttrim_snapshots sz- !6                 ( .  tcreateVolumePermissioncCsLi|d6}|r ||d6$                c Csi}|r||dsR