Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/boto/ec2/elb/listener.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4f3585e2f14b |
---|---|
1 # Copyright (c) 2006-2012 Mitch Garnaat http://garnaat.org/ | |
2 # Copyright (c) 2012 Amazon.com, Inc. or its affiliates. | |
3 # All Rights Reserved | |
4 # | |
5 # Permission is hereby granted, free of charge, to any person obtaining a | |
6 # copy of this software and associated documentation files (the | |
7 # "Software"), to deal in the Software without restriction, including | |
8 # without limitation the rights to use, copy, modify, merge, publish, dis- | |
9 # tribute, sublicense, and/or sell copies of the Software, and to permit | |
10 # persons to whom the Software is furnished to do so, subject to the fol- | |
11 # lowing conditions: | |
12 # | |
13 # The above copyright notice and this permission notice shall be included | |
14 # in all copies or substantial portions of the Software. | |
15 # | |
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
17 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | |
18 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | |
19 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
20 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
22 # IN THE SOFTWARE. | |
23 | |
24 from boto.ec2.elb.listelement import ListElement | |
25 | |
26 | |
27 class Listener(object): | |
28 """ | |
29 Represents an EC2 Load Balancer Listener tuple | |
30 """ | |
31 | |
32 def __init__(self, load_balancer=None, load_balancer_port=0, | |
33 instance_port=0, protocol='', ssl_certificate_id=None, instance_protocol=None): | |
34 self.load_balancer = load_balancer | |
35 self.load_balancer_port = load_balancer_port | |
36 self.instance_port = instance_port | |
37 self.protocol = protocol | |
38 self.instance_protocol = instance_protocol | |
39 self.ssl_certificate_id = ssl_certificate_id | |
40 self.policy_names = ListElement() | |
41 | |
42 def __repr__(self): | |
43 r = "(%d, %d, '%s'" % (self.load_balancer_port, self.instance_port, self.protocol) | |
44 if self.instance_protocol: | |
45 r += ", '%s'" % self.instance_protocol | |
46 if self.ssl_certificate_id: | |
47 r += ', %s' % (self.ssl_certificate_id) | |
48 r += ')' | |
49 return r | |
50 | |
51 def startElement(self, name, attrs, connection): | |
52 if name == 'PolicyNames': | |
53 return self.policy_names | |
54 return None | |
55 | |
56 def endElement(self, name, value, connection): | |
57 if name == 'LoadBalancerPort': | |
58 self.load_balancer_port = int(value) | |
59 elif name == 'InstancePort': | |
60 self.instance_port = int(value) | |
61 elif name == 'InstanceProtocol': | |
62 self.instance_protocol = value | |
63 elif name == 'Protocol': | |
64 self.protocol = value | |
65 elif name == 'SSLCertificateId': | |
66 self.ssl_certificate_id = value | |
67 else: | |
68 setattr(self, name, value) | |
69 | |
70 def get_tuple(self): | |
71 return self.load_balancer_port, self.instance_port, self.protocol | |
72 | |
73 def get_complex_tuple(self): | |
74 return self.load_balancer_port, self.instance_port, self.protocol, self.instance_protocol | |
75 | |
76 def __getitem__(self, key): | |
77 if key == 0: | |
78 return self.load_balancer_port | |
79 if key == 1: | |
80 return self.instance_port | |
81 if key == 2: | |
82 return self.protocol | |
83 if key == 3: | |
84 return self.instance_protocol | |
85 if key == 4: | |
86 return self.ssl_certificate_id | |
87 raise KeyError |