mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-23 05:10:22 -07:00
[cloud] New module: AWS API Gageway module (#20230)
* Ultra basic api-gateway module based of lambda.py * Ultra basic deployment added to api-gateway module * ApiGateway module Allow creation of APIs, more documentation and better return value * ApiGateway module incorporate review feedback * ApiGateway module flake8 cleanup * APIGateway module - more review fixes. * slightly better messages in api_gateway module * AWS api_gateway module - try to improve messages in case of exceptions * rename api_gateway module to aws_api_gateway as discussed in PR 20230 * aws_api_gateway - Allow delivery of swagger either as text or dictionary. * aws_api_gateway module - introduce 'unit' tests, improve imports using them and small fixes * aws_api_gateway module - move path expand_user to avoid early typecheck * aws_api_gateway - version means version of metadata not module - fix to 1.0 * aws_api_gateway module - Rely on module_utils.ec2 for imports & path type for expanduser / cleanups * aws_api_gateway module - heavy cleanup and refactor of code + cloud retry functionality. * api_gateway_module - failing test case for handling more than one deployment in succession and API deletion * add TooManyRequestsException to AWSRetry exception list - makes API deployment work. * api_gateway_module - Fixes for various review comments + errors from various linters * api_gateway_module - Fixes for more review comments + linter error * api_gateway_module - Major refactor into sensible functions - create_response becomes configure_response * api_gateway_module - should be working under python3; remove test exclusion * api_gateway_module - finish off remaining review fixes - use ansible defaults and fix mutually exclusive * api_gateway_module - attempt to improve handling of botocore errors in python3 * api_gateway_module - implement state=absent / API deletion
This commit is contained in:
parent
087b5277f1
commit
e28845018d
7 changed files with 651 additions and 1 deletions
|
@ -80,9 +80,17 @@ class AWSRetry(CloudRetry):
|
|||
def found(response_code):
|
||||
# This list of failures is based on this API Reference
|
||||
# http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html
|
||||
#
|
||||
# TooManyRequestsException comes from inside botocore when it
|
||||
# does retrys, unfortunately however it does not try long
|
||||
# enough to allow some services such as API Gateway to
|
||||
# complete configuration. At the moment of writing there is a
|
||||
# botocore/boto3 bug open to fix this.
|
||||
#
|
||||
# https://github.com/boto/boto3/issues/876 (and linked PRs etc)
|
||||
retry_on = [
|
||||
'RequestLimitExceeded', 'Unavailable', 'ServiceUnavailable',
|
||||
'InternalFailure', 'InternalError'
|
||||
'InternalFailure', 'InternalError', 'TooManyRequestsException'
|
||||
]
|
||||
|
||||
not_found = re.compile(r'^\w+.NotFound')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue