o ckF[2@sddlmZddlmZddlmZGdddeZGdddeZGdd d eZ Gd d d eZ Gd d d eZ GdddeZ GdddeZ GdddeZGdddeZGdddeZGdddeZdS)) ResultSet) EC2Object)parse_tscsReZdZ     dfdd ZddZddZdd Zd d ZdddZZ S)ReservedInstancesOfferingNcs\tt||||_||_||_||_||_||_||_ | |_ | |_ | |_ | |_ | |_dSN)superr__init__id instance_typeavailability_zoneduration fixed_price usage_price descriptioninstance_tenancy currency_code offering_typerecurring_chargespricing_details)self connectionr r r r r rrrrrrr __class__;/usr/lib/python3/dist-packages/boto/ec2/reservedinstance.pyrs z"ReservedInstancesOffering.__init__cC d|jS)NzReservedInstanceOffering:%sr rrrr__repr__/ z"ReservedInstancesOffering.__repr__cC@|dkrtdtfg|_|jS|dkrtdtfg|_|jSdS)NrecurringChargesitempricingDetailsSet)rRecurringCharger PricingDetailrrnameattrsrrrr startElement2z&ReservedInstancesOffering.startElementcCs|dkr ||_dS|dkr||_dS|dkr||_dS|dkr&t||_dS|dkr/||_dS|dkr8||_dS|dkrA||_dS|dkrJ||_dS|d krS||_ dS|d kr\||_ dS|d krk|d krfd nd|_ dSdS)NreservedInstancesOfferingId instanceTypeavailabilityZoner fixedPrice usagePriceproductDescriptioninstanceTenancy currencyCode offeringType marketplacetrueTF) r r r intr r rrrrrr4rr'valuerrrr endElement;s.         z$ReservedInstancesOffering.endElementcCsftd|jtd|jtd|jtd|jtd|jtd|jtd|jdS)NzID=%sz Instance Type=%sz Zone=%sz Duration=%sz Fixed Price=%sz Usage Price=%sz Description=%s)printr r r r r rrrrrrdescribeSsz"ReservedInstancesOffering.describeFcCs|jj|j||dS)N)dry_run)r#purchase_reserved_instance_offeringr )rinstance_countr=rrrpurchase\s z"ReservedInstancesOffering.purchase) NNNNNNNNNNNNN)r<F) __name__ __module__ __qualname__rrr)r9r;r@ __classcell__rrrrrs  rc@&eZdZdddZddZddZdS) r$NcC||_||_dSr) frequencyamount)rrrGrHrrrre zRecurringCharge.__init__cCdSrrr&rrrr)izRecurringCharge.startElementcCt|||dSrsetattrr7rrrr9lzRecurringCharge.endElementNNNrArBrCrr)r9rrrrr$d  r$c@rE) r%NcCrFr)pricecount)rrrSrTrrrrqrIzPricingDetail.__init__cCrJrrr&rrrr)urKzPricingDetail.startElementcCrLrrMr7rrrr9xrOzPricingDetail.endElementrPrQrrrrr%prRr%cs:eZdZ    dfdd ZddZfddZZS) ReservedInstanceNc s:tt|||||||||| |_| |_d|_d|_dSr)rrUrr?statestartend) rrr r r r r rrr?rVrrrr~s zReservedInstance.__init__cCr)NzReservedInstance:%srrrrrrrzReservedInstance.__repr__csr|dkr||_|dkrt||_dS|dkr||_dS|dkr$||_dS|dkr-||_dStt||||dS)NreservedInstancesId instanceCountrVrWrX) r r6r?rVrWrXrrUr9r7rrrr9s   zReservedInstance.endElement NNNNNNNNNN)rArBrCrrr9rDrrrrrU|s rUc@,eZdZ   dddZddZddZdS) ReservedInstanceListingNc Cs4||_||_||_||_||_||_||_||_dSr)r listing_idr create_date update_datestatusstatus_message client_token) rrr^r r_r`rarbrcrrrrs z ReservedInstanceListing.__init__cCr )NinstanceCountsr"priceSchedules)r InstanceCountinstance_counts PriceScheduleprice_schedulesr&rrrr)r*z$ReservedInstanceListing.startElementcCs||dkr ||_dS|dkr||_dS|dkr||_dS|dkr$||_dS|dkr-||_dS|dkr6||_dSt|||dS)NreservedInstancesListingIdrY createDate updateDatera statusMessage)r^r r_r`rarbrNr7rrrr9s      z"ReservedInstanceListing.endElement)NNNNNNNNrQrrrrr]s  r]c@rE) rfNcCrFr)rVr?)rrrVr?rrrrrIzInstanceCount.__init__cCrJrrr&rrrr)rKzInstanceCount.startElementcCs8|dkr ||_dS|dkrt||_dSt|||dS)NrVrZ)rVr6r?rNr7rrrr9s  zInstanceCount.endElementrPrQrrrrrfrRrfc@*eZdZ  dddZddZddZdS) rhNcC"||_||_||_||_||_dSr)rtermrSractive)rrrprSrrqrrrr  zPriceSchedule.__init__cCrJrrr&rrrr)rKzPriceSchedule.startElementcCsn|dkr t||_dS|dkr||_dS|dkr||_dS|dkr/|dkr*d|_dSd|_dSt|||dS)NrprSr2rqr5TF)r6rprSrrqrNr7rrrr9s  zPriceSchedule.endElementNNNNNrQrrrrrh   rhc@rn) ReservedInstancesConfigurationNcCror)rr platformr?r )rrr rvr?r rrrrrrz'ReservedInstancesConfiguration.__init__cCrJrrr&rrrr)rKz+ReservedInstancesConfiguration.startElementcCs\|dkr ||_dS|dkr||_dS|dkrt||_dS|dkr&||_dSt|||dS)Nr-rvrZr,)r rvr6r?r rNr7rrrr9s   z)ReservedInstancesConfiguration.endElementrsrQrrrrrurtruc@rE) ModifyReservedInstancesResultNcCs||_||_dSr)rmodification_id)rrrxrrrrrIz&ModifyReservedInstancesResult.__init__cCrJrrr&rrrr) rKz*ModifyReservedInstancesResult.startElementcCs"|dkr ||_dSt|||dS)NreservedInstancesModificationId)rxrNr7rrrr9s z(ModifyReservedInstancesResult.endElement)NNrQrrrrrwrRrwc@r\) ModificationResultNcCs(||_||_||_||_||_||_dSr)rrxr rvr?r )rrrxr rvr?r rrrrs  zModificationResult.__init__cCrJrrr&rrrr)!rKzModificationResult.startElementcCsn|dkr ||_dS|dkr||_dS|dkr||_dS|dkr&t||_dS|dkr/||_dSt|||dS)Nryr-rvrZr,)rxr rvr6r?r rNr7rrrr9$s    zModificationResult.endElement)NNNNNNrQrrrrrzs  rzc@s.eZdZ    dddZddZddZdS) ReservedInstancesModificationNc Cs@||_||_||_||_||_||_||_||_| |_| |_ dSr) rrxreserved_instancesmodification_resultsr_r`effective_daterarbrc) rrrxr|r}r_r`r~rarbrcrrrr4s z&ReservedInstancesModification.__init__cCr )NreservedInstancesSetr"modificationResultSet)rrUr|rzr}r&rrrr)Csz*ReservedInstancesModification.startElementcCs|dkr ||_dS|dkrt||_dS|dkrt||_dS|dkr*t||_dS|dkr3||_dS|dkr<||_dS|dkrE||_dSt|||dS)Nryrkrl effectiveDaterarm clientToken) rxrr_r`r~rarbrcrNr7rrrr9Ps    z(ReservedInstancesModification.endElementr[rQrrrrr{3s  r{N)boto.resultsetrboto.ec2.ec2objectr boto.utilsrrobjectr$r%rUr]rfrhrurwrzr{rrrrs   J  !'