Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/boto/cloudsearch2/layer1.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/cloudsearch2/layer1.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -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)
