1# Copyright (c) 2006-2009 Mitch Garnaat http://garnaat.org/ 2# 3# Permission is hereby granted, free of charge, to any person obtaining a 4# copy of this software and associated documentation files (the 5# "Software"), to deal in the Software without restriction, including 6# without limitation the rights to use, copy, modify, merge, publish, dis- 7# tribute, sublicense, and/or sell copies of the Software, and to permit 8# persons to whom the Software is furnished to do so, subject to the fol- 9# lowing conditions: 10# 11# The above copyright notice and this permission notice shall be included 12# in all copies or substantial portions of the Software. 13# 14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- 16# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 17# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 18# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 20# IN THE SOFTWARE. 21 22class Signer(object): 23 def __init__(self): 24 self.id = None 25 self.key_pair_ids = [] 26 27 def startElement(self, name, attrs, connection): 28 return None 29 30 def endElement(self, name, value, connection): 31 if name == 'Self': 32 self.id = 'Self' 33 elif name == 'AwsAccountNumber': 34 self.id = value 35 elif name == 'KeyPairId': 36 self.key_pair_ids.append(value) 37 38 39class ActiveTrustedSigners(list): 40 def startElement(self, name, attrs, connection): 41 if name == 'Signer': 42 s = Signer() 43 self.append(s) 44 return s 45 46 def endElement(self, name, value, connection): 47 pass 48 49 50class TrustedSigners(list): 51 def startElement(self, name, attrs, connection): 52 return None 53 54 def endElement(self, name, value, connection): 55 if name == 'Self': 56 self.append(name) 57 elif name == 'AwsAccountNumber': 58 self.append(value) 59 60