Skip to content

[TSP Migration]--powerbidedicated #34282

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

Merged
merged 32 commits into from
Jul 4, 2025

Conversation

welovej
Copy link
Member

@welovej welovej commented Apr 28, 2025

This PR migrates your latest version (identified by the tag in your readme.md) of swagger to TypeSpec. We already tried our best to make sure the TypeSpec represents same as previous swagger. Since we lack the business knowledge, please validate this PR again to make sure it's functional equivalent as before. The local validation step is at Getting started | TypeSpec Azure

Besides, TypeSpec encourages to follow ARM guidelines. Therefore, some representations in your previous swagger will be fixed to follow these guidelines. When you see differences in your local validation, please keep this note in mind. Here is the list of your anti-pattern:

  • You are not referring common types. We will use common type version v3.
  • For pageable operations, the response model should have nextLink property.

Please reach out to TypeSpec Discussions Channel if there is any help needed.

Copy link

openapi-pipeline-app bot commented Apr 28, 2025

Next Steps to Merge

✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.

Copy link

openapi-pipeline-app bot commented Apr 28, 2025

PR validation pipeline restarted successfully. If there is ApiView generated, it will be updated in this comment.

Copy link

github-actions bot commented Apr 28, 2025

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Swagger Microsoft.PowerBIdedicated
TypeSpec Microsoft.PowerBIDedicated
Go sdk/resourcemanager/powerbidedicated/armpowerbidedicated
Python azure-mgmt-powerbidedicated
JavaScript @azure/arm-powerbidedicated
C# Azure.ResourceManager.PowerBIDedicated
Java com.azure.resourcemanager:azure-resourcemanager-powerbidedicated

@AzureRestAPISpecReview AzureRestAPISpecReview removed the VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required label May 15, 2025
/**
* Represents the SKU name and Azure pricing tier for PowerBI Dedicated capacity resource.
*/
model CapacitySku {
Copy link
Member

Choose a reason for hiding this comment

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

CapacitySku

nitpicky question....
why is it called a CapacitySku instead of just a Sku?

Copy link
Member

Choose a reason for hiding this comment

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

I am asking because I am thinking the names 'CapacitySkuTier' and 'CapacitySku capacity' sound strangely redundant/confusing

Copy link
Member

Choose a reason for hiding this comment

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

Also now I think about it... 'SKU of the capacity' and 'capacity of the SKU' are unexpectedly contradictory meanings of the word capacity aren't they?

Why talk about 'SKU of the capacity' at all though? Why not just say 'SKU of the reservation' or 'amount of SKU reserved'?

Copy link
Member

Choose a reason for hiding this comment

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

I presume we can't fix this unless its SDK breaking, which is not ideal. #wontfix sound good?

/**
* Represents an instance of an PowerBI Dedicated resource.
*/
model Resource {
Copy link
Member

@TimLovellSmith TimLovellSmith Jun 23, 2025

Choose a reason for hiding this comment

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

Resource

[ARMBlockingFeedback] why are we defining 'Resource' type here, instead of using standard Azure resource model?

Copy link
Member

Choose a reason for hiding this comment

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

Question I'd like to raise why aren't we autodetecting to reuse common types here, or at least having nice automatic comments that justify not doing it on the basis of a breaking change (and what change)

/**
* Metadata pertaining to creation and last modification of the resource.
*/
model SystemData {
Copy link
Member

@TimLovellSmith TimLovellSmith Jun 23, 2025

Choose a reason for hiding this comment

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

SystemData

[ARMBlockingFeedback] why are we defining SystemData here, instead of using standard Azure resource models?

Copy link
Member

Choose a reason for hiding this comment

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

(I'm pretty sure there's no good reason for RPs to define SystemData themselves as opposed to referencing common types - only bad ones.)

* The error object
*/
@error
model ErrorResponse {
Copy link
Member

@TimLovellSmith TimLovellSmith Jun 23, 2025

Choose a reason for hiding this comment

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

ErrorResponse

[ARMBlockingFeedback] why are we defining 'ErrorResponse' type here, instead of using standard Azure resource model?

/**
* An object that represents enumerating SKUs for new resources
*/
model SkuEnumerationForNewResourceResult {
Copy link
Member

Choose a reason for hiding this comment

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

SkuEnumerationForNewResourceResult

Why have two different models for
SkuEnumerationForNewResourceResult
and
SkuEnumerationForExistingResourceResult
??

@TimLovellSmith TimLovellSmith added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Jun 23, 2025
@openapi-pipeline-app openapi-pipeline-app bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Jun 23, 2025
@ArthurMa1978 ArthurMa1978 added ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-Go-Sdk-Approved BreakingChange-JavaScript-Sdk-Approved PublishToCustomers Acknowledgement the changes will be published to Azure customers. labels Jul 4, 2025
@openapi-pipeline-app openapi-pipeline-app bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review labels Jul 4, 2025
@ArthurMa1978 ArthurMa1978 added ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review Approved-LintDiff and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Jul 4, 2025
@ArthurMa1978 ArthurMa1978 merged commit 7edc6c5 into Azure:main Jul 4, 2025
108 of 110 checks passed
*/
create is ArmResourceCreateOrReplaceAsync<
DedicatedCapacity,
LroHeaders = ArmLroLocationHeader &
Copy link
Member

Choose a reason for hiding this comment

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

Missing final result.

update is ArmCustomPatchAsync<
DedicatedCapacity,
PatchModel = DedicatedCapacityUpdateParameters,
Response = ArmResponse<DedicatedCapacity> | (ArmAcceptedLroResponse & {
Copy link
Member

Choose a reason for hiding this comment

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

Missing final result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved-LintDiff ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-Approved-Benign Changes are not breaking at the REST API level and have at most minor impact to generated SDKs. BreakingChange-Go-Sdk BreakingChange-Go-Sdk-Approved BreakingChange-JavaScript-Sdk BreakingChange-JavaScript-Sdk-Approved BreakingChange-Python-Sdk BreakingChange-Python-Sdk-Approved BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required PublishToCustomers Acknowledgement the changes will be published to Azure customers. resource-manager TypeSpec Authored with TypeSpec typespec-conversion-w1
Projects
None yet
Development

Successfully merging this pull request may close these issues.