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

Unified Diff: third_party/gsutil/third_party/boto/boto/cloudsearch2/layer2.py

Issue 1377933002: [catapult] - Copy Telemetry's gsutilz over to third_party. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: Rename to gsutil. Created 5 years, 3 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: third_party/gsutil/third_party/boto/boto/cloudsearch2/layer2.py
diff --git a/third_party/gsutil/third_party/boto/boto/cloudsearch2/layer2.py b/third_party/gsutil/third_party/boto/boto/cloudsearch2/layer2.py
new file mode 100644
index 0000000000000000000000000000000000000000..28fdc74c63afc52480c72f0b0ece09d0cea6da25
--- /dev/null
+++ b/third_party/gsutil/third_party/boto/boto/cloudsearch2/layer2.py
@@ -0,0 +1,94 @@
+# Copyright (c) 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.cloudsearch2.layer1 import CloudSearchConnection
+from boto.cloudsearch2.domain import Domain
+from boto.compat import six
+
+
+class Layer2(object):
+
+ def __init__(self, aws_access_key_id=None, aws_secret_access_key=None,
+ is_secure=True, port=None, proxy=None, proxy_port=None,
+ host=None, debug=0, session_token=None, region=None,
+ validate_certs=True, sign_request=False):
+
+ if isinstance(region, six.string_types):
+ import boto.cloudsearch2
+ for region_info in boto.cloudsearch2.regions():
+ if region_info.name == region:
+ region = region_info
+ break
+
+ self.layer1 = CloudSearchConnection(
+ aws_access_key_id=aws_access_key_id,
+ aws_secret_access_key=aws_secret_access_key,
+ is_secure=is_secure,
+ port=port,
+ proxy=proxy,
+ proxy_port=proxy_port,
+ host=host,
+ debug=debug,
+ security_token=session_token,
+ region=region,
+ validate_certs=validate_certs,
+ sign_request=sign_request)
+
+ def list_domains(self, domain_names=None):
+ """
+ Return a list of objects for each domain defined in the
+ current account.
+ :rtype: list of :class:`boto.cloudsearch2.domain.Domain`
+ """
+ domain_data = self.layer1.describe_domains(domain_names)
+
+ domain_data = (domain_data['DescribeDomainsResponse']
+ ['DescribeDomainsResult']
+ ['DomainStatusList'])
+
+ return [Domain(self.layer1, data) for data in domain_data]
+
+ def create_domain(self, domain_name):
+ """
+ Create a new CloudSearch domain and return the corresponding object.
+ :return: Domain object, or None if the domain isn't found
+ :rtype: :class:`boto.cloudsearch2.domain.Domain`
+ """
+ data = self.layer1.create_domain(domain_name)
+ return Domain(self.layer1, data['CreateDomainResponse']
+ ['CreateDomainResult']
+ ['DomainStatus'])
+
+ def lookup(self, domain_name):
+ """
+ Lookup a single domain
+ :param domain_name: The name of the domain to look up
+ :type domain_name: str
+
+ :return: Domain object, or None if the domain isn't found
+ :rtype: :class:`boto.cloudsearch2.domain.Domain`
+ """
+ domains = self.list_domains(domain_names=[domain_name])
+ if len(domains) > 0:
+ return domains[0]

Powered by Google App Engine
This is Rietveld 408576698