All notable changes to this project are documented in this file.
-
Code
- initiated
awsmate.sns
module withawsmate.sns.LambdaMessageEvent
- initiated
-
Example application
- Python and Terraform source code to demonstrate
awsmate.sns
- Python and Terraform source code to demonstrate
-
Code
- transparently moved code from class
awsmate.s3.LambdaNotificationEvent
toawsmate.lambdafunction.LambdaEvent
for mutualization
- transparently moved code from class
-
Example application
- Terraform version upgrade
nothing
nothing
-
Code
awsmate.apigateway.LambdaProxyEvent.__init__()
: fixed return type hintawsmate.s3.LambdaNotificationEvent.__init__()
: fixed return type hint
-
Example application
- Fixed erroneous S3 bucket ACL in Terraform code that is now rejected by AWS
nothing
nothing
-
Example application
- Terraform version upgrade
-
Documentation
- wording
- README structure
nothing
nothing
-
Code
awsmate.lambdafunction.LambdaEvent.__init__()
: fixed error message if passed parameter is not adict
awsmate.s3.LambdaNotificationEvent.object_url()
: fixed missing return type hint
-
Documentation
- example application: protected
curl
URLs with quotes so that the shell does not interpret&
- example application: fixed typos in some example URLs
- example application: protected
nothing
-
Code
- added class
awsmate.apigateway.HttpServerError
- added class
awsmate.apigateway.HttpError
, which is the base class ofawsmate.apigateway.HttpClientError
andawsmate.apigateway.HttpServerError
- added class
awsmate.apigateway.HttpServerError
hierarchy - added method
awsmate.s3.LambdaNotificationEvent.object_url()
- added class
-
Example application
- added a Lambda function specific to
awsmate.logger
- added a Lambda function specific to
-
Code
awsmate.logger.log_internal_error()
: explanatory message has been made optionalawsmate.apigateway.HttpClientError
doesn't log an error anymore at construction timeawsmate.apigateway.build_http_server_error_response()
has a new signature and logs a critical error and a stack trace by defaultawsmate.apigateway.build_http_client_error_response()
now logs an error by defaultawsmate.s3.LambdaNotificationEvent.object_key()
performs URL decoding on the returned value
-
Documentation
- example application: rewording
-
Example application
- made the AWS region used for deployment configurable through an environment variable, without editing any file
nothing
nothing
- Code
awsmate.apigateway
: corrected type hints for**kwargs
- Example application
- deployment scripts:
.
was mistakenly assumed to be in thePATH
. - API Gateway: fixed the redeployment issue
- deployment scripts:
nothing
-
Code
- added
awsmate.apigateway.LambdaProxyEvent.source_ip()
- added all missing
awsmate.apigateway.HttpClientError
subclasses - initiated
awsmate.eventbridge
module withawsmate.eventbridge.LambdaBridgePutEvent
- added
-
Documentation
- Flyout menu that allows switching between versions
- Available for download in PDF and HTML (zip)
-
Code
- Made all
awsmate.apigateway.HttpClientError
subclasses to rely onhttp.HTTPStatus
for status codes and standard messages - Refactoring
- Made all
-
Documentation
- Direct access to sub-levels of the documentation from the table of contents in the sidebar
-
Example application
- Terraform version upgrade
- Refactoring: Terraform code structure and AWS resources naming
- Code
awsmate.apigateway.build_http_server_error_response()
will change in version 0.3.0: themessage
positional parameter will be replaced by anerror
parameter of typeHttpServerError
to be introduced in the same version.
nothing
-
Code
- fixed status code of
awsmate.apigateway.HttpUnauthorizedError
: was erroneously set to 403. Now set to 401.
- fixed status code of
-
Example application
- API Gateway route "forbidden" was not using the correct exception (
awsmate.apigateway.HttpForbiddenError
)
- API Gateway route "forbidden" was not using the correct exception (
nothing
-
Documentation
- Contributing guidelines
- Code of conduct
-
Example application
- Deployment scripts
- Python and Terraform source code to demonstrate
awsmate.apigateway
,awsmate.s3
andawsmate.logger
- Corresponding documentation
-
Code
- added variable
awsmate.__version__
- added
awsmate.apigateway.LambdaProxyEvent.http_protocol()
- added
awsmate.apigateway.LambdaProxyEvent.http_user_agent()
- added
awsmate.apigateway.LambdaProxyEvent.query_domain_name()
- added
awsmate.apigateway.LambdaProxyEvent.authorizer_claims()
- added
awsmate.s3.LambdaNotificationEvent.object_size()
- added
awsmate.s3.LambdaNotificationEvent.object_etag()
- added
awsmate.s3.LambdaNotificationEvent.bucket_name()
- added
awsmate.s3.LambdaNotificationEvent.bucket_arn()
- added
awsmate.s3.LambdaNotificationEvent.event_name()
- added variable
-
Documentation
- improved documentation in general
-
Code
- made
awsmate.apigateway.LambdaProxyEvent.http_method()
based onevent['requestContext']['httpMethod']
instead ofevent['httpMethod']
- made
awsmate.apigateway.build_http_server_error_response()
to handle**kwargs
to pass toawsmate.apigateway.build_http_response
- made
awsmate.apigateway.build_http_client_error_response()
to handle**kwargs
to pass toawsmate.apigateway.build_http_response
- renamed
awsmate.apigateway.LambdaProxyEvent.call_path()
->awsmate.apigateway.LambdaProxyEvent.query_path()
and made it based onevent['requestContext']['path']
instead ofevent['path']
- renamed
awsmate.apigateway.LambdaProxyEvent.call_string()
->awsmate.apigateway.LambdaProxyEvent.query_string()
and made it include the prototype and the domain name of the call - renamed
awsmate.apigateway.LambdaProxyEvent.payload()
->awsmate.apigateway.LambdaProxyEvent.query_payload_()
- made
nothing
nothing
nothing
nothing
- this changelog
- documentation of the existing code
- function
awsmate.logger.log_internal_error()
- Almost all functions: Python naming convention applied to parameters
- Method
awsmate.s3.LambdaNotificationEvent.object_key()
: corrected a typo in its name
nothing
nothing
nothing
nothing
Genesis.