Skip to content
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

SSM Document as Objects #399

Closed
1 of 11 tasks
ZachBien opened this issue Jan 10, 2022 · 1 comment
Closed
1 of 11 tasks

SSM Document as Objects #399

ZachBien opened this issue Jan 10, 2022 · 1 comment

Comments

@ZachBien
Copy link

Description

This library provides a utility implement SSM Documents using code. The SSM Document objects can be used to generate the CDK document contstruct and allows you to simulate a document execution locally.

Problem Statement

Writing SSM Docuemnts is cumbersome because interacting with the JSON or YAML documents provides little compile time support for errors. While the SSM UI provides a rich experience for creating documents, the SSM UI provides no ability to reuse steps across documents.

Testing documents can only be performed by running the SSM Execution which is time-consuming. There is also no way to mock results in SSM Execution so developers are forced to create the necessary infrastructure in the AWS account prior to executing the SSM Document.

Exceptions are at times difficult to find or understand from the SSM Execution because sometimes the underlying issue is hidden and the error that is propagated is unrelated.
Solution

This library provides a high level abstraction of the SSM Documents where each step as well as the document itself are objects. The properties required for construction of these objects correspond to the settings applicable to them making them intuitive to create.

You would use this if you want:

  1. Ability to test without deploying resources or running a real SSM execution on AWS
  2. Ability to reuse steps between docs by reusing available objects
  3. Build higher level logical groupings of reusable groups of steps ("Patterns")
  4. Easy interface for creating Docs
  5. Test existing documents by importing them from a file (or string) and simulate them locally

Roles

Role User
Proposed by @ZachBien
Author(s) @ZachBien
API Bar Raiser @eladb
Stakeholders

See RFC Process for details

Workflow

  • Tracking issue created (label: status/proposed)
  • API bar raiser assigned (ping us at #aws-cdk-rfcs if needed)
  • Kick off meeting
  • RFC pull request submitted (label: status/review)
  • Community reach out (via Slack and/or Twitter)
  • API signed-off (label api-approved applied to pull request)
  • Final comments period (label: status/final-comments-period)
  • Approved and merged (label: status/approved)
  • Execution plan submitted (label: status/planning)
  • Plan approved and merged (label: status/implementing)
  • Implementation complete (label: status/done)

Author is responsible to progress the RFC according to this checklist, and
apply the relevant labels to this issue so that the RFC table in README gets
updated.

@awsmjs
Copy link
Contributor

awsmjs commented Dec 15, 2023

Closing this ticket as it does not align with current priorities and we do not have bandwidth to support design or implementation at this time. We suggest to pursue experimentation in a separate package or a fork if needed. If a successful implementation emerges, reopen the proposal with details on the functionality and how it can be implemented in the core library.

@awsmjs awsmjs closed this as completed Dec 15, 2023
@mrgrain mrgrain added status/rejected and removed status/proposed Newly proposed RFC labels Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants