aws-cloudformation / aws-cloudformation/cloudformation-cli-python-plugin

Matching service errors to CloudFormation error types?

Open
#74 0 comments 2 reactions 1 assignee Claimed by @ericzbeard View on GitHub
investigating
Dominant language
Python
Stars
107
Forks
46
PR merge metrics
No merged PRs in 30d

Description

There exists a complete mapping from all errors generated by AWS services to the types of errors that can be raised by a resource handler ([defined here](https://github.com/aws-cloudformation/cloudformation-cli-python-plugin/blob/master/src/cloudformation_cli_python_lib/exceptions.py)), though this mapping is currently implicit. There will always be users who want to create their own resources around AWS services, either because of incomplete coverage or for custom behavior. These users need to deduce the elements of this mapping themselves and then implement a matching algorithm in code, as shown in [this example](https://github.com/WeAreCloudar/cloudformation-samples/blob/f59da08d3c3b8b396a00afc97a07f8b92c327c8a/resource_providers/cloudar_ec2_keypair/src/cloudar_ec2_keypair/handlers.py#L44).

Two questions:
1. Could the library make this easier, by providing a way for users to declaratively define the mapping and a convenience method to filter boto exceptions and raise matched CloudFormation exceptions?
2. I _think_ the mapping doesn't depend really ever depend on the user (not totally sure on this part), so once someone has figured it out for one service, that would be useful to all users. Could this mapping therefore be part of the library itself, and contributed to by users over time?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.