PageRenderTime 21ms CodeModel.GetById 12ms app.highlight 5ms RepoModel.GetById 2ms app.codeStats 0ms

/boto-2.5.2/boto/vpc/vpc.py

#
Python | 54 lines | 23 code | 8 blank | 23 comment | 1 complexity | eec1cb6380c08e997398ba650a9f2d6f MD5 | raw file
 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"""
23Represents a Virtual Private Cloud.
24"""
25
26from boto.ec2.ec2object import TaggedEC2Object
27
28class VPC(TaggedEC2Object):
29
30    def __init__(self, connection=None):
31        TaggedEC2Object.__init__(self, connection)
32        self.id = None
33        self.dhcp_options_id = None
34        self.state = None
35        self.cidr_block = None
36
37    def __repr__(self):
38        return 'VPC:%s' % self.id
39    
40    def endElement(self, name, value, connection):
41        if name == 'vpcId':
42            self.id = value
43        elif name == 'dhcpOptionsId':
44            self.dhcp_options_id = value
45        elif name == 'state':
46            self.state = value
47        elif name == 'cidrBlock':
48            self.cidr_block = value
49        else:
50            setattr(self, name, value)
51
52    def delete(self):
53        return self.connection.delete_vpc(self.id)
54