Index: third_party/gsutil/third_party/boto/boto/ec2/elb/attributes.py |
diff --git a/third_party/gsutil/third_party/boto/boto/ec2/elb/attributes.py b/third_party/gsutil/third_party/boto/boto/ec2/elb/attributes.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..605e5d54a7fe4d218c956c59cfd6381f85f9aca0 |
--- /dev/null |
+++ b/third_party/gsutil/third_party/boto/boto/ec2/elb/attributes.py |
@@ -0,0 +1,154 @@ |
+# Permission is hereby granted, free of charge, to any person obtaining a |
+# copy of this software and associated documentation files (the |
+# "Software"), to deal in the Software without restriction, including |
+# without limitation the rights to use, copy, modify, merge, publish, dis- |
+# tribute, sublicense, and/or sell copies of the Software, and to permit |
+# persons to whom the Software is furnished to do so, subject to the fol- |
+# lowing conditions: |
+# |
+# The above copyright notice and this permission notice shall be included |
+# in all copies or substantial portions of the Software. |
+# |
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- |
+# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT |
+# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
+# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
+# IN THE SOFTWARE. |
+# |
+# Created by Chris Huegle for TellApart, Inc. |
+ |
+class ConnectionSettingAttribute(object): |
+ """ |
+ Represents the ConnectionSetting segment of ELB Attributes. |
+ """ |
+ def __init__(self, connection=None): |
+ self.idle_timeout = None |
+ |
+ def __repr__(self): |
+ return 'ConnectionSettingAttribute(%s)' % ( |
+ self.idle_timeout) |
+ |
+ def startElement(self, name, attrs, connection): |
+ pass |
+ |
+ def endElement(self, name, value, connection): |
+ if name == 'IdleTimeout': |
+ self.idle_timeout = int(value) |
+ |
+class CrossZoneLoadBalancingAttribute(object): |
+ """ |
+ Represents the CrossZoneLoadBalancing segement of ELB Attributes. |
+ """ |
+ def __init__(self, connection=None): |
+ self.enabled = None |
+ |
+ def __repr__(self): |
+ return 'CrossZoneLoadBalancingAttribute(%s)' % ( |
+ self.enabled) |
+ |
+ def startElement(self, name, attrs, connection): |
+ pass |
+ |
+ def endElement(self, name, value, connection): |
+ if name == 'Enabled': |
+ if value.lower() == 'true': |
+ self.enabled = True |
+ else: |
+ self.enabled = False |
+ |
+ |
+class AccessLogAttribute(object): |
+ """ |
+ Represents the AccessLog segment of ELB attributes. |
+ """ |
+ def __init__(self, connection=None): |
+ self.enabled = None |
+ self.s3_bucket_name = None |
+ self.s3_bucket_prefix = None |
+ self.emit_interval = None |
+ |
+ def __repr__(self): |
+ return 'AccessLog(%s, %s, %s, %s)' % ( |
+ self.enabled, |
+ self.s3_bucket_name, |
+ self.s3_bucket_prefix, |
+ self.emit_interval |
+ ) |
+ |
+ def startElement(self, name, attrs, connection): |
+ pass |
+ |
+ def endElement(self, name, value, connection): |
+ if name == 'Enabled': |
+ if value.lower() == 'true': |
+ self.enabled = True |
+ else: |
+ self.enabled = False |
+ elif name == 'S3BucketName': |
+ self.s3_bucket_name = value |
+ elif name == 'S3BucketPrefix': |
+ self.s3_bucket_prefix = value |
+ elif name == 'EmitInterval': |
+ self.emit_interval = int(value) |
+ |
+ |
+class ConnectionDrainingAttribute(object): |
+ """ |
+ Represents the ConnectionDraining segment of ELB attributes. |
+ """ |
+ def __init__(self, connection=None): |
+ self.enabled = None |
+ self.timeout = None |
+ |
+ def __repr__(self): |
+ return 'ConnectionDraining(%s, %s)' % ( |
+ self.enabled, |
+ self.timeout |
+ ) |
+ |
+ def startElement(self, name, attrs, connection): |
+ pass |
+ |
+ def endElement(self, name, value, connection): |
+ if name == 'Enabled': |
+ if value.lower() == 'true': |
+ self.enabled = True |
+ else: |
+ self.enabled = False |
+ elif name == 'Timeout': |
+ self.timeout = int(value) |
+ |
+ |
+class LbAttributes(object): |
+ """ |
+ Represents the Attributes of an Elastic Load Balancer. |
+ """ |
+ def __init__(self, connection=None): |
+ self.connection = connection |
+ self.cross_zone_load_balancing = CrossZoneLoadBalancingAttribute( |
+ self.connection) |
+ self.access_log = AccessLogAttribute(self.connection) |
+ self.connection_draining = ConnectionDrainingAttribute(self.connection) |
+ self.connecting_settings = ConnectionSettingAttribute(self.connection) |
+ |
+ def __repr__(self): |
+ return 'LbAttributes(%s, %s, %s, %s)' % ( |
+ repr(self.cross_zone_load_balancing), |
+ repr(self.access_log), |
+ repr(self.connection_draining), |
+ repr(self.connecting_settings)) |
+ |
+ def startElement(self, name, attrs, connection): |
+ if name == 'CrossZoneLoadBalancing': |
+ return self.cross_zone_load_balancing |
+ if name == 'AccessLog': |
+ return self.access_log |
+ if name == 'ConnectionDraining': |
+ return self.connection_draining |
+ if name == 'ConnectionSettings': |
+ return self.connecting_settings |
+ |
+ def endElement(self, name, value, connection): |
+ pass |