-
Notifications
You must be signed in to change notification settings - Fork 25
feat(aws.emrserverless): add EMR Serverless plugin (create, submit, delete) #646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
This PR is currently paused in order to obtain an increased EMR serverless quota for instances for testing. |
|
Any news on this @aazam-gh ? |
|
Followed up with AWS support team again. Are there any alternatives for testing? |
|
Hey @aazam-gh 👋, did you try using localStack for testing? |
|
@Malaydewangan09 Not yet, I will try that now. thanks! |
|
Hey @aazam-gh, are there any updates on this? |
|
Apparently localstack does not support emr serverless application features yet. |
Malaydewangan09
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aazam-gh, could you please at least write some unit tests for these new tasks? So that we can check on our side too, Thanks!
|
Any news from the AWS Support for your quota @aazam-gh ? |
|
Hello @aazam-gh 👋 I added a bunch of unit tests and did a QA which passed ✔️ So congratulations and thank you! I'll merge and do a release! |








What changes are being made and why?
This PR introduces AWS EMR Serverless support to the plugin-aws repository.
It extends Kestra’s existing EMR integration beyond cluster-based execution, enabling users to build, run, and manage EMR Serverless workflows natively in Kestra.
Closes #579
How the changes have been QAed?
Setup Instructions
Contributor Checklist ✅
closes #ISSUE_IDorfixes #ISSUE_IDin the description if the PR relates to an opened issue.@Schemafor properties and outputs,@Pluginwith examples,README.mdfile with basic knowledge and specifics).rnotrendered(eg:rHost).runContext.logger()to log enough important infos where it's needed and with the best level (DEBUG, INFO, WARN or ERROR).⚙️ Properties
Property<T>carrier type, do not use@PluginProperty.@NotNulland checked during the rendering.Property<Map<String, Object>>.🌐 HTTP
io.kestra.core.http.client📦 JSON
@JsonIgnoreProperties(ignoreUnknown = true)at the mapped class level. So that we will avoid to crash the plugin if the provider add a new field suddenly.io.kestra.core.serializers)✨ New plugins / subplugins
package-info.javaunder each sub package respecting this format and choosing the right category.src/main/resources/iconsin SVG format and not in thumbnail (keep it big):plugin-icon.svgio.kestra.plugin.aws.svgio.kestra.plugin.aws.s3, addio.kestra.plugin.aws.s3.svgSee example here.
"{{ secret('YOUR_SECRET') }}"in the examples for sensible infos such as an API KEY.Property<FetchType> fetchTypeto be able to useFETCH_ONE,FETCHand evenSTOREto store big amount of data in the internal storage."""to close examples blocks with the flow id.🧪 Tests
RunContextto actually run tasks).src/test/resources/flows..github/setup-unit.sh(which can be executed locally and in the CI) all along with a newdocker-compose-ci.ymlfile (do not edit the existingdocker-compose.yml).📤 Outputs
VoidOutput.