diff env/lib/python3.7/site-packages/boto/ec2/elb/loadbalancer.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/ec2/elb/loadbalancer.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +0,0 @@
-# Copyright (c) 2006-2012 Mitch Garnaat http://garnaat.org/
-# Copyright (c) 2012 Amazon.com, Inc. or its affiliates.  All Rights Reserved
-#
-# 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.
-
-from boto.ec2.elb.healthcheck import HealthCheck
-from boto.ec2.elb.listener import Listener
-from boto.ec2.elb.listelement import ListElement
-from boto.ec2.elb.policies import Policies, OtherPolicy
-from boto.ec2.elb.securitygroup import SecurityGroup
-from boto.ec2.instanceinfo import InstanceInfo
-from boto.resultset import ResultSet
-from boto.compat import six
-
-
-class Backend(object):
-    """Backend server description"""
-
-    def __init__(self, connection=None):
-        self.connection = connection
-        self.instance_port = None
-        self.policies = None
-
-    def __repr__(self):
-        return 'Backend(%r:%r)' % (self.instance_port, self.policies)
-
-    def startElement(self, name, attrs, connection):
-        if name == 'PolicyNames':
-            self.policies = ResultSet([('member', OtherPolicy)])
-            return self.policies
-
-    def endElement(self, name, value, connection):
-        if name == 'InstancePort':
-            self.instance_port = int(value)
-        return
-
-
-class LoadBalancerZones(object):
-    """
-    Used to collect the zones for a Load Balancer when enable_zones
-    or disable_zones are called.
-    """
-    def __init__(self, connection=None):
-        self.connection = connection
-        self.zones = ListElement()
-
-    def startElement(self, name, attrs, connection):
-        if name == 'AvailabilityZones':
-            return self.zones
-
-    def endElement(self, name, value, connection):
-        pass
-
-
-class LoadBalancer(object):
-    """
-    Represents an EC2 Load Balancer.
-    """
-
-    def __init__(self, connection=None, name=None, endpoints=None):
-        """
-        :ivar boto.ec2.elb.ELBConnection connection: The connection this load
-            balancer was instance was instantiated from.
-        :ivar list listeners: A list of tuples in the form of
-            ``(<Inbound port>, <Outbound port>, <Protocol>)``
-        :ivar boto.ec2.elb.healthcheck.HealthCheck health_check: The health
-            check policy for this load balancer.
-        :ivar boto.ec2.elb.policies.Policies policies: Cookie stickiness and
-            other policies.
-        :ivar str name: The name of the Load Balancer.
-        :ivar str dns_name: The external DNS name for the balancer.
-        :ivar str created_time: A date+time string showing when the
-            load balancer was created.
-        :ivar list instances: A list of :py:class:`boto.ec2.instanceinfo.InstanceInfo`
-            instances, representing the EC2 instances this load balancer is
-            distributing requests to.
-        :ivar list availability_zones: The availability zones this balancer
-            covers.
-        :ivar str canonical_hosted_zone_name: Current CNAME for the balancer.
-        :ivar str canonical_hosted_zone_name_id: The Route 53 hosted zone
-            ID of this balancer. Needed when creating an Alias record in a
-            Route 53 hosted zone.
-        :ivar boto.ec2.elb.securitygroup.SecurityGroup source_security_group:
-            The security group that you can use as part of your inbound rules
-            for your load balancer back-end instances to disallow traffic
-            from sources other than your load balancer.
-        :ivar list subnets: A list of subnets this balancer is on.
-        :ivar list security_groups: A list of additional security groups that
-            have been applied.
-        :ivar str vpc_id: The ID of the VPC that this ELB resides within.
-        :ivar list backends: A list of :py:class:`boto.ec2.elb.loadbalancer.Backend
-            back-end server descriptions.
-        """
-        self.connection = connection
-        self.name = name
-        self.listeners = None
-        self.health_check = None
-        self.policies = None
-        self.dns_name = None
-        self.created_time = None
-        self.instances = None
-        self.availability_zones = ListElement()
-        self.canonical_hosted_zone_name = None
-        self.canonical_hosted_zone_name_id = None
-        self.source_security_group = None
-        self.subnets = ListElement()
-        self.security_groups = ListElement()
-        self.vpc_id = None
-        self.scheme = None
-        self.backends = None
-        self._attributes = None
-
-    def __repr__(self):
-        return 'LoadBalancer:%s' % self.name
-
-    def startElement(self, name, attrs, connection):
-        if name == 'HealthCheck':
-            self.health_check = HealthCheck(self)
-            return self.health_check
-        elif name == 'ListenerDescriptions':
-            self.listeners = ResultSet([('member', Listener)])
-            return self.listeners
-        elif name == 'AvailabilityZones':
-            return self.availability_zones
-        elif name == 'Instances':
-            self.instances = ResultSet([('member', InstanceInfo)])
-            return self.instances
-        elif name == 'Policies':
-            self.policies = Policies(self)
-            return self.policies
-        elif name == 'SourceSecurityGroup':
-            self.source_security_group = SecurityGroup()
-            return self.source_security_group
-        elif name == 'Subnets':
-            return self.subnets
-        elif name == 'SecurityGroups':
-            return self.security_groups
-        elif name == 'VPCId':
-            pass
-        elif name == "BackendServerDescriptions":
-            self.backends = ResultSet([('member', Backend)])
-            return self.backends
-        else:
-            return None
-
-    def endElement(self, name, value, connection):
-        if name == 'LoadBalancerName':
-            self.name = value
-        elif name == 'DNSName':
-            self.dns_name = value
-        elif name == 'CreatedTime':
-            self.created_time = value
-        elif name == 'InstanceId':
-            self.instances.append(value)
-        elif name == 'CanonicalHostedZoneName':
-            self.canonical_hosted_zone_name = value
-        elif name == 'CanonicalHostedZoneNameID':
-            self.canonical_hosted_zone_name_id = value
-        elif name == 'VPCId':
-            self.vpc_id = value
-        elif name == 'Scheme':
-            self.scheme = value
-        else:
-            setattr(self, name, value)
-
-    def enable_zones(self, zones):
-        """
-        Enable availability zones to this Access Point.
-        All zones must be in the same region as the Access Point.
-
-        :type zones: string or List of strings
-        :param zones: The name of the zone(s) to add.
-
-        """
-        if isinstance(zones, six.string_types):
-            zones = [zones]
-        new_zones = self.connection.enable_availability_zones(self.name, zones)
-        self.availability_zones = new_zones
-
-    def disable_zones(self, zones):
-        """
-        Disable availability zones from this Access Point.
-
-        :type zones: string or List of strings
-        :param zones: The name of the zone(s) to add.
-
-        """
-        if isinstance(zones, six.string_types):
-            zones = [zones]
-        new_zones = self.connection.disable_availability_zones(
-            self.name, zones)
-        self.availability_zones = new_zones
-
-    def get_attributes(self, force=False):
-        """
-        Gets the LbAttributes.  The Attributes will be cached.
-
-        :type force: bool
-        :param force: Ignore cache value and reload.
-
-        :rtype: boto.ec2.elb.attributes.LbAttributes
-        :return: The LbAttribues object
-        """
-        if not self._attributes or force:
-            self._attributes = self.connection.get_all_lb_attributes(self.name)
-        return self._attributes
-
-    def is_cross_zone_load_balancing(self, force=False):
-        """
-        Identifies if the ELB is current configured to do CrossZone Balancing.
-
-        :type force: bool
-        :param force: Ignore cache value and reload.
-
-        :rtype: bool
-        :return: True if balancing is enabled, False if not.
-        """
-        return self.get_attributes(force).cross_zone_load_balancing.enabled
-
-    def enable_cross_zone_load_balancing(self):
-        """
-        Turns on CrossZone Load Balancing for this ELB.
-
-        :rtype: bool
-        :return: True if successful, False if not.
-        """
-        success = self.connection.modify_lb_attribute(
-            self.name, 'crossZoneLoadBalancing', True)
-        if success and self._attributes:
-            self._attributes.cross_zone_load_balancing.enabled = True
-        return success
-
-    def disable_cross_zone_load_balancing(self):
-        """
-        Turns off CrossZone Load Balancing for this ELB.
-
-        :rtype: bool
-        :return: True if successful, False if not.
-        """
-        success = self.connection.modify_lb_attribute(
-            self.name, 'crossZoneLoadBalancing', False)
-        if success and self._attributes:
-            self._attributes.cross_zone_load_balancing.enabled = False
-        return success
-
-    def register_instances(self, instances):
-        """
-        Adds instances to this load balancer. All instances must be in the same
-        region as the load balancer. Adding endpoints that are already
-        registered with the load balancer has no effect.
-
-        :param list instances: List of instance IDs (strings) that you'd like
-            to add to this load balancer.
-
-        """
-        if isinstance(instances, six.string_types):
-            instances = [instances]
-        new_instances = self.connection.register_instances(self.name,
-                                                           instances)
-        self.instances = new_instances
-
-    def deregister_instances(self, instances):
-        """
-        Remove instances from this load balancer. Removing instances that are
-        not registered with the load balancer has no effect.
-
-        :param list instances: List of instance IDs (strings) that you'd like
-            to remove from this load balancer.
-
-        """
-        if isinstance(instances, six.string_types):
-            instances = [instances]
-        new_instances = self.connection.deregister_instances(self.name,
-                                                             instances)
-        self.instances = new_instances
-
-    def delete(self):
-        """
-        Delete this load balancer.
-        """
-        return self.connection.delete_load_balancer(self.name)
-
-    def configure_health_check(self, health_check):
-        """
-        Configures the health check behavior for the instances behind this
-        load balancer. See :ref:`elb-configuring-a-health-check` for a
-        walkthrough.
-
-        :param boto.ec2.elb.healthcheck.HealthCheck health_check: A
-            HealthCheck instance that tells the load balancer how to check
-            its instances for health.
-        """
-        return self.connection.configure_health_check(self.name, health_check)
-
-    def get_instance_health(self, instances=None):
-        """
-        Returns a list of :py:class:`boto.ec2.elb.instancestate.InstanceState`
-        objects, which show the health of the instances attached to this
-        load balancer.
-
-        :rtype: list
-        :returns: A list of
-            :py:class:`InstanceState <boto.ec2.elb.instancestate.InstanceState>`
-            instances, representing the instances
-            attached to this load balancer.
-        """
-        return self.connection.describe_instance_health(self.name, instances)
-
-    def create_listeners(self, listeners):
-        return self.connection.create_load_balancer_listeners(self.name,
-                                                              listeners)
-
-    def create_listener(self, inPort, outPort=None, proto="tcp"):
-        if outPort is None:
-            outPort = inPort
-        return self.create_listeners([(inPort, outPort, proto)])
-
-    def delete_listeners(self, listeners):
-        return self.connection.delete_load_balancer_listeners(self.name,
-                                                              listeners)
-
-    def delete_listener(self, inPort):
-        return self.delete_listeners([inPort])
-
-    def delete_policy(self, policy_name):
-        """
-        Deletes a policy from the LoadBalancer. The specified policy must not
-        be enabled for any listeners.
-        """
-        return self.connection.delete_lb_policy(self.name, policy_name)
-
-    def set_policies_of_listener(self, lb_port, policies):
-        return self.connection.set_lb_policies_of_listener(self.name,
-                                                           lb_port,
-                                                           policies)
-
-    def set_policies_of_backend_server(self, instance_port, policies):
-        return self.connection.set_lb_policies_of_backend_server(
-            self.name, instance_port, policies)
-
-    def create_cookie_stickiness_policy(self, cookie_expiration_period,
-                                        policy_name):
-        return self.connection.create_lb_cookie_stickiness_policy(
-            cookie_expiration_period, self.name, policy_name)
-
-    def create_app_cookie_stickiness_policy(self, name, policy_name):
-        return self.connection.create_app_cookie_stickiness_policy(name,
-                                                                   self.name,
-                                                                   policy_name)
-
-    def set_listener_SSL_certificate(self, lb_port, ssl_certificate_id):
-        return self.connection.set_lb_listener_SSL_certificate(
-            self.name, lb_port, ssl_certificate_id)
-
-    def create_lb_policy(self, policy_name, policy_type, policy_attribute):
-        return self.connection.create_lb_policy(
-            self.name, policy_name, policy_type, policy_attribute)
-
-    def attach_subnets(self, subnets):
-        """
-        Attaches load balancer to one or more subnets.
-        Attaching subnets that are already registered with the
-        Load Balancer has no effect.
-
-        :type subnets: string or List of strings
-        :param subnets: The name of the subnet(s) to add.
-
-        """
-        if isinstance(subnets, six.string_types):
-            subnets = [subnets]
-        new_subnets = self.connection.attach_lb_to_subnets(self.name, subnets)
-        self.subnets = new_subnets
-
-    def detach_subnets(self, subnets):
-        """
-        Detaches load balancer from one or more subnets.
-
-        :type subnets: string or List of strings
-        :param subnets: The name of the subnet(s) to detach.
-
-        """
-        if isinstance(subnets, six.string_types):
-            subnets = [subnets]
-        new_subnets = self.connection.detach_lb_from_subnets(
-            self.name, subnets)
-        self.subnets = new_subnets
-
-    def apply_security_groups(self, security_groups):
-        """
-        Associates one or more security groups with the load balancer.
-        The provided security groups will override any currently applied
-        security groups.
-
-        :type security_groups: string or List of strings
-        :param security_groups: The name of the security group(s) to add.
-
-        """
-        if isinstance(security_groups, six.string_types):
-            security_groups = [security_groups]
-        new_sgs = self.connection.apply_security_groups_to_lb(
-            self.name, security_groups)
-        self.security_groups = new_sgs