getmoto / moto

A library that allows you to easily mock out tests based on AWS infrastructure.
http://docs.getmoto.org/en/latest/
Apache License 2.0
7.64k stars 2.04k forks source link

Feature Request: EMR Serverless #5071

Closed dacort closed 2 years ago

dacort commented 2 years ago

Hi, AWS employee here! 👋

EMR Serverless is a new deployment option for EMR, currently in preview. It'd be great to get coverage for some of the API actions listed here including starting/stopping applications, and actions around job runs.

I'll likely start working on a PR soon. I do have one question: Since the service is in preview, and thus the models are not available in boto yet, will that be problematic?

bblommers commented 2 years ago

Hi @dacort, welcome to Moto! Support for new services is always welcome - great to hear that you want to contribute here.

My usual advice when starting a completely new service is to use our scaffold-script - but considering that creates a template based on data coming from boto, that will not help you.

We do already have support for EMRContainers, so you could use that as a template.

The biggest issue I can see is around testing - all our functionality is covered by boto3-tests, so writing those will not be possible until the service comes available.

Let me know if you have any questions on how to get started - happy to help out.

dacort commented 2 years ago

Thanks @bblommers!

Thankfully, we are providing a model file during the preview and looks like Moto picks it up just fine! image

So looks like I can at least get started locally and get that PR button ready.

andormarkus commented 2 years ago

@dacort Do you want to finish your branch or can I pick it up and continue? Testing since boto3 1.24.0 release should not be a problem.

dacort commented 2 years ago

Hey @andormarkus! If you have time within the next week to pick it up, go for it! I probably won't be able to work on this again until the middle of June. All my changes are current on that branch. :)

andormarkus commented 2 years ago

Hi @dacort

I have refactored the *_application methods and make than work. Only update_application method remains for tomorrow. Tomorrow I will submit the first PR which will cover all of the application methods and start to work on the job methods.