moto/scripts
Jordan Sanders 94d35af520
CloudFormation: Add coverage checklist (#6129)
This change introduces a checklist similar to IMPLEMENTATION_COVERAGE.md
to document moto's adherence to the full CloudFormation specification.

The script (invoked via `make cloudformation_coverage`) finds any moto
models that implement `moto.core.common_models.CloudFormationModel` and
checks to see if all CRUD methods are implemented. For `has_cfn_attr`,
it also checks to see if all of the attributes exposed by `Fn::GetAtt` are
implemented. It does not check to see if `physical_resource_id` is
implemented because as far as I can tell, the published AWS spec doesn't
include that information:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html

A more aggressive approach would be to remove default implementations
from all the abstract methods and allow Python to throw for any
unimplemented method. But that would obviously break a lot of things.

Instead, I think the checklist represents good documentation for users
about what they can and can't expect moto to handle when parsing their
CloudFormation templates. It also serves as a nice to-do list of small
improvements for contributors to add (and I'll likely add a few myself).
Many of these would be particularly good "first issues" for first time
contributors because in general, these methods just call existing
methods.
2023-03-27 17:56:19 +01:00
..
template Techdebt: Sure - Scripts (test templates) (#6052) 2023-03-11 14:37:39 -01:00
bump_version Admin: Update Docs to point to getmoto (#5826) 2023-01-07 10:35:14 -01:00
ci_moto_server.sh Prep 2.2.17 release (#4642) 2021-11-29 19:35:18 -01:00
ci_wait_for_server.py Prep 2.2.17 release (#4642) 2021-11-29 19:35:18 -01:00
cloudformation_coverage.py CloudFormation: Add coverage checklist (#6129) 2023-03-27 17:56:19 +01:00
dependency_test.sh Admin: Simplify dependency test (#5827) 2023-01-07 21:54:00 -01:00
ec2_get_instance_type_offerings.py Admin: Update Docs to point to getmoto (#5826) 2023-01-07 10:35:14 -01:00
get_amis.py refactor scripts/get_amis.py into moto.ec2.utils.gen_moto_amis() (#4867) 2022-02-17 12:38:31 -01:00
get_instance_info.py Prep release 3.0 (#4776) 2022-01-21 09:42:36 -01:00
implementation_coverage.py Service: Neptune (#5983) 2023-02-26 15:27:08 -01:00
pull_down_aws_managed_rules.py Add verbose option to pull_down_aws_managed_rules.py (#4500) 2021-10-29 18:27:39 +00:00
rds_get_orderable_db_cluster_options.py Service: Neptune (#5983) 2023-02-26 15:27:08 -01:00
scaffold.py Feature: ACM-PCA (#5712) 2022-11-28 12:22:48 -01:00
ssm_get_default_amis.py SSM - bootstrap /aws/service/ami-amazon-linux-latest parameters (#5427) 2022-08-28 22:30:11 +00:00
ssm_get_default_params.py Admin: Ensure Automatic data update scripts use a unique branch (#5947) 2023-02-19 13:21:34 -01:00
ssm_get_optimized_amis.py SSM: Include default parameters at /aws/service/ecs/optimized-ami (#6008) 2023-03-04 11:36:00 -01:00
update_backend_index.py Feature: OpenSearch (#6128) 2023-03-26 12:43:28 +00:00
update_managed_policies.py IAM - reduce filesize default policies (#5263) 2022-06-26 12:01:25 +00:00