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

L2 construct for Synthetics Canary #7687

Closed
1 of 2 tasks
jogold opened this issue Apr 29, 2020 · 7 comments · Fixed by #8824
Closed
1 of 2 tasks

L2 construct for Synthetics Canary #7687

jogold opened this issue Apr 29, 2020 · 7 comments · Fixed by #8824
Assignees
Labels
@aws-cdk/aws-synthetics Related to Amazon CloudWatch Synthetics effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. in-progress This issue is being actively worked on.

Comments

@jogold
Copy link
Contributor

jogold commented Apr 29, 2020

Add a L2 construct for AWS::Synthetics::Canary (needs #7664).

For the code property there's a lot in common with Lambda.

  • 👋 I may be able to implement this feature request
  • ⚠️ This feature might incur a breaking change

This is a 🚀 Feature Request

@jogold jogold added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Apr 29, 2020
@shivlaks
Copy link
Contributor

@jogold that would be awesome! got #7664 merged. happy building!

@shivlaks shivlaks added effort/medium Medium work item – several days of effort and removed needs-triage This issue or PR still needs to be triaged. labels May 13, 2020
@zoonderkins
Copy link

zoonderkins commented May 20, 2020

When will it release 👯 , somehow terraform will release it in next version. 😢

@hoegertn
Copy link
Contributor

hoegertn commented Jun 3, 2020

@jogold Hi, did you start implementing this? Otherwise, I could look into it.

@jogold
Copy link
Contributor Author

jogold commented Jun 3, 2020

@jogold Hi, did you start implementing this? Otherwise, I could look into it.

Not yet, feel free to start working on this!

@SomayaB SomayaB added the @aws-cdk/aws-synthetics Related to Amazon CloudWatch Synthetics label Jun 18, 2020
@NetaNir
Copy link
Contributor

NetaNir commented Jun 19, 2020

Hi There @jogold & @hoegertn!

We picked this up, @kaizen3031593 will be working on this for the next few months, we will share our high level design and would love to get your feedback.

@NetaNir NetaNir self-assigned this Jun 19, 2020
@hoegertn
Copy link
Contributor

@NetaNir @kaizen3031593 wonderful. I am happy to give feedback. Ping me whenever you need something. We can jump on a call if you like.

@jogold
Copy link
Contributor Author

jogold commented Jun 19, 2020

@NetaNir @kaizen3031593 wonderful. I am happy to give feedback. Ping me whenever you need something. We can jump on a call if you like.

Same here.

@NetaNir NetaNir added the in-progress This issue is being actively worked on. label Jun 19, 2020
@mergify mergify bot closed this as completed in #8824 Aug 14, 2020
mergify bot pushed a commit that referenced this issue Aug 14, 2020
This PR specifies an implementation for a CloudWatch Canary. It will be implemented in milestones specified below. 

Closes #7687.

Currently, this PR implements up to **Milestone 2**. 

**Milestone 1**: This implementation allows customers to specify a canary with these properties: 

- [x]   `artifactBucket: IBucket`
- [x]   `role: IRole`
- [x]   `timeToLive: Duration`
- [x]   `schedule: Schedule`
- [x]   `startAfterCreation: boolean`
- [x]   `successRetentionPeriod: Duration`
- [x]   `failureRetentionPeriod: Duration`
- [x]   `canaryName: string`

And: 
- [x] generate `name` for users if not specified
- [x] metric methods that reference those emitted by CloudWatch

**Milestone 2**: This is the next step needed to allow customers to specify their own canary scripts:

- [x] `test:Test`
    - [x] `Test` class with static method `Test.custom()`
    - [x] `Code` class with static method `Code.inline()`
- [x] `Code.fromAsset()`
    - [x] validate correct folder structure for assets `nodejs/node_modules`
    - [x] validate correct file name
- [x] `Code.fromBucket()`

**Milestone 3**: These are features that make a more robust Canary API:

- [ ] static method `Test.apiEndpoint()`
- [ ] additional static method templates for `Test`
- [ ] support runConfig properties - `memorySize` and `timeout`

[README Rendered version](https://github.com/aws/aws-cdk/blob/feca976ed2dbd0dc1e2416210cc967fa53a4309a/packages/%40aws-cdk/aws-synthetics/README.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@aws-cdk/aws-synthetics Related to Amazon CloudWatch Synthetics effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. in-progress This issue is being actively worked on.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants