Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/boto/support/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/support/layer1.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,674 +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.support import exceptions - - -class SupportConnection(AWSQueryConnection): - """ - AWS Support - The AWS Support API reference is intended for programmers who need - detailed information about the AWS Support operations and data - types. This service enables you to manage your AWS Support cases - programmatically. It uses HTTP methods that return results in JSON - format. - - The AWS Support service also exposes a set of `Trusted Advisor`_ - features. You can retrieve a list of checks and their - descriptions, get check results, specify checks to refresh, and - get the refresh status of checks. - - The following list describes the AWS Support case management - operations: - - - + **Service names, issue categories, and available severity - levels. **The DescribeServices and DescribeSeverityLevels - operations return AWS service names, service codes, service - categories, and problem severity levels. You use these values when - you call the CreateCase operation. - + **Case creation, case details, and case resolution.** The - CreateCase, DescribeCases, DescribeAttachment, and ResolveCase - operations create AWS Support cases, retrieve information about - cases, and resolve cases. - + **Case communication.** The DescribeCommunications, - AddCommunicationToCase, and AddAttachmentsToSet operations - retrieve and add communications and attachments to AWS Support - cases. - - - The following list describes the operations available from the AWS - Support service for Trusted Advisor: - - - + DescribeTrustedAdvisorChecks returns the list of checks that run - against your AWS resources. - + Using the `CheckId` for a specific check returned by - DescribeTrustedAdvisorChecks, you can call - DescribeTrustedAdvisorCheckResult to obtain the results for the - check you specified. - + DescribeTrustedAdvisorCheckSummaries returns summarized results - for one or more Trusted Advisor checks. - + RefreshTrustedAdvisorCheck requests that Trusted Advisor rerun a - specified check. - + DescribeTrustedAdvisorCheckRefreshStatuses reports the refresh - status of one or more checks. - - - For authentication of requests, AWS Support uses `Signature - Version 4 Signing Process`_. - - See `About the AWS Support API`_ in the AWS Support User Guide for - information about how to use this service to create and manage - your support cases, and how to call Trusted Advisor for results of - checks on your resources. - """ - APIVersion = "2013-04-15" - DefaultRegionName = "us-east-1" - DefaultRegionEndpoint = "support.us-east-1.amazonaws.com" - ServiceName = "Support" - TargetPrefix = "AWSSupport_20130415" - ResponseError = JSONResponseError - - _faults = { - "CaseCreationLimitExceeded": exceptions.CaseCreationLimitExceeded, - "AttachmentLimitExceeded": exceptions.AttachmentLimitExceeded, - "CaseIdNotFound": exceptions.CaseIdNotFound, - "DescribeAttachmentLimitExceeded": exceptions.DescribeAttachmentLimitExceeded, - "AttachmentSetIdNotFound": exceptions.AttachmentSetIdNotFound, - "InternalServerError": exceptions.InternalServerError, - "AttachmentSetExpired": exceptions.AttachmentSetExpired, - "AttachmentIdNotFound": exceptions.AttachmentIdNotFound, - "AttachmentSetSizeLimitExceeded": exceptions.AttachmentSetSizeLimitExceeded, - } - - - 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(SupportConnection, self).__init__(**kwargs) - self.region = region - - def _required_auth_capability(self): - return ['hmac-v4'] - - def add_attachments_to_set(self, attachments, attachment_set_id=None): - """ - Adds one or more attachments to an attachment set. If an - `AttachmentSetId` is not specified, a new attachment set is - created, and the ID of the set is returned in the response. If - an `AttachmentSetId` is specified, the attachments are added - to the specified set, if it exists. - - An attachment set is a temporary container for attachments - that are to be added to a case or case communication. The set - is available for one hour after it is created; the - `ExpiryTime` returned in the response indicates when the set - expires. The maximum number of attachments in a set is 3, and - the maximum size of any attachment in the set is 5 MB. - - :type attachment_set_id: string - :param attachment_set_id: The ID of the attachment set. If an - `AttachmentSetId` is not specified, a new attachment set is - created, and the ID of the set is returned in the response. If an - `AttachmentSetId` is specified, the attachments are added to the - specified set, if it exists. - - :type attachments: list - :param attachments: One or more attachments to add to the set. The - limit is 3 attachments per set, and the size limit is 5 MB per - attachment. - - """ - params = {'attachments': attachments, } - if attachment_set_id is not None: - params['attachmentSetId'] = attachment_set_id - return self.make_request(action='AddAttachmentsToSet', - body=json.dumps(params)) - - def add_communication_to_case(self, communication_body, case_id=None, - cc_email_addresses=None, - attachment_set_id=None): - """ - Adds additional customer communication to an AWS Support case. - You use the `CaseId` value to identify the case to add - communication to. You can list a set of email addresses to - copy on the communication using the `CcEmailAddresses` value. - The `CommunicationBody` value contains the text of the - communication. - - The response indicates the success or failure of the request. - - This operation implements a subset of the behavior on the AWS - Support `Your Support Cases`_ web form. - - :type case_id: string - :param case_id: The AWS Support case ID requested or returned in the - call. The case ID is an alphanumeric string formatted as shown in - this example: case- 12345678910-2013-c4c1d2bf33c5cf47 - - :type communication_body: string - :param communication_body: The body of an email communication to add to - the support case. - - :type cc_email_addresses: list - :param cc_email_addresses: The email addresses in the CC line of an - email to be added to the support case. - - :type attachment_set_id: string - :param attachment_set_id: The ID of a set of one or more attachments - for the communication to add to the case. Create the set by calling - AddAttachmentsToSet - - """ - params = {'communicationBody': communication_body, } - if case_id is not None: - params['caseId'] = case_id - if cc_email_addresses is not None: - params['ccEmailAddresses'] = cc_email_addresses - if attachment_set_id is not None: - params['attachmentSetId'] = attachment_set_id - return self.make_request(action='AddCommunicationToCase', - body=json.dumps(params)) - - def create_case(self, subject, communication_body, service_code=None, - severity_code=None, category_code=None, - cc_email_addresses=None, language=None, issue_type=None, - attachment_set_id=None): - """ - Creates a new case in the AWS Support Center. This operation - is modeled on the behavior of the AWS Support Center `Open a - new case`_ page. Its parameters require you to specify the - following information: - - - #. **IssueType.** The type of issue for the case. You can - specify either "customer-service" or "technical." If you do - not indicate a value, the default is "technical." - #. **ServiceCode.** The code for an AWS service. You obtain - the `ServiceCode` by calling DescribeServices. - #. **CategoryCode.** The category for the service defined for - the `ServiceCode` value. You also obtain the category code for - a service by calling DescribeServices. Each AWS service - defines its own set of category codes. - #. **SeverityCode.** A value that indicates the urgency of the - case, which in turn determines the response time according to - your service level agreement with AWS Support. You obtain the - SeverityCode by calling DescribeSeverityLevels. - #. **Subject.** The **Subject** field on the AWS Support - Center `Open a new case`_ page. - #. **CommunicationBody.** The **Description** field on the AWS - Support Center `Open a new case`_ page. - #. **AttachmentSetId.** The ID of a set of attachments that - has been created by using AddAttachmentsToSet. - #. **Language.** The human language in which AWS Support - handles the case. English and Japanese are currently - supported. - #. **CcEmailAddresses.** The AWS Support Center **CC** field - on the `Open a new case`_ page. You can list email addresses - to be copied on any correspondence about the case. The account - that opens the case is already identified by passing the AWS - Credentials in the HTTP POST method or in a method or function - call from one of the programming languages supported by an - `AWS SDK`_. - - - A successful CreateCase request returns an AWS Support case - number. Case numbers are used by the DescribeCases operation - to retrieve existing AWS Support cases. - - :type subject: string - :param subject: The title of the AWS Support case. - - :type service_code: string - :param service_code: The code for the AWS service returned by the call - to DescribeServices. - - :type severity_code: string - :param severity_code: The code for the severity level returned by the - call to DescribeSeverityLevels. - - :type category_code: string - :param category_code: The category of problem for the AWS Support case. - - :type communication_body: string - :param communication_body: The communication body text when you create - an AWS Support case by calling CreateCase. - - :type cc_email_addresses: list - :param cc_email_addresses: A list of email addresses that AWS Support - copies on case correspondence. - - :type language: string - :param language: The ISO 639-1 code for the language in which AWS - provides support. AWS Support currently supports English ("en") and - Japanese ("ja"). Language parameters must be passed explicitly for - operations that take them. - - :type issue_type: string - :param issue_type: The type of issue for the case. You can specify - either "customer-service" or "technical." If you do not indicate a - value, the default is "technical." - - :type attachment_set_id: string - :param attachment_set_id: The ID of a set of one or more attachments - for the case. Create the set by using AddAttachmentsToSet. - - """ - params = { - 'subject': subject, - 'communicationBody': communication_body, - } - if service_code is not None: - params['serviceCode'] = service_code - if severity_code is not None: - params['severityCode'] = severity_code - if category_code is not None: - params['categoryCode'] = category_code - if cc_email_addresses is not None: - params['ccEmailAddresses'] = cc_email_addresses - if language is not None: - params['language'] = language - if issue_type is not None: - params['issueType'] = issue_type - if attachment_set_id is not None: - params['attachmentSetId'] = attachment_set_id - return self.make_request(action='CreateCase', - body=json.dumps(params)) - - def describe_attachment(self, attachment_id): - """ - Returns the attachment that has the specified ID. Attachment - IDs are generated by the case management system when you add - an attachment to a case or case communication. Attachment IDs - are returned in the AttachmentDetails objects that are - returned by the DescribeCommunications operation. - - :type attachment_id: string - :param attachment_id: The ID of the attachment to return. Attachment - IDs are returned by the DescribeCommunications operation. - - """ - params = {'attachmentId': attachment_id, } - return self.make_request(action='DescribeAttachment', - body=json.dumps(params)) - - def describe_cases(self, case_id_list=None, display_id=None, - after_time=None, before_time=None, - include_resolved_cases=None, next_token=None, - max_results=None, language=None, - include_communications=None): - """ - Returns a list of cases that you specify by passing one or - more case IDs. In addition, you can filter the cases by date - by setting values for the `AfterTime` and `BeforeTime` request - parameters. - - Case data is available for 12 months after creation. If a case - was created more than 12 months ago, a request for data might - cause an error. - - The response returns the following in JSON format: - - - #. One or more CaseDetails data types. - #. One or more `NextToken` values, which specify where to - paginate the returned records represented by the `CaseDetails` - objects. - - :type case_id_list: list - :param case_id_list: A list of ID numbers of the support cases you want - returned. The maximum number of cases is 100. - - :type display_id: string - :param display_id: The ID displayed for a case in the AWS Support - Center user interface. - - :type after_time: string - :param after_time: The start date for a filtered date search on support - case communications. Case communications are available for 12 - months after creation. - - :type before_time: string - :param before_time: The end date for a filtered date search on support - case communications. Case communications are available for 12 - months after creation. - - :type include_resolved_cases: boolean - :param include_resolved_cases: Specifies whether resolved support cases - should be included in the DescribeCases results. The default is - false . - - :type next_token: string - :param next_token: A resumption point for pagination. - - :type max_results: integer - :param max_results: The maximum number of results to return before - paginating. - - :type language: string - :param language: The ISO 639-1 code for the language in which AWS - provides support. AWS Support currently supports English ("en") and - Japanese ("ja"). Language parameters must be passed explicitly for - operations that take them. - - :type include_communications: boolean - :param include_communications: Specifies whether communications should - be included in the DescribeCases results. The default is true . - - """ - params = {} - if case_id_list is not None: - params['caseIdList'] = case_id_list - if display_id is not None: - params['displayId'] = display_id - if after_time is not None: - params['afterTime'] = after_time - if before_time is not None: - params['beforeTime'] = before_time - if include_resolved_cases is not None: - params['includeResolvedCases'] = include_resolved_cases - if next_token is not None: - params['nextToken'] = next_token - if max_results is not None: - params['maxResults'] = max_results - if language is not None: - params['language'] = language - if include_communications is not None: - params['includeCommunications'] = include_communications - return self.make_request(action='DescribeCases', - body=json.dumps(params)) - - def describe_communications(self, case_id, before_time=None, - after_time=None, next_token=None, - max_results=None): - """ - Returns communications (and attachments) for one or more - support cases. You can use the `AfterTime` and `BeforeTime` - parameters to filter by date. You can use the `CaseId` - parameter to restrict the results to a particular case. - - Case data is available for 12 months after creation. If a case - was created more than 12 months ago, a request for data might - cause an error. - - You can use the `MaxResults` and `NextToken` parameters to - control the pagination of the result set. Set `MaxResults` to - the number of cases you want displayed on each page, and use - `NextToken` to specify the resumption of pagination. - - :type case_id: string - :param case_id: The AWS Support case ID requested or returned in the - call. The case ID is an alphanumeric string formatted as shown in - this example: case- 12345678910-2013-c4c1d2bf33c5cf47 - - :type before_time: string - :param before_time: The end date for a filtered date search on support - case communications. Case communications are available for 12 - months after creation. - - :type after_time: string - :param after_time: The start date for a filtered date search on support - case communications. Case communications are available for 12 - months after creation. - - :type next_token: string - :param next_token: A resumption point for pagination. - - :type max_results: integer - :param max_results: The maximum number of results to return before - paginating. - - """ - params = {'caseId': case_id, } - if before_time is not None: - params['beforeTime'] = before_time - if after_time is not None: - params['afterTime'] = after_time - if next_token is not None: - params['nextToken'] = next_token - if max_results is not None: - params['maxResults'] = max_results - return self.make_request(action='DescribeCommunications', - body=json.dumps(params)) - - def describe_services(self, service_code_list=None, language=None): - """ - Returns the current list of AWS services and a list of service - categories that applies to each one. You then use service - names and categories in your CreateCase requests. Each AWS - service has its own set of categories. - - The service codes and category codes correspond to the values - that are displayed in the **Service** and **Category** drop- - down lists on the AWS Support Center `Open a new case`_ page. - The values in those fields, however, do not necessarily match - the service codes and categories returned by the - `DescribeServices` request. Always use the service codes and - categories obtained programmatically. This practice ensures - that you always have the most recent set of service and - category codes. - - :type service_code_list: list - :param service_code_list: A JSON-formatted list of service codes - available for AWS services. - - :type language: string - :param language: The ISO 639-1 code for the language in which AWS - provides support. AWS Support currently supports English ("en") and - Japanese ("ja"). Language parameters must be passed explicitly for - operations that take them. - - """ - params = {} - if service_code_list is not None: - params['serviceCodeList'] = service_code_list - if language is not None: - params['language'] = language - return self.make_request(action='DescribeServices', - body=json.dumps(params)) - - def describe_severity_levels(self, language=None): - """ - Returns the list of severity levels that you can assign to an - AWS Support case. The severity level for a case is also a - field in the CaseDetails data type included in any CreateCase - request. - - :type language: string - :param language: The ISO 639-1 code for the language in which AWS - provides support. AWS Support currently supports English ("en") and - Japanese ("ja"). Language parameters must be passed explicitly for - operations that take them. - - """ - params = {} - if language is not None: - params['language'] = language - return self.make_request(action='DescribeSeverityLevels', - body=json.dumps(params)) - - def describe_trusted_advisor_check_refresh_statuses(self, check_ids): - """ - Returns the refresh status of the Trusted Advisor checks that - have the specified check IDs. Check IDs can be obtained by - calling DescribeTrustedAdvisorChecks. - - :type check_ids: list - :param check_ids: The IDs of the Trusted Advisor checks. - - """ - params = {'checkIds': check_ids, } - return self.make_request(action='DescribeTrustedAdvisorCheckRefreshStatuses', - body=json.dumps(params)) - - def describe_trusted_advisor_check_result(self, check_id, language=None): - """ - Returns the results of the Trusted Advisor check that has the - specified check ID. Check IDs can be obtained by calling - DescribeTrustedAdvisorChecks. - - The response contains a TrustedAdvisorCheckResult object, - which contains these three objects: - - - + TrustedAdvisorCategorySpecificSummary - + TrustedAdvisorResourceDetail - + TrustedAdvisorResourcesSummary - - - In addition, the response contains these fields: - - - + **Status.** The alert status of the check: "ok" (green), - "warning" (yellow), "error" (red), or "not_available". - + **Timestamp.** The time of the last refresh of the check. - + **CheckId.** The unique identifier for the check. - - :type check_id: string - :param check_id: The unique identifier for the Trusted Advisor check. - - :type language: string - :param language: The ISO 639-1 code for the language in which AWS - provides support. AWS Support currently supports English ("en") and - Japanese ("ja"). Language parameters must be passed explicitly for - operations that take them. - - """ - params = {'checkId': check_id, } - if language is not None: - params['language'] = language - return self.make_request(action='DescribeTrustedAdvisorCheckResult', - body=json.dumps(params)) - - def describe_trusted_advisor_check_summaries(self, check_ids): - """ - Returns the summaries of the results of the Trusted Advisor - checks that have the specified check IDs. Check IDs can be - obtained by calling DescribeTrustedAdvisorChecks. - - The response contains an array of TrustedAdvisorCheckSummary - objects. - - :type check_ids: list - :param check_ids: The IDs of the Trusted Advisor checks. - - """ - params = {'checkIds': check_ids, } - return self.make_request(action='DescribeTrustedAdvisorCheckSummaries', - body=json.dumps(params)) - - def describe_trusted_advisor_checks(self, language): - """ - Returns information about all available Trusted Advisor - checks, including name, ID, category, description, and - metadata. You must specify a language code; English ("en") and - Japanese ("ja") are currently supported. The response contains - a TrustedAdvisorCheckDescription for each check. - - :type language: string - :param language: The ISO 639-1 code for the language in which AWS - provides support. AWS Support currently supports English ("en") and - Japanese ("ja"). Language parameters must be passed explicitly for - operations that take them. - - """ - params = {'language': language, } - return self.make_request(action='DescribeTrustedAdvisorChecks', - body=json.dumps(params)) - - def refresh_trusted_advisor_check(self, check_id): - """ - Requests a refresh of the Trusted Advisor check that has the - specified check ID. Check IDs can be obtained by calling - DescribeTrustedAdvisorChecks. - - The response contains a RefreshTrustedAdvisorCheckResult - object, which contains these fields: - - - + **Status.** The refresh status of the check: "none", - "enqueued", "processing", "success", or "abandoned". - + **MillisUntilNextRefreshable.** The amount of time, in - milliseconds, until the check is eligible for refresh. - + **CheckId.** The unique identifier for the check. - - :type check_id: string - :param check_id: The unique identifier for the Trusted Advisor check. - - """ - params = {'checkId': check_id, } - return self.make_request(action='RefreshTrustedAdvisorCheck', - body=json.dumps(params)) - - def resolve_case(self, case_id=None): - """ - Takes a `CaseId` and returns the initial state of the case - along with the state of the case after the call to ResolveCase - completed. - - :type case_id: string - :param case_id: The AWS Support case ID requested or returned in the - call. The case ID is an alphanumeric string formatted as shown in - this example: case- 12345678910-2013-c4c1d2bf33c5cf47 - - """ - params = {} - if case_id is not None: - params['caseId'] = case_id - return self.make_request(action='ResolveCase', - 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)