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

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/boto/logs/layer1.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/logs/layer1.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/logs/layer1.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/logs/layer1.py
deleted file mode 100644
index 26f7aff7cd23a30b32d6a7c8a7579cfce5c765ed..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/logs/layer1.py
+++ /dev/null
@@ -1,576 +0,0 @@
-# Copyright (c) 2014 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.
-#
-
-import boto
-from boto.connection import AWSQueryConnection
-from boto.regioninfo import RegionInfo
-from boto.exception import JSONResponseError
-from boto.logs import exceptions
-from boto.compat import json
-
-
-class CloudWatchLogsConnection(AWSQueryConnection):
- """
- Amazon CloudWatch Logs Service API Reference
- This is the Amazon CloudWatch Logs API Reference . Amazon
- CloudWatch Logs is a managed service for real time monitoring and
- archival of application logs. This guide provides detailed
- information about Amazon CloudWatch Logs actions, data types,
- parameters, and errors. For detailed information about Amazon
- CloudWatch Logs features and their associated API calls, go to the
- `Amazon CloudWatch Logs Developer Guide`_.
-
- Use the following links to get started using the Amazon CloudWatch
- API Reference :
-
-
- + `Actions`_: An alphabetical list of all Amazon CloudWatch Logs
- actions.
- + `Data Types`_: An alphabetical list of all Amazon CloudWatch
- Logs data types.
- + `Common Parameters`_: Parameters that all Query actions can use.
- + `Common Errors`_: Client and server errors that all actions can
- return.
- + `Regions and Endpoints`_: Itemized regions and endpoints for all
- AWS products.
-
-
- In addition to using the Amazon CloudWatch Logs API, you can also
- use the following SDKs and third-party libraries to access Amazon
- CloudWatch Logs programmatically.
-
-
- + `AWS SDK for Java Documentation`_
- + `AWS SDK for .NET Documentation`_
- + `AWS SDK for PHP Documentation`_
- + `AWS SDK for Ruby Documentation`_
-
-
- Developers in the AWS developer community also provide their own
- libraries, which you can find at the following AWS developer
- centers:
-
-
- + `AWS Java Developer Center`_
- + `AWS PHP Developer Center`_
- + `AWS Python Developer Center`_
- + `AWS Ruby Developer Center`_
- + `AWS Windows and .NET Developer Center`_
- """
- APIVersion = "2014-03-28"
- DefaultRegionName = "us-east-1"
- DefaultRegionEndpoint = "logs.us-east-1.amazonaws.com"
- ServiceName = "CloudWatchLogs"
- TargetPrefix = "Logs_20140328"
- ResponseError = JSONResponseError
-
- _faults = {
- "LimitExceededException": exceptions.LimitExceededException,
- "DataAlreadyAcceptedException": exceptions.DataAlreadyAcceptedException,
- "ResourceInUseException": exceptions.ResourceInUseException,
- "ServiceUnavailableException": exceptions.ServiceUnavailableException,
- "InvalidParameterException": exceptions.InvalidParameterException,
- "ResourceNotFoundException": exceptions.ResourceNotFoundException,
- "ResourceAlreadyExistsException": exceptions.ResourceAlreadyExistsException,
- "OperationAbortedException": exceptions.OperationAbortedException,
- "InvalidSequenceTokenException": exceptions.InvalidSequenceTokenException,
- }
-
- def __init__(self, **kwargs):
- region = kwargs.pop('region', None)
- if not region:
- region = RegionInfo(self, self.DefaultRegionName,
- self.DefaultRegionEndpoint)
-
- if 'host' not in kwargs or kwargs['host'] is None:
- kwargs['host'] = region.endpoint
-
- super(CloudWatchLogsConnection, self).__init__(**kwargs)
- self.region = region
-
- def _required_auth_capability(self):
- return ['hmac-v4']
-
- def create_log_group(self, log_group_name):
- """
- Creates a new log group with the specified name. The name of
- the log group must be unique within a region for an AWS
- account. You can create up to 100 log groups per account.
-
- You must use the following guidelines when naming a log group:
-
- + Log group names can be between 1 and 512 characters long.
- + Allowed characters are az, AZ, 09, '_' (underscore), '-'
- (hyphen), '/' (forward slash), and '.' (period).
-
-
-
- Log groups are created with a default retention of 14 days.
- The retention attribute allow you to configure the number of
- days you want to retain log events in the specified log group.
- See the `SetRetention` operation on how to modify the
- retention of your log groups.
-
- :type log_group_name: string
- :param log_group_name:
-
- """
- params = {'logGroupName': log_group_name, }
- return self.make_request(action='CreateLogGroup',
- body=json.dumps(params))
-
- def create_log_stream(self, log_group_name, log_stream_name):
- """
- Creates a new log stream in the specified log group. The name
- of the log stream must be unique within the log group. There
- is no limit on the number of log streams that can exist in a
- log group.
-
- You must use the following guidelines when naming a log
- stream:
-
- + Log stream names can be between 1 and 512 characters long.
- + The ':' colon character is not allowed.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type log_stream_name: string
- :param log_stream_name:
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'logStreamName': log_stream_name,
- }
- return self.make_request(action='CreateLogStream',
- body=json.dumps(params))
-
- def delete_log_group(self, log_group_name):
- """
- Deletes the log group with the specified name. Amazon
- CloudWatch Logs will delete a log group only if there are no
- log streams and no metric filters associated with the log
- group. If this condition is not satisfied, the request will
- fail and the log group will not be deleted.
-
- :type log_group_name: string
- :param log_group_name:
-
- """
- params = {'logGroupName': log_group_name, }
- return self.make_request(action='DeleteLogGroup',
- body=json.dumps(params))
-
- def delete_log_stream(self, log_group_name, log_stream_name):
- """
- Deletes a log stream and permanently deletes all the archived
- log events associated with it.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type log_stream_name: string
- :param log_stream_name:
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'logStreamName': log_stream_name,
- }
- return self.make_request(action='DeleteLogStream',
- body=json.dumps(params))
-
- def delete_metric_filter(self, log_group_name, filter_name):
- """
- Deletes a metric filter associated with the specified log
- group.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type filter_name: string
- :param filter_name: The name of the metric filter.
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'filterName': filter_name,
- }
- return self.make_request(action='DeleteMetricFilter',
- body=json.dumps(params))
-
- def delete_retention_policy(self, log_group_name):
- """
-
-
- :type log_group_name: string
- :param log_group_name:
-
- """
- params = {'logGroupName': log_group_name, }
- return self.make_request(action='DeleteRetentionPolicy',
- body=json.dumps(params))
-
- def describe_log_groups(self, log_group_name_prefix=None,
- next_token=None, limit=None):
- """
- Returns all the log groups that are associated with the AWS
- account making the request. The list returned in the response
- is ASCII-sorted by log group name.
-
- By default, this operation returns up to 50 log groups. If
- there are more log groups to list, the response would contain
- a `nextToken` value in the response body. You can also limit
- the number of log groups returned in the response by
- specifying the `limit` parameter in the request.
-
- :type log_group_name_prefix: string
- :param log_group_name_prefix:
-
- :type next_token: string
- :param next_token: A string token used for pagination that points to
- the next page of results. It must be a value obtained from the
- response of the previous `DescribeLogGroups` request.
-
- :type limit: integer
- :param limit: The maximum number of items returned in the response. If
- you don't specify a value, the request would return up to 50 items.
-
- """
- params = {}
- if log_group_name_prefix is not None:
- params['logGroupNamePrefix'] = log_group_name_prefix
- if next_token is not None:
- params['nextToken'] = next_token
- if limit is not None:
- params['limit'] = limit
- return self.make_request(action='DescribeLogGroups',
- body=json.dumps(params))
-
- def describe_log_streams(self, log_group_name,
- log_stream_name_prefix=None, next_token=None,
- limit=None):
- """
- Returns all the log streams that are associated with the
- specified log group. The list returned in the response is
- ASCII-sorted by log stream name.
-
- By default, this operation returns up to 50 log streams. If
- there are more log streams to list, the response would contain
- a `nextToken` value in the response body. You can also limit
- the number of log streams returned in the response by
- specifying the `limit` parameter in the request.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type log_stream_name_prefix: string
- :param log_stream_name_prefix:
-
- :type next_token: string
- :param next_token: A string token used for pagination that points to
- the next page of results. It must be a value obtained from the
- response of the previous `DescribeLogStreams` request.
-
- :type limit: integer
- :param limit: The maximum number of items returned in the response. If
- you don't specify a value, the request would return up to 50 items.
-
- """
- params = {'logGroupName': log_group_name, }
- if log_stream_name_prefix is not None:
- params['logStreamNamePrefix'] = log_stream_name_prefix
- if next_token is not None:
- params['nextToken'] = next_token
- if limit is not None:
- params['limit'] = limit
- return self.make_request(action='DescribeLogStreams',
- body=json.dumps(params))
-
- def describe_metric_filters(self, log_group_name,
- filter_name_prefix=None, next_token=None,
- limit=None):
- """
- Returns all the metrics filters associated with the specified
- log group. The list returned in the response is ASCII-sorted
- by filter name.
-
- By default, this operation returns up to 50 metric filters. If
- there are more metric filters to list, the response would
- contain a `nextToken` value in the response body. You can also
- limit the number of metric filters returned in the response by
- specifying the `limit` parameter in the request.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type filter_name_prefix: string
- :param filter_name_prefix: The name of the metric filter.
-
- :type next_token: string
- :param next_token: A string token used for pagination that points to
- the next page of results. It must be a value obtained from the
- response of the previous `DescribeMetricFilters` request.
-
- :type limit: integer
- :param limit: The maximum number of items returned in the response. If
- you don't specify a value, the request would return up to 50 items.
-
- """
- params = {'logGroupName': log_group_name, }
- if filter_name_prefix is not None:
- params['filterNamePrefix'] = filter_name_prefix
- if next_token is not None:
- params['nextToken'] = next_token
- if limit is not None:
- params['limit'] = limit
- return self.make_request(action='DescribeMetricFilters',
- body=json.dumps(params))
-
- def get_log_events(self, log_group_name, log_stream_name,
- start_time=None, end_time=None, next_token=None,
- limit=None, start_from_head=None):
- """
- Retrieves log events from the specified log stream. You can
- provide an optional time range to filter the results on the
- event `timestamp`.
-
- By default, this operation returns as much log events as can
- fit in a response size of 1MB, up to 10,000 log events. The
- response will always include a `nextForwardToken` and a
- `nextBackwardToken` in the response body. You can use any of
- these tokens in subsequent `GetLogEvents` requests to paginate
- through events in either forward or backward direction. You
- can also limit the number of log events returned in the
- response by specifying the `limit` parameter in the request.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type log_stream_name: string
- :param log_stream_name:
-
- :type start_time: long
- :param start_time: A point in time expressed as the number milliseconds
- since Jan 1, 1970 00:00:00 UTC.
-
- :type end_time: long
- :param end_time: A point in time expressed as the number milliseconds
- since Jan 1, 1970 00:00:00 UTC.
-
- :type next_token: string
- :param next_token: A string token used for pagination that points to
- the next page of results. It must be a value obtained from the
- `nextForwardToken` or `nextBackwardToken` fields in the response of
- the previous `GetLogEvents` request.
-
- :type limit: integer
- :param limit: The maximum number of log events returned in the
- response. If you don't specify a value, the request would return as
- much log events as can fit in a response size of 1MB, up to 10,000
- log events.
-
- :type start_from_head: boolean
- :param start_from_head:
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'logStreamName': log_stream_name,
- }
- if start_time is not None:
- params['startTime'] = start_time
- if end_time is not None:
- params['endTime'] = end_time
- if next_token is not None:
- params['nextToken'] = next_token
- if limit is not None:
- params['limit'] = limit
- if start_from_head is not None:
- params['startFromHead'] = start_from_head
- return self.make_request(action='GetLogEvents',
- body=json.dumps(params))
-
- def put_log_events(self, log_group_name, log_stream_name, log_events,
- sequence_token=None):
- """
- Uploads a batch of log events to the specified log stream.
-
- Every PutLogEvents request must include the `sequenceToken`
- obtained from the response of the previous request. An upload
- in a newly created log stream does not require a
- `sequenceToken`.
-
- The batch of events must satisfy the following constraints:
-
- + The maximum batch size is 32,768 bytes, and this size is
- calculated as the sum of all event messages in UTF-8, plus 26
- bytes for each log event.
- + None of the log events in the batch can be more than 2 hours
- in the future.
- + None of the log events in the batch can be older than 14
- days or the retention period of the log group.
- + The log events in the batch must be in chronological ordered
- by their `timestamp`.
- + The maximum number of log events in a batch is 1,000.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type log_stream_name: string
- :param log_stream_name:
-
- :type log_events: list
- :param log_events: A list of events belonging to a log stream.
-
- :type sequence_token: string
- :param sequence_token: A string token that must be obtained from the
- response of the previous `PutLogEvents` request.
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'logStreamName': log_stream_name,
- 'logEvents': log_events,
- }
- if sequence_token is not None:
- params['sequenceToken'] = sequence_token
- return self.make_request(action='PutLogEvents',
- body=json.dumps(params))
-
- def put_metric_filter(self, log_group_name, filter_name, filter_pattern,
- metric_transformations):
- """
- Creates or updates a metric filter and associates it with the
- specified log group. Metric filters allow you to configure
- rules to extract metric data from log events ingested through
- `PutLogEvents` requests.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type filter_name: string
- :param filter_name: The name of the metric filter.
-
- :type filter_pattern: string
- :param filter_pattern:
-
- :type metric_transformations: list
- :param metric_transformations:
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'filterName': filter_name,
- 'filterPattern': filter_pattern,
- 'metricTransformations': metric_transformations,
- }
- return self.make_request(action='PutMetricFilter',
- body=json.dumps(params))
-
- def put_retention_policy(self, log_group_name, retention_in_days):
- """
-
-
- :type log_group_name: string
- :param log_group_name:
-
- :type retention_in_days: integer
- :param retention_in_days: Specifies the number of days you want to
- retain log events in the specified log group. Possible values are:
- 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 547, 730.
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'retentionInDays': retention_in_days,
- }
- return self.make_request(action='PutRetentionPolicy',
- body=json.dumps(params))
-
- def set_retention(self, log_group_name, retention_in_days):
- """
- Sets the retention of the specified log group. Log groups are
- created with a default retention of 14 days. The retention
- attribute allow you to configure the number of days you want
- to retain log events in the specified log group.
-
- :type log_group_name: string
- :param log_group_name:
-
- :type retention_in_days: integer
- :param retention_in_days: Specifies the number of days you want to
- retain log events in the specified log group. Possible values are:
- 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 547, 730.
-
- """
- params = {
- 'logGroupName': log_group_name,
- 'retentionInDays': retention_in_days,
- }
- return self.make_request(action='SetRetention',
- body=json.dumps(params))
-
- def test_metric_filter(self, filter_pattern, log_event_messages):
- """
- Tests the filter pattern of a metric filter against a sample
- of log event messages. You can use this operation to validate
- the correctness of a metric filter pattern.
-
- :type filter_pattern: string
- :param filter_pattern:
-
- :type log_event_messages: list
- :param log_event_messages:
-
- """
- params = {
- 'filterPattern': filter_pattern,
- 'logEventMessages': log_event_messages,
- }
- return self.make_request(action='TestMetricFilter',
- body=json.dumps(params))
-
- def make_request(self, action, body):
- headers = {
- 'X-Amz-Target': '%s.%s' % (self.TargetPrefix, action),
- 'Host': self.region.endpoint,
- 'Content-Type': 'application/x-amz-json-1.1',
- 'Content-Length': str(len(body)),
- }
- http_request = self.build_base_http_request(
- method='POST', path='/', auth_path='/', params={},
- headers=headers, data=body)
- response = self._mexe(http_request, sender=None,
- override_num_retries=10)
- response_body = response.read().decode('utf-8')
- boto.log.debug(response_body)
- if response.status == 200:
- if response_body:
- return json.loads(response_body)
- else:
- json_body = json.loads(response_body)
- fault_name = json_body.get('__type', None)
- exception_class = self._faults.get(fault_name, self.ResponseError)
- raise exception_class(response.status, response.reason,
- body=json_body)

Powered by Google App Engine
This is Rietveld 408576698