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

feat(ivs-alpha): support advanced channel type #30086

Merged
merged 16 commits into from
May 24, 2024

Conversation

mazyu36
Copy link
Contributor

@mazyu36 mazyu36 commented May 7, 2024

Issue # (if applicable)

Closes #30075

Reason for this change

As described in the issue.

Description of changes

  • Add ADVANCED_HD and ADVANCED_SD to the ivs.ChannelType.
  • Add preset property to the Channel Construct. Additionally, validation has been implemented to allow setting the preset property only when using the Advanced channel type

Description of how you validated changes

Add both unit tests and integ tests.

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@aws-cdk-automation aws-cdk-automation requested a review from a team May 7, 2024 10:09
@github-actions github-actions bot added beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. p2 labels May 7, 2024
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@mazyu36 mazyu36 changed the title (ivs-alpha): support advanced channel type feat(ivs-alpha): support advanced channel type May 7, 2024
@aws-cdk-automation aws-cdk-automation dismissed their stale review May 7, 2024 10:17

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@aws-cdk-automation aws-cdk-automation added the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label May 7, 2024
Copy link
Contributor

@nmussy nmussy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly documentation nits, LGTM otherwise 👍

packages/@aws-cdk/aws-ivs-alpha/README.md Outdated Show resolved Hide resolved
packages/@aws-cdk/aws-ivs-alpha/README.md Outdated Show resolved Hide resolved
@@ -69,6 +70,42 @@ export enum ChannelType {
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These @see tags should be moved to the enum TSDoc, no need to repeat them if they're pointing to the same link

Copy link
Contributor Author

@mazyu36 mazyu36 May 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nmussy
Thank you for your review!
I moved @see to the enum TSDoc.

export enum Preset {
/**
* Use a lower bitrate than STANDARD for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads).
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, @see should be moved to the Preset TSDoc

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likewise, I moved to the enum docs.

packages/@aws-cdk/aws-ivs-alpha/lib/channel.ts Outdated Show resolved Hide resolved
packages/@aws-cdk/aws-ivs-alpha/lib/channel.ts Outdated Show resolved Hide resolved
packages/@aws-cdk/aws-ivs-alpha/lib/channel.ts Outdated Show resolved Hide resolved
Comment on lines 18 to 20
new IntegTest(app, 'ivs-test', {
testCases: [stack],
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can run some assertions to make sure that the configurations are created properly, see integ-tests. Let me know if you need help setting them up

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nmussy
I added assertions to the integ tests.

@aws-cdk-automation aws-cdk-automation removed the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label May 7, 2024
mazyu36 and others added 6 commits May 7, 2024 21:23
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
const resource = new CfnChannel(this, 'Resource', {
authorized: props.authorized,
latencyMode: props.latencyMode,
name: this.physicalName,
type: props.type,
preset: props.preset,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taking into account the revisions after the review, I changed it to set props.preset directly.
This is because if ChannelType is ADVANCED_SD or ADVANCED_HD, even if preset becomes undefined, Cfn will set the default value.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once again, you can use the shorthand:

Suggested change
preset: props.preset,
preset,

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.
I had a misunderstanding about the shorthand.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh no, I'm the one who made the mistake here, it doesn't work sorry 😅

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nmussy
No problem. I reverted it.

Copy link
Contributor

@nmussy nmussy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few more nits, looks good otherwise 👍

packages/@aws-cdk/aws-ivs-alpha/lib/channel.ts Outdated Show resolved Hide resolved
packages/@aws-cdk/aws-ivs-alpha/lib/channel.ts Outdated Show resolved Hide resolved
const resource = new CfnChannel(this, 'Resource', {
authorized: props.authorized,
latencyMode: props.latencyMode,
name: this.physicalName,
type: props.type,
preset: props.preset,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once again, you can use the shorthand:

Suggested change
preset: props.preset,
preset,

})
.expect(integ.ExpectedResult.objectLike({
channel: {
preset: 'HIGHER_BANDWIDTH_DELIVERY',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, we're testing the Cfn default value here 👍

mazyu36 and others added 5 commits May 8, 2024 02:44
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
Co-authored-by: Jimmy Gaussen <jimmy.gaussen@gmail.com>
This reverts commit 7ca984a.
@aws-cdk-automation aws-cdk-automation added the pr/needs-maintainer-review This PR needs a review from a Core Team Member label May 8, 2024
@shikha372 shikha372 self-assigned this May 10, 2024
@mazyu36 mazyu36 force-pushed the ivs-advanced-channel-30075 branch from 60e2606 to 275b495 Compare May 22, 2024 00:55
Copy link
Contributor

mergify bot commented May 24, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label May 24, 2024
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: b4de0ba
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify mergify bot merged commit 544e54a into aws:main May 24, 2024
12 checks passed
Copy link
Contributor

mergify bot commented May 24, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mazyu36 mazyu36 deleted the ivs-advanced-channel-30075 branch May 25, 2024 02:14
atanaspam pushed a commit to atanaspam/aws-cdk that referenced this pull request Jun 3, 2024
### Issue # (if applicable)

Closes aws#30075 

### Reason for this change
As described in the issue.

### Description of changes
* Add `ADVANCED_HD` and `ADVANCED_SD` to the `ivs.ChannelType`.
* Add `preset` property to the Channel Construct. Additionally, validation has been implemented to allow setting the preset property only when using the Advanced channel type

### Description of how you validated changes
Add both unit tests and integ tests.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
vdahlberg pushed a commit to vdahlberg/aws-cdk that referenced this pull request Jun 10, 2024
### Issue # (if applicable)

Closes aws#30075 

### Reason for this change
As described in the issue.

### Description of changes
* Add `ADVANCED_HD` and `ADVANCED_SD` to the `ivs.ChannelType`.
* Add `preset` property to the Channel Construct. Additionally, validation has been implemented to allow setting the preset property only when using the Advanced channel type

### Description of how you validated changes
Add both unit tests and integ tests.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@aws-cdk-automation
Copy link
Collaborator

Comments on closed issues and PRs are hard for our team to see. If you need help, please open a new issue that references this one.

@aws aws locked as resolved and limited conversation to collaborators Jul 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. p2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(ivs-alpha): support advanced channel type
4 participants