aws / aws-sdk

Landing page for the AWS SDKs on GitHub
https://aws.amazon.com/tools/
Other
72 stars 14 forks source link

SDK does not expose Bookmarks feature for Quicksight Embed URL request #545

Closed OneHoopyFrood closed 1 year ago

OneHoopyFrood commented 1 year ago

Describe the bug

According to this: https://aws.amazon.com/about-aws/whats-new/2023/05/amazon-quicksight-state-persistence-bookmarks-embedded-dashboards/ And this: https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html

The request can now contain Bookmarks: {Enabled: true}.

I would expect the SDK to expose this as BookmarksEnabled but it's not on the type and thus can't be passed through.

Expected Behavior

The SDK should expose a BookmarksEnabled flag for Quicksight GetDashboardEmbedUrlRequest

https://github.com/aws/aws-sdk-js/blob/372fd421704c8b5dbb68a15b5cefdbe7850dce56/clients/quicksight.d.ts#L9225

Current Behavior

Does not expose this feature.

Reproduction Steps

N/A Sdk simply does not expose this functionality though the types.

Possible Solution

Add this to the types and make necessary supporting code changes to ensure the request body contains the correct value.

Additional Information/Context

No response

SDK version used

2.1390.0 (latest)

Environment details (OS name and version, etc.)

MacOS 13.1

OneHoopyFrood commented 1 year ago

I've found there is a way to do this with the more complex generateEmbedUrlForRegisteredUser but I would still expect it to be exposed in this simpler utility method. Perhaps it's a feature request though, and not a bug.

RanVaknin commented 1 year ago

Hi @OneHoopyFrood ,

Thanks for raising this issue. The problem is that the Quicksight service team released this feature externally before they released it internally. The API model that the SDKs consume can be found here You can see that that parameter is not found anywhere. This is because the SDK is auto-generated from that model. In other words, if the Service team does not release their model internally, you wont be able to use it.

I have created an internal bug report with the Quicksight team, hopefully they'll be able to update it asap so customers can use it in the SDKs.

Thanks, Ran~

P90476715

OneHoopyFrood commented 1 year ago

Thank you!

RanVaknin commented 1 year ago

Hi @OneHoopyFrood ,

I misunderstood your request. I thought you mentioned GenerateEmbedUrlForRegisteredUser did not include the correct field even though they were documented. From looking at the model it is available.

GetDashboardEmbedUrlRequest does not offer Bookmarks as a param on the API level, so the SDK cannot "expose" it. Like I mentioned before, the SDKs are code generated from the API model, if the service model lacks a field, the SDK team cannot add it (indicating it doesnt have service side support) From speaking to the quicksight service team:

"We do not plan to add Bookmarks to GetDashboardEmbedUrlRequest as that is an outdated API. As customer has called out the only way to use this feature is via the GenerateEmbedUrlForRegisteredUser API."

Since there is no actionable item for the SDK team, I feel confident we can close this. Thanks, Ran~

github-actions[bot] commented 1 year ago

This issue is now closed.

Comments on closed issues are hard for our team to see. If you need more assistance, please either tag a team member or open a new issue that references this one. If you wish to keep having a conversation with other community members under this issue feel free to do so.

OneHoopyFrood commented 1 year ago

I see. I would recommend an update to the documentation and js-doc header to indicate this is deprecated unless I missed this somewhere?

OneHoopyFrood commented 1 year ago

Ah! I do see there is a notice here: https://docs.aws.amazon.com/quicksight/latest/user/embedding-dashboards.html I just didn't come across that before. I still recommend adding the @deprecated tag to the js-docs.