Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(293)

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/boto/ec2/autoscale/group.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/gsutil/third_party/boto/boto/ec2/autoscale/group.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/ec2/autoscale/group.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/ec2/autoscale/group.py
deleted file mode 100644
index c3c041275def0a447226b5918103f45dca5fd937..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/ec2/autoscale/group.py
+++ /dev/null
@@ -1,361 +0,0 @@
-# Copyright (c) 2009-2011 Reza Lotun http://reza.lotun.name/
-#
-# 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.listelement import ListElement
-from boto.resultset import ResultSet
-from boto.ec2.autoscale.launchconfig import LaunchConfiguration
-from boto.ec2.autoscale.request import Request
-from boto.ec2.autoscale.instance import Instance
-from boto.ec2.autoscale.tag import Tag
-
-
-class ProcessType(object):
- def __init__(self, connection=None):
- self.connection = connection
- self.process_name = None
-
- def __repr__(self):
- return 'ProcessType(%s)' % self.process_name
-
- def startElement(self, name, attrs, connection):
- pass
-
- def endElement(self, name, value, connection):
- if name == 'ProcessName':
- self.process_name = value
-
-
-class SuspendedProcess(object):
- def __init__(self, connection=None):
- self.connection = connection
- self.process_name = None
- self.reason = None
-
- def __repr__(self):
- return 'SuspendedProcess(%s, %s)' % (self.process_name, self.reason)
-
- def startElement(self, name, attrs, connection):
- pass
-
- def endElement(self, name, value, connection):
- if name == 'ProcessName':
- self.process_name = value
- elif name == 'SuspensionReason':
- self.reason = value
-
-
-class EnabledMetric(object):
- def __init__(self, connection=None, metric=None, granularity=None):
- self.connection = connection
- self.metric = metric
- self.granularity = granularity
-
- def __repr__(self):
- return 'EnabledMetric(%s, %s)' % (self.metric, self.granularity)
-
- def startElement(self, name, attrs, connection):
- pass
-
- def endElement(self, name, value, connection):
- if name == 'Granularity':
- self.granularity = value
- elif name == 'Metric':
- self.metric = value
-
-
-class TerminationPolicies(list):
-
- def startElement(self, name, attrs, connection):
- pass
-
- def endElement(self, name, value, connection):
- if name == 'member':
- self.append(value)
-
-
-class AutoScalingGroup(object):
- def __init__(self, connection=None, name=None,
- launch_config=None, availability_zones=None,
- load_balancers=None, default_cooldown=None,
- health_check_type=None, health_check_period=None,
- placement_group=None, vpc_zone_identifier=None,
- desired_capacity=None, min_size=None, max_size=None,
- tags=None, termination_policies=None, instance_id=None,
- **kwargs):
- """
- Creates a new AutoScalingGroup with the specified name.
-
- You must not have already used up your entire quota of
- AutoScalingGroups in order for this call to be successful. Once the
- creation request is completed, the AutoScalingGroup is ready to be
- used in other calls.
-
- :type name: str
- :param name: Name of autoscaling group (required).
-
- :type availability_zones: list
- :param availability_zones: List of availability zones (required).
-
- :type default_cooldown: int
- :param default_cooldown: Number of seconds after a Scaling Activity
- completes before any further scaling activities can start.
-
- :type desired_capacity: int
- :param desired_capacity: The desired capacity for the group.
-
- :type health_check_period: str
- :param health_check_period: Length of time in seconds after a new
- EC2 instance comes into service that Auto Scaling starts
- checking its health.
-
- :type health_check_type: str
- :param health_check_type: The service you want the health status from,
- Amazon EC2 or Elastic Load Balancer.
-
- :type launch_config: str or LaunchConfiguration
- :param launch_config: Name of launch configuration (required).
-
- :type load_balancers: list
- :param load_balancers: List of load balancers.
-
- :type max_size: int
- :param max_size: Maximum size of group (required).
-
- :type min_size: int
- :param min_size: Minimum size of group (required).
-
- :type placement_group: str
- :param placement_group: Physical location of your cluster placement
- group created in Amazon EC2.
-
- :type vpc_zone_identifier: str or list
- :param vpc_zone_identifier: A comma-separated string or python list of
- the subnet identifiers of the Virtual Private Cloud.
-
- :type tags: list
- :param tags: List of :class:`boto.ec2.autoscale.tag.Tag`s
-
- :type termination_policies: list
- :param termination_policies: A list of termination policies. Valid values
- are: "OldestInstance", "NewestInstance", "OldestLaunchConfiguration",
- "ClosestToNextInstanceHour", "Default". If no value is specified,
- the "Default" value is used.
-
- :type instance_id: str
- :param instance_id: The ID of the Amazon EC2 instance you want to use
- to create the Auto Scaling group.
-
- :rtype: :class:`boto.ec2.autoscale.group.AutoScalingGroup`
- :return: An autoscale group.
- """
- self.name = name or kwargs.get('group_name') # backwards compat
- self.connection = connection
- self.min_size = int(min_size) if min_size is not None else None
- self.max_size = int(max_size) if max_size is not None else None
- self.created_time = None
- # backwards compatibility
- default_cooldown = default_cooldown or kwargs.get('cooldown')
- if default_cooldown is not None:
- default_cooldown = int(default_cooldown)
- self.default_cooldown = default_cooldown
- self.launch_config_name = launch_config
- if launch_config and isinstance(launch_config, LaunchConfiguration):
- self.launch_config_name = launch_config.name
- self.desired_capacity = desired_capacity
- lbs = load_balancers or []
- self.load_balancers = ListElement(lbs)
- zones = availability_zones or []
- self.availability_zones = ListElement(zones)
- self.health_check_period = health_check_period
- self.health_check_type = health_check_type
- self.placement_group = placement_group
- self.autoscaling_group_arn = None
- if type(vpc_zone_identifier) is list:
- vpc_zone_identifier = ','.join(vpc_zone_identifier)
- self.vpc_zone_identifier = vpc_zone_identifier
- self.instances = None
- self.tags = tags or None
- termination_policies = termination_policies or []
- self.termination_policies = ListElement(termination_policies)
- self.instance_id = instance_id
-
- # backwards compatible access to 'cooldown' param
- def _get_cooldown(self):
- return self.default_cooldown
-
- def _set_cooldown(self, val):
- self.default_cooldown = val
-
- cooldown = property(_get_cooldown, _set_cooldown)
-
- def __repr__(self):
- return 'AutoScaleGroup<%s>' % self.name
-
- def startElement(self, name, attrs, connection):
- if name == 'Instances':
- self.instances = ResultSet([('member', Instance)])
- return self.instances
- elif name == 'LoadBalancerNames':
- return self.load_balancers
- elif name == 'AvailabilityZones':
- return self.availability_zones
- elif name == 'EnabledMetrics':
- self.enabled_metrics = ResultSet([('member', EnabledMetric)])
- return self.enabled_metrics
- elif name == 'SuspendedProcesses':
- self.suspended_processes = ResultSet([('member', SuspendedProcess)])
- return self.suspended_processes
- elif name == 'Tags':
- self.tags = ResultSet([('member', Tag)])
- return self.tags
- elif name == 'TerminationPolicies':
- return self.termination_policies
- else:
- return
-
- def endElement(self, name, value, connection):
- if name == 'MinSize':
- self.min_size = int(value)
- elif name == 'AutoScalingGroupARN':
- self.autoscaling_group_arn = value
- elif name == 'CreatedTime':
- self.created_time = value
- elif name == 'DefaultCooldown':
- self.default_cooldown = int(value)
- elif name == 'LaunchConfigurationName':
- self.launch_config_name = value
- elif name == 'DesiredCapacity':
- self.desired_capacity = int(value)
- elif name == 'MaxSize':
- self.max_size = int(value)
- elif name == 'AutoScalingGroupName':
- self.name = value
- elif name == 'PlacementGroup':
- self.placement_group = value
- elif name == 'HealthCheckGracePeriod':
- try:
- self.health_check_period = int(value)
- except ValueError:
- self.health_check_period = None
- elif name == 'HealthCheckType':
- self.health_check_type = value
- elif name == 'VPCZoneIdentifier':
- self.vpc_zone_identifier = value
- elif name == 'InstanceId':
- self.instance_id = value
- else:
- setattr(self, name, value)
-
- def set_capacity(self, capacity):
- """
- Set the desired capacity for the group.
- """
- params = {'AutoScalingGroupName': self.name,
- 'DesiredCapacity': capacity}
- req = self.connection.get_object('SetDesiredCapacity', params,
- Request)
- self.connection.last_request = req
- return req
-
- def update(self):
- """
- Sync local changes with AutoScaling group.
- """
- return self.connection._update_group('UpdateAutoScalingGroup', self)
-
- def shutdown_instances(self):
- """
- Convenience method which shuts down all instances associated with
- this group.
- """
- self.min_size = 0
- self.max_size = 0
- self.desired_capacity = 0
- self.update()
-
- def delete(self, force_delete=False):
- """
- Delete this auto-scaling group if no instances attached or no
- scaling activities in progress.
- """
- return self.connection.delete_auto_scaling_group(self.name,
- force_delete)
-
- def get_activities(self, activity_ids=None, max_records=50):
- """
- Get all activies for this group.
- """
- return self.connection.get_all_activities(self, activity_ids,
- max_records)
-
- def put_notification_configuration(self, topic, notification_types):
- """
- Configures an Auto Scaling group to send notifications when
- specified events take place. Valid notification types are:
- 'autoscaling:EC2_INSTANCE_LAUNCH',
- 'autoscaling:EC2_INSTANCE_LAUNCH_ERROR',
- 'autoscaling:EC2_INSTANCE_TERMINATE',
- 'autoscaling:EC2_INSTANCE_TERMINATE_ERROR',
- 'autoscaling:TEST_NOTIFICATION'
- """
- return self.connection.put_notification_configuration(self,
- topic,
- notification_types)
-
- def delete_notification_configuration(self, topic):
- """
- Deletes notifications created by put_notification_configuration.
- """
- return self.connection.delete_notification_configuration(self, topic)
-
- def suspend_processes(self, scaling_processes=None):
- """
- Suspends Auto Scaling processes for an Auto Scaling group.
- """
- return self.connection.suspend_processes(self.name, scaling_processes)
-
- def resume_processes(self, scaling_processes=None):
- """
- Resumes Auto Scaling processes for an Auto Scaling group.
- """
- return self.connection.resume_processes(self.name, scaling_processes)
-
-
-class AutoScalingGroupMetric(object):
- def __init__(self, connection=None):
-
- self.connection = connection
- self.metric = None
- self.granularity = None
-
- def __repr__(self):
- return 'AutoScalingGroupMetric:%s' % self.metric
-
- def startElement(self, name, attrs, connection):
- return
-
- def endElement(self, name, value, connection):
- if name == 'Metric':
- self.metric = value
- elif name == 'Granularity':
- self.granularity = value
- else:
- setattr(self, name, value)

Powered by Google App Engine
This is Rietveld 408576698