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

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/boto/cloudsearch2/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/cloudsearch2/layer1.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/cloudsearch2/layer1.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/cloudsearch2/layer1.py
deleted file mode 100644
index a39b08f585d0e56b3f5e2d3658f42abfbff05492..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/cloudsearch2/layer1.py
+++ /dev/null
@@ -1,783 +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.compat import json
-from boto.connection import AWSQueryConnection
-from boto.regioninfo import RegionInfo
-from boto.exception import JSONResponseError
-from boto.cloudsearch2 import exceptions
-
-
-class CloudSearchConnection(AWSQueryConnection):
- """
- Amazon CloudSearch Configuration Service
- You use the Amazon CloudSearch configuration service to create,
- configure, and manage search domains. Configuration service
- requests are submitted using the AWS Query protocol. AWS Query
- requests are HTTP or HTTPS requests submitted via HTTP GET or POST
- with a query parameter named Action.
-
- The endpoint for configuration service requests is region-
- specific: cloudsearch. region .amazonaws.com. For example,
- cloudsearch.us-east-1.amazonaws.com. For a current list of
- supported regions and endpoints, see `Regions and Endpoints`_.
- """
- APIVersion = "2013-01-01"
- DefaultRegionName = "us-east-1"
- DefaultRegionEndpoint = "cloudsearch.us-east-1.amazonaws.com"
- ResponseError = JSONResponseError
-
- _faults = {
- "InvalidTypeException": exceptions.InvalidTypeException,
- "LimitExceededException": exceptions.LimitExceededException,
- "InternalException": exceptions.InternalException,
- "DisabledOperationException": exceptions.DisabledOperationException,
- "ResourceNotFoundException": exceptions.ResourceNotFoundException,
- "BaseException": exceptions.BaseException,
- }
-
- 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
-
- sign_request = kwargs.pop('sign_request', False)
- self.sign_request = sign_request
-
- super(CloudSearchConnection, self).__init__(**kwargs)
- self.region = region
-
- def _required_auth_capability(self):
- return ['hmac-v4']
-
- def build_suggesters(self, domain_name):
- """
- Indexes the search suggestions.
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- """
- params = {'DomainName': domain_name, }
- return self._make_request(
- action='BuildSuggesters',
- verb='POST',
- path='/', params=params)
-
- def create_domain(self, domain_name):
- """
- Creates a new search domain. For more information, see
- `Creating a Search Domain`_ in the Amazon CloudSearch
- Developer Guide .
-
- :type domain_name: string
- :param domain_name: A name for the domain you are creating. Allowed
- characters are a-z (lower-case letters), 0-9, and hyphen (-).
- Domain names must start with a letter or number and be at least 3
- and no more than 28 characters long.
-
- """
- params = {'DomainName': domain_name, }
- return self._make_request(
- action='CreateDomain',
- verb='POST',
- path='/', params=params)
-
- def define_analysis_scheme(self, domain_name, analysis_scheme):
- """
- Configures an analysis scheme that can be applied to a `text`
- or `text-array` field to define language-specific text
- processing options. For more information, see `Configuring
- Analysis Schemes`_ in the Amazon CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type analysis_scheme: dict
- :param analysis_scheme: Configuration information for an analysis
- scheme. Each analysis scheme has a unique name and specifies the
- language of the text to be processed. The following options can be
- configured for an analysis scheme: `Synonyms`, `Stopwords`,
- `StemmingDictionary`, and `AlgorithmicStemming`.
-
- """
- params = {'DomainName': domain_name, }
- self.build_complex_param(params, 'AnalysisScheme',
- analysis_scheme)
- return self._make_request(
- action='DefineAnalysisScheme',
- verb='POST',
- path='/', params=params)
-
- def define_expression(self, domain_name, expression):
- """
- Configures an `Expression` for the search domain. Used to
- create new expressions and modify existing ones. If the
- expression exists, the new configuration replaces the old one.
- For more information, see `Configuring Expressions`_ in the
- Amazon CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type expression: dict
- :param expression: A named expression that can be evaluated at search
- time. Can be used to sort the search results, define other
- expressions, or return computed information in the search results.
-
- """
- params = {'DomainName': domain_name, }
- self.build_complex_param(params, 'Expression',
- expression)
- return self._make_request(
- action='DefineExpression',
- verb='POST',
- path='/', params=params)
-
- def define_index_field(self, domain_name, index_field):
- """
- Configures an `IndexField` for the search domain. Used to
- create new fields and modify existing ones. You must specify
- the name of the domain you are configuring and an index field
- configuration. The index field configuration specifies a
- unique name, the index field type, and the options you want to
- configure for the field. The options you can specify depend on
- the `IndexFieldType`. If the field exists, the new
- configuration replaces the old one. For more information, see
- `Configuring Index Fields`_ in the Amazon CloudSearch
- Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type index_field: dict
- :param index_field: The index field and field options you want to
- configure.
-
- """
- params = {'DomainName': domain_name, }
- self.build_complex_param(params, 'IndexField',
- index_field)
- return self._make_request(
- action='DefineIndexField',
- verb='POST',
- path='/', params=params)
-
- def define_suggester(self, domain_name, suggester):
- """
- Configures a suggester for a domain. A suggester enables you
- to display possible matches before users finish typing their
- queries. When you configure a suggester, you must specify the
- name of the text field you want to search for possible matches
- and a unique name for the suggester. For more information, see
- `Getting Search Suggestions`_ in the Amazon CloudSearch
- Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type suggester: dict
- :param suggester: Configuration information for a search suggester.
- Each suggester has a unique name and specifies the text field you
- want to use for suggestions. The following options can be
- configured for a suggester: `FuzzyMatching`, `SortExpression`.
-
- """
- params = {'DomainName': domain_name, }
- self.build_complex_param(params, 'Suggester',
- suggester)
- return self._make_request(
- action='DefineSuggester',
- verb='POST',
- path='/', params=params)
-
- def delete_analysis_scheme(self, domain_name, analysis_scheme_name):
- """
- Deletes an analysis scheme. For more information, see
- `Configuring Analysis Schemes`_ in the Amazon CloudSearch
- Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type analysis_scheme_name: string
- :param analysis_scheme_name: The name of the analysis scheme you want
- to delete.
-
- """
- params = {
- 'DomainName': domain_name,
- 'AnalysisSchemeName': analysis_scheme_name,
- }
- return self._make_request(
- action='DeleteAnalysisScheme',
- verb='POST',
- path='/', params=params)
-
- def delete_domain(self, domain_name):
- """
- Permanently deletes a search domain and all of its data. Once
- a domain has been deleted, it cannot be recovered. For more
- information, see `Deleting a Search Domain`_ in the Amazon
- CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: The name of the domain you want to permanently
- delete.
-
- """
- params = {'DomainName': domain_name, }
- return self._make_request(
- action='DeleteDomain',
- verb='POST',
- path='/', params=params)
-
- def delete_expression(self, domain_name, expression_name):
- """
- Removes an `Expression` from the search domain. For more
- information, see `Configuring Expressions`_ in the Amazon
- CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type expression_name: string
- :param expression_name: The name of the `Expression` to delete.
-
- """
- params = {
- 'DomainName': domain_name,
- 'ExpressionName': expression_name,
- }
- return self._make_request(
- action='DeleteExpression',
- verb='POST',
- path='/', params=params)
-
- def delete_index_field(self, domain_name, index_field_name):
- """
- Removes an `IndexField` from the search domain. For more
- information, see `Configuring Index Fields`_ in the Amazon
- CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type index_field_name: string
- :param index_field_name: The name of the index field your want to
- remove from the domain's indexing options.
-
- """
- params = {
- 'DomainName': domain_name,
- 'IndexFieldName': index_field_name,
- }
- return self._make_request(
- action='DeleteIndexField',
- verb='POST',
- path='/', params=params)
-
- def delete_suggester(self, domain_name, suggester_name):
- """
- Deletes a suggester. For more information, see `Getting Search
- Suggestions`_ in the Amazon CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type suggester_name: string
- :param suggester_name: Specifies the name of the suggester you want to
- delete.
-
- """
- params = {
- 'DomainName': domain_name,
- 'SuggesterName': suggester_name,
- }
- return self._make_request(
- action='DeleteSuggester',
- verb='POST',
- path='/', params=params)
-
- def describe_analysis_schemes(self, domain_name,
- analysis_scheme_names=None, deployed=None):
- """
- Gets the analysis schemes configured for a domain. An analysis
- scheme defines language-specific text processing options for a
- `text` field. Can be limited to specific analysis schemes by
- name. By default, shows all analysis schemes and includes any
- pending changes to the configuration. Set the `Deployed`
- option to `True` to show the active configuration and exclude
- pending changes. For more information, see `Configuring
- Analysis Schemes`_ in the Amazon CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: The name of the domain you want to describe.
-
- :type analysis_scheme_names: list
- :param analysis_scheme_names: The analysis schemes you want to
- describe.
-
- :type deployed: boolean
- :param deployed: Whether to display the deployed configuration (
- `True`) or include any pending changes ( `False`). Defaults to
- `False`.
-
- """
- params = {'DomainName': domain_name, }
- if analysis_scheme_names is not None:
- self.build_list_params(params,
- analysis_scheme_names,
- 'AnalysisSchemeNames.member')
- if deployed is not None:
- params['Deployed'] = str(
- deployed).lower()
- return self._make_request(
- action='DescribeAnalysisSchemes',
- verb='POST',
- path='/', params=params)
-
- def describe_availability_options(self, domain_name, deployed=None):
- """
- Gets the availability options configured for a domain. By
- default, shows the configuration with any pending changes. Set
- the `Deployed` option to `True` to show the active
- configuration and exclude pending changes. For more
- information, see `Configuring Availability Options`_ in the
- Amazon CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: The name of the domain you want to describe.
-
- :type deployed: boolean
- :param deployed: Whether to display the deployed configuration (
- `True`) or include any pending changes ( `False`). Defaults to
- `False`.
-
- """
- params = {'DomainName': domain_name, }
- if deployed is not None:
- params['Deployed'] = str(
- deployed).lower()
- return self._make_request(
- action='DescribeAvailabilityOptions',
- verb='POST',
- path='/', params=params)
-
- def describe_domains(self, domain_names=None):
- """
- Gets information about the search domains owned by this
- account. Can be limited to specific domains. Shows all domains
- by default. To get the number of searchable documents in a
- domain, use the console or submit a `matchall` request to your
- domain's search endpoint:
- `q=matchall&q.parser=structured&size=0`. For more information,
- see `Getting Information about a Search Domain`_ in the Amazon
- CloudSearch Developer Guide .
-
- :type domain_names: list
- :param domain_names: The names of the domains you want to include in
- the response.
-
- """
- params = {}
- if domain_names is not None:
- self.build_list_params(params,
- domain_names,
- 'DomainNames.member')
- return self._make_request(
- action='DescribeDomains',
- verb='POST',
- path='/', params=params)
-
- def describe_expressions(self, domain_name, expression_names=None,
- deployed=None):
- """
- Gets the expressions configured for the search domain. Can be
- limited to specific expressions by name. By default, shows all
- expressions and includes any pending changes to the
- configuration. Set the `Deployed` option to `True` to show the
- active configuration and exclude pending changes. For more
- information, see `Configuring Expressions`_ in the Amazon
- CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: The name of the domain you want to describe.
-
- :type expression_names: list
- :param expression_names: Limits the `DescribeExpressions` response to
- the specified expressions. If not specified, all expressions are
- shown.
-
- :type deployed: boolean
- :param deployed: Whether to display the deployed configuration (
- `True`) or include any pending changes ( `False`). Defaults to
- `False`.
-
- """
- params = {'DomainName': domain_name, }
- if expression_names is not None:
- self.build_list_params(params,
- expression_names,
- 'ExpressionNames.member')
- if deployed is not None:
- params['Deployed'] = str(
- deployed).lower()
- return self._make_request(
- action='DescribeExpressions',
- verb='POST',
- path='/', params=params)
-
- def describe_index_fields(self, domain_name, field_names=None,
- deployed=None):
- """
- Gets information about the index fields configured for the
- search domain. Can be limited to specific fields by name. By
- default, shows all fields and includes any pending changes to
- the configuration. Set the `Deployed` option to `True` to show
- the active configuration and exclude pending changes. For more
- information, see `Getting Domain Information`_ in the Amazon
- CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: The name of the domain you want to describe.
-
- :type field_names: list
- :param field_names: A list of the index fields you want to describe. If
- not specified, information is returned for all configured index
- fields.
-
- :type deployed: boolean
- :param deployed: Whether to display the deployed configuration (
- `True`) or include any pending changes ( `False`). Defaults to
- `False`.
-
- """
- params = {'DomainName': domain_name, }
- if field_names is not None:
- self.build_list_params(params,
- field_names,
- 'FieldNames.member')
- if deployed is not None:
- params['Deployed'] = str(
- deployed).lower()
- return self._make_request(
- action='DescribeIndexFields',
- verb='POST',
- path='/', params=params)
-
- def describe_scaling_parameters(self, domain_name):
- """
- Gets the scaling parameters configured for a domain. A
- domain's scaling parameters specify the desired search
- instance type and replication count. For more information, see
- `Configuring Scaling Options`_ in the Amazon CloudSearch
- Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- """
- params = {'DomainName': domain_name, }
- return self._make_request(
- action='DescribeScalingParameters',
- verb='POST',
- path='/', params=params)
-
- def describe_service_access_policies(self, domain_name, deployed=None):
- """
- Gets information about the access policies that control access
- to the domain's document and search endpoints. By default,
- shows the configuration with any pending changes. Set the
- `Deployed` option to `True` to show the active configuration
- and exclude pending changes. For more information, see
- `Configuring Access for a Search Domain`_ in the Amazon
- CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: The name of the domain you want to describe.
-
- :type deployed: boolean
- :param deployed: Whether to display the deployed configuration (
- `True`) or include any pending changes ( `False`). Defaults to
- `False`.
-
- """
- params = {'DomainName': domain_name, }
- if deployed is not None:
- params['Deployed'] = str(
- deployed).lower()
- return self._make_request(
- action='DescribeServiceAccessPolicies',
- verb='POST',
- path='/', params=params)
-
- def describe_suggesters(self, domain_name, suggester_names=None,
- deployed=None):
- """
- Gets the suggesters configured for a domain. A suggester
- enables you to display possible matches before users finish
- typing their queries. Can be limited to specific suggesters by
- name. By default, shows all suggesters and includes any
- pending changes to the configuration. Set the `Deployed`
- option to `True` to show the active configuration and exclude
- pending changes. For more information, see `Getting Search
- Suggestions`_ in the Amazon CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: The name of the domain you want to describe.
-
- :type suggester_names: list
- :param suggester_names: The suggesters you want to describe.
-
- :type deployed: boolean
- :param deployed: Whether to display the deployed configuration (
- `True`) or include any pending changes ( `False`). Defaults to
- `False`.
-
- """
- params = {'DomainName': domain_name, }
- if suggester_names is not None:
- self.build_list_params(params,
- suggester_names,
- 'SuggesterNames.member')
- if deployed is not None:
- params['Deployed'] = str(
- deployed).lower()
- return self._make_request(
- action='DescribeSuggesters',
- verb='POST',
- path='/', params=params)
-
- def index_documents(self, domain_name):
- """
- Tells the search domain to start indexing its documents using
- the latest indexing options. This operation must be invoked to
- activate options whose OptionStatus is
- `RequiresIndexDocuments`.
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- """
- params = {'DomainName': domain_name, }
- return self._make_request(
- action='IndexDocuments',
- verb='POST',
- path='/', params=params)
-
- def list_domain_names(self):
- """
- Lists all search domains owned by an account.
- """
- params = {}
- return self._make_request(
- action='ListDomainNames',
- verb='POST',
- path='/', params=params)
-
- def update_availability_options(self, domain_name, multi_az):
- """
- Configures the availability options for a domain. Enabling the
- Multi-AZ option expands an Amazon CloudSearch domain to an
- additional Availability Zone in the same Region to increase
- fault tolerance in the event of a service disruption. Changes
- to the Multi-AZ option can take about half an hour to become
- active. For more information, see `Configuring Availability
- Options`_ in the Amazon CloudSearch Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type multi_az: boolean
- :param multi_az: You expand an existing search domain to a second
- Availability Zone by setting the Multi-AZ option to true.
- Similarly, you can turn off the Multi-AZ option to downgrade the
- domain to a single Availability Zone by setting the Multi-AZ option
- to `False`.
-
- """
- params = {'DomainName': domain_name, 'MultiAZ': multi_az, }
- return self._make_request(
- action='UpdateAvailabilityOptions',
- verb='POST',
- path='/', params=params)
-
- def update_scaling_parameters(self, domain_name, scaling_parameters):
- """
- Configures scaling parameters for a domain. A domain's scaling
- parameters specify the desired search instance type and
- replication count. Amazon CloudSearch will still automatically
- scale your domain based on the volume of data and traffic, but
- not below the desired instance type and replication count. If
- the Multi-AZ option is enabled, these values control the
- resources used per Availability Zone. For more information,
- see `Configuring Scaling Options`_ in the Amazon CloudSearch
- Developer Guide .
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type scaling_parameters: dict
- :param scaling_parameters: The desired instance type and desired number
- of replicas of each index partition.
-
- """
- params = {'DomainName': domain_name, }
- self.build_complex_param(params, 'ScalingParameters',
- scaling_parameters)
- return self._make_request(
- action='UpdateScalingParameters',
- verb='POST',
- path='/', params=params)
-
- def update_service_access_policies(self, domain_name, access_policies):
- """
- Configures the access rules that control access to the
- domain's document and search endpoints. For more information,
- see ` Configuring Access for an Amazon CloudSearch Domain`_.
-
- :type domain_name: string
- :param domain_name: A string that represents the name of a domain.
- Domain names are unique across the domains owned by an account
- within an AWS region. Domain names start with a letter or number
- and can contain the following characters: a-z (lowercase), 0-9, and
- - (hyphen).
-
- :type access_policies: string
- :param access_policies: The access rules you want to configure. These
- rules replace any existing rules.
-
- """
- params = {
- 'DomainName': domain_name,
- 'AccessPolicies': access_policies,
- }
- return self._make_request(
- action='UpdateServiceAccessPolicies',
- verb='POST',
- path='/', params=params)
-
- def build_complex_param(self, params, label, value):
- """Serialize a structure.
-
- For example::
-
- param_type = 'structure'
- label = 'IndexField'
- value = {'IndexFieldName': 'a', 'IntOptions': {'DefaultValue': 5}}
-
- would result in the params dict being updated with these params::
-
- IndexField.IndexFieldName = a
- IndexField.IntOptions.DefaultValue = 5
-
- :type params: dict
- :param params: The params dict. The complex list params
- will be added to this dict.
-
- :type label: str
- :param label: String label for param key
-
- :type value: any
- :param value: The value to serialize
- """
- for k, v in value.items():
- if isinstance(v, dict):
- for k2, v2 in v.items():
- self.build_complex_param(params, label + '.' + k, v)
- elif isinstance(v, bool):
- params['%s.%s' % (label, k)] = v and 'true' or 'false'
- else:
- params['%s.%s' % (label, k)] = v
-
- def _make_request(self, action, verb, path, params):
- params['ContentType'] = 'JSON'
- response = self.make_request(action=action, verb='POST',
- path='/', params=params)
- body = response.read().decode('utf-8')
- boto.log.debug(body)
- if response.status == 200:
- return json.loads(body)
- else:
- json_body = json.loads(body)
- fault_name = json_body.get('Error', {}).get('Code', 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