Update README.md - clean up list of supported services (#4313)

This commit is contained in:
Bert Blommers 2021-09-21 14:02:42 +00:00 committed by GitHub
parent 0dfae06126
commit afa7f40f1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 291 additions and 7498 deletions

File diff suppressed because it is too large Load Diff

106
README.md
View File

@ -70,62 +70,58 @@ def test_my_model_save():
With the decorator wrapping the test, all the calls to s3 are automatically mocked out. The mock keeps the state of the buckets and keys.
It gets even better! Moto isn't just for Python code and it isn't just for S3. Look at the [standalone server mode](https://github.com/spulec/moto#stand-alone-server-mode) for more information about running Moto with other languages. Here's the status of the other AWS services implemented:
It gets even better! Moto isn't just for Python code and it isn't just for S3. Look at the [standalone server mode](https://github.com/spulec/moto#stand-alone-server-mode) for more information about running Moto with other languages.
Here's the partial list of the AWS services that currently have support:
| Service Name | Decorator | Development Status | Comment |
|---------------------------|-----------------------|---------------------------------|-----------------------------|
| ACM | @mock_acm | all endpoints done | |
| API Gateway | @mock_apigateway | core endpoints done | |
| Application Autoscaling | @mock_applicationautoscaling | basic endpoints done | |
| Athena | @mock_athena | core endpoints done | |
| Autoscaling | @mock_autoscaling | core endpoints done | |
| Cloudformation | @mock_cloudformation | core endpoints done | |
| Cloudwatch | @mock_cloudwatch | basic endpoints done | |
| CloudwatchEvents | @mock_events | all endpoints done | |
| Cognito Identity | @mock_cognitoidentity | basic endpoints done | |
| Cognito Identity Provider | @mock_cognitoidp | basic endpoints done | |
| Config | @mock_config | basic + core endpoints done | |
| Data Pipeline | @mock_datapipeline | basic endpoints done | |
| DynamoDB | @mock_dynamodb | core endpoints done | API 20111205. Deprecated. |
| DynamoDB2 | @mock_dynamodb2 | core endpoints done | API 20120810 (Latest) |
| EC2 | @mock_ec2 | core endpoints done | |
| - AMI | | core endpoints done | |
| - EBS | | core endpoints done | |
| - Instances | | all endpoints done | |
| - Security Groups | | core endpoints done | |
| - Tags | | all endpoints done | |
| ECR | @mock_ecr | basic endpoints done | |
| ECS | @mock_ecs | basic endpoints done | |
| ELB | @mock_elb | core endpoints done | |
| ELBv2 | @mock_elbv2 | all endpoints done | |
| EMR | @mock_emr | core endpoints done | |
| Forecast | @mock_forecast | some core endpoints done | |
| Glacier | @mock_glacier | core endpoints done | |
| Glue | @mock_glue | core endpoints done | |
| IAM | @mock_iam | core endpoints done | |
| IoT | @mock_iot | core endpoints done | |
| IoT data | @mock_iotdata | core endpoints done | |
| Kinesis | @mock_kinesis | core endpoints done | |
| KMS | @mock_kms | basic endpoints done | |
| Lambda | @mock_lambda | basic endpoints done, requires docker | |
| Logs | @mock_logs | basic endpoints done | |
| Organizations | @mock_organizations | some core endpoints done | |
| Polly | @mock_polly | all endpoints done | |
| RAM | @mock_ram | core endpoints done | |
| RDS | @mock_rds | core endpoints done | |
| RDS2 | @mock_rds2 | core endpoints done | |
| Redshift | @mock_redshift | core endpoints done | |
| Route53 | @mock_route53 | core endpoints done | |
| S3 | @mock_s3 | core endpoints done | |
| SecretsManager | @mock_secretsmanager | basic endpoints done | |
| SES | @mock_ses | all endpoints done | |
| SNS | @mock_sns | all endpoints done | |
| SQS | @mock_sqs | core endpoints done | |
| SSM | @mock_ssm | core endpoints done | |
| Step Functions | @mock_stepfunctions | core endpoints done | |
| STS | @mock_sts | core endpoints done | |
| SWF | @mock_swf | basic endpoints done | |
| X-Ray | @mock_xray | all endpoints done | |
| Service Name | Decorator | Comment |
|---------------------------|-----------------------|------------------------------|
| ACM | @mock_acm | |
| API Gateway | @mock_apigateway | |
| Application Autoscaling | @mock_applicationautoscaling | |
| Athena | @mock_athena | |
| Autoscaling | @mock_autoscaling | |
| Cloudformation | @mock_cloudformation | |
| Cloudwatch | @mock_cloudwatch | |
| CloudwatchEvents | @mock_events | |
| Cognito Identity | @mock_cognitoidentity | |
| Cognito Identity Provider | @mock_cognitoidp | |
| Config | @mock_config | |
| Data Pipeline | @mock_datapipeline | |
| DynamoDB | @mock_dynamodb | API 20111205. Deprecated. |
| DynamoDB2 | @mock_dynamodb2 | API 20120810 (Latest) |
| EC2 | @mock_ec2 | |
| ECR | @mock_ecr | |
| ECS | @mock_ecs | |
| ELB | @mock_elb | |
| ELBv2 | @mock_elbv2 | |
| EMR | @mock_emr | |
| Forecast | @mock_forecast | |
| Glacier | @mock_glacier | |
| Glue | @mock_glue | |
| IAM | @mock_iam | |
| IoT | @mock_iot | |
| IoT data | @mock_iotdata | |
| Kinesis | @mock_kinesis | |
| KMS | @mock_kms | |
| Lambda | @mock_lambda | Invoking Lambdas requires docker |
| Logs | @mock_logs | |
| Organizations | @mock_organizations | |
| Polly | @mock_polly | |
| RAM | @mock_ram | |
| RDS | @mock_rds | |
| RDS2 | @mock_rds2 | |
| Redshift | @mock_redshift | |
| Route53 | @mock_route53 | |
| S3 | @mock_s3 | |
| SecretsManager | @mock_secretsmanager | |
| SES | @mock_ses | |
| SNS | @mock_sns | |
| SQS | @mock_sqs | |
| SSM | @mock_ssm | |
| Step Functions | @mock_stepfunctions | |
| STS | @mock_sts | |
| SWF | @mock_swf | |
| X-Ray | @mock_xray | |
For a full list of endpoint [implementation coverage](https://github.com/spulec/moto/blob/master/IMPLEMENTATION_COVERAGE.md)

View File

@ -7,7 +7,7 @@ import boto3
script_dir = os.path.dirname(os.path.abspath(__file__))
alternative_service_names = {"lambda": "awslambda", "dynamodb": "dynamodb2"}
alternative_service_names = {"lambda": "awslambda", "dynamodb": "dynamodb2", "rds": "rds2"}
def get_moto_implementation(service_name):
@ -93,8 +93,12 @@ def write_implementation_coverage_to_file(coverage):
print("Writing to {}".format(implementation_coverage_file))
with open(implementation_coverage_file, "w+") as file:
completely_unimplemented = []
for service_name in sorted(coverage):
implemented = coverage.get(service_name)["implemented"]
if len(implemented) == 0:
completely_unimplemented.append(service_name)
continue
not_implemented = coverage.get(service_name)["not_implemented"]
operations = sorted(implemented + not_implemented)
@ -120,6 +124,13 @@ def write_implementation_coverage_to_file(coverage):
file.write("- [ ] {}\n".format(op))
file.write("</details>\n")
file.write("\n")
file.write("## Unimplemented:\n")
file.write("<details>\n\n")
for service in completely_unimplemented:
file.write("- {}\n".format(service))
file.write("</details>")
if __name__ == "__main__":
cov = calculate_implementation_coverage()