Home | History | Annotate | Download | only in vpc
      1 # Copyright (c) 2009-2010 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 
     22 """
     23 Represents a Subnet
     24 """
     25 
     26 from boto.ec2.ec2object import TaggedEC2Object
     27 
     28 class Subnet(TaggedEC2Object):
     29 
     30     def __init__(self, connection=None):
     31         super(Subnet, self).__init__(connection)
     32         self.id = None
     33         self.vpc_id = None
     34         self.state = None
     35         self.cidr_block = None
     36         self.available_ip_address_count = 0
     37         self.availability_zone = None
     38 
     39     def __repr__(self):
     40         return 'Subnet:%s' % self.id
     41 
     42     def endElement(self, name, value, connection):
     43         if name == 'subnetId':
     44             self.id = value
     45         elif name == 'vpcId':
     46             self.vpc_id = value
     47         elif name == 'state':
     48             self.state = value
     49         elif name == 'cidrBlock':
     50             self.cidr_block = value
     51         elif name == 'availableIpAddressCount':
     52             self.available_ip_address_count = int(value)
     53         elif name == 'availabilityZone':
     54             self.availability_zone = value
     55         else:
     56             setattr(self, name, value)
     57 
     58