Skip to content

[AutoPR @azure-arm-operationalinsights]-generated-from-SDK Generation - JS-6324825#38605

Merged
JialinHuang803 merged 2 commits into
mainfrom
sdkauto/@azure-arm-operationalinsights-6324825
May 20, 2026
Merged

[AutoPR @azure-arm-operationalinsights]-generated-from-SDK Generation - JS-6324825#38605
JialinHuang803 merged 2 commits into
mainfrom
sdkauto/@azure-arm-operationalinsights-6324825

Conversation

@azure-sdk
Copy link
Copy Markdown
Collaborator

Configurations: 'specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/OperationalInsights/tspconfig.yaml', API Version: 2025-07-01, SDK Release Type: beta, and CommitSHA: '2283827e2d3992938b814e5b23b6b288093423d5' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6324825 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

…icrosoft.OperationalInsights/OperationalInsights/tspconfig.yaml', API Version: 2025-07-01, SDK Release Type: beta, and CommitSHA: '2283827e2d3992938b814e5b23b6b288093423d5' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6324825 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
@github-actions github-actions Bot added the Mgmt This issue is related to a management-plane library. label May 20, 2026
@v-jiaodi v-jiaodi added refresh PR for SDK refresh mgmt-review-needed labels May 20, 2026
@github-actions github-actions Bot added mgmt-review-in-progress Management SDK review is in progress and removed mgmt-review-needed labels May 20, 2026
@v-jiaodi v-jiaodi marked this pull request as ready for review May 20, 2026 03:38
Copilot AI review requested due to automatic review settings May 20, 2026 03:38
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@v-jiaodi

This comment was marked as outdated.

@v-jiaodi
Copy link
Copy Markdown
Member

Note

This analysis was generated by AI. Please review the classifications and root causes for accuracy.

Breaking Change Analysis: @azure/arm-operationalinsights 11.0.0-beta.1

Old SDK (main) New SDK (PR)
Generator Swagger / AutoRest TypeSpec / emitter
API Version 2025-07-01 2025-07-01
Package Version 10.1.0 11.0.0-beta.1

Spec References:

Since both old and new SDKs target the same API version (2025-07-01), all breaking changes are Type 2 (TypeSpec/emitter migration). There are no Type 1 (API version upgrade) breaking changes.

Type 2: TypeSpec / Emitter Migration -- 22 items

Root Cause Sub-Type Count Accepted
LRO operations return void instead of header-only response wrapper Emitter 6
AutoRest-generated duplicate ARM common types removed (*AutoGenerated, *AutoGenerated2) Conversion 9
DataExport properties un-flattened into nested Destination object (x-ms-client-flatten not used in TypeSpec) Conversion 3
OData filter model DataSourceFilter not generated as separate type in TypeSpec Conversion 1
Duplicate model WorkspaceReplicationPatProperties removed (identical to WorkspaceReplicationProperties) Conversion 1
Options interface renamed from QueriesSearchOptionalParams to QueriesListSearchOptionalParams Emitter 1
Enum value InProgress removed from KnownProvisioningStateEnum (not present in swagger; AutoRest artifact) Emitter 1

Details

  1. Operation SummaryLogs.beginDeleteAndWait has a new signature -- Emitter ✅

    LRO return type changed from Promise<SummaryLogsDeleteResponse> (= SummaryLogsDeleteHeaders) to Promise<void>. TypeSpec emitter returns void for LRO operations with no response body.

  2. Operation SummaryLogs.beginRetryBinAndWait has a new signature -- Emitter ✅

    Same as row 1. Return type changed from Promise<SummaryLogsRetryBinResponse> (= SummaryLogsRetryBinHeaders) to Promise<void>.

  3. Operation SummaryLogs.beginStartAndWait has a new signature -- Emitter ✅

    Same as row 1. Return type changed from Promise<SummaryLogsStartResponse> (= SummaryLogsStartHeaders) to Promise<void>.

  4. Operation Workspaces.beginFailbackAndWait has a new signature -- Emitter ✅

    Same as row 1. Return type changed from Promise<WorkspacesFailbackResponse> (= WorkspacesFailbackHeaders) to Promise<void>.

  5. Operation Workspaces.beginFailoverAndWait has a new signature -- Emitter ✅

    Same as row 1. Return type changed from Promise<WorkspacesFailoverResponse> (= WorkspacesFailoverHeaders) to Promise<void>.

  6. Operation Workspaces.beginReconcileNSPAndWait has a new signature -- Emitter ✅

    Same as row 1. Return type changed from Promise<WorkspacesReconcileNSPResponse> (= WorkspacesReconcileNSPHeaders) to Promise<void>.

  7. Removed Interface DataSourceFilter -- Conversion ✅

    OData filter type (DataSourceFilter { kind?: DataSourceKind }) used via x-ms-odata in swagger for the DataSources.listByWorkspace operation. TypeSpec does not generate a separate model for OData filter parameters; the type is unused in the generated SDK.

  8. Removed Interface ErrorDetailAutoGenerated -- Conversion ✅

    AutoRest-generated duplicate of the standard ARM ErrorDetail type. TypeSpec uses the ARM common-types ErrorDetail directly, so the *AutoGenerated duplicate is not needed.

  9. Removed Interface ErrorDetailAutoGenerated2 -- Conversion ✅

    Same as row 8. Second AutoRest duplicate from a different common-types version reference.

  10. Removed Interface ErrorResponseAutoGenerated -- Conversion ✅

    Same as row 8. AutoRest duplicate of the standard ARM ErrorResponse type.

  11. Removed Interface ErrorResponseAutoGenerated2 -- Conversion ✅

    Same as row 8. Second AutoRest duplicate of ErrorResponse.

  12. Removed Interface ProxyResourceAutoGenerated -- Conversion ✅

    Same as row 8. AutoRest duplicate of the standard ARM ProxyResource type.

  13. Removed Interface ProxyResourceAutoGenerated2 -- Conversion ✅

    Same as row 8. Second AutoRest duplicate of ProxyResource.

  14. Removed Interface QueriesSearchOptionalParams -- Emitter ✅

    Options interface renamed from QueriesSearchOptionalParams to QueriesListSearchOptionalParams. The operation is named listSearch in both old and new SDKs, but AutoRest named the options without the list prefix. TypeSpec emitter corrected the naming. Properties are identical (includeBody, skipToken, top).

  15. Removed Interface ResourceAutoGenerated -- Conversion ✅

    Same as row 8. AutoRest duplicate of the standard ARM Resource type.

  16. Removed Interface ResourceAutoGenerated2 -- Conversion ✅

    Same as row 8. Second AutoRest duplicate of Resource.

  17. Removed Interface TrackedResourceAutoGenerated -- Conversion ✅

    Same as row 8. AutoRest duplicate of the standard ARM TrackedResource type.

  18. Removed Interface WorkspaceReplicationPatProperties -- Conversion ✅

    Duplicate of WorkspaceReplicationProperties. Both had identical structure (createdDate, enabled, lastModifiedDate, location, provisioningState). TypeSpec generates only one model.

  19. Interface DataExport no longer has parameter eventHubName -- Conversion

    DataExport.destination was marked with x-ms-client-flatten: true in swagger, so AutoRest flattened Destination.eventHubName directly onto DataExport. TypeSpec emitter does not flatten; the property is now nested under DataExport.destination.eventHubName.

  20. Interface DataExport no longer has parameter resourceId -- Conversion

    Same as row 19. Destination.resourceId was flattened onto DataExport by AutoRest; now nested under DataExport.destination.resourceId.

  21. Interface DataExport no longer has parameter typePropertiesDestinationType -- Conversion

    Same as row 19. Destination.type was flattened onto DataExport as typePropertiesDestinationType by AutoRest; now nested under DataExport.destination.

  22. Enum KnownProvisioningStateEnum no longer has value InProgress -- Emitter

    The 2025-07-01 swagger defines ProvisioningStateEnum with values: Updating, Succeeded, Deleting, Failed, Canceled -- no InProgress. The old AutoRest SDK incorrectly included InProgress (likely from a stale or conflicting definition across swagger files). TypeSpec emitter generates the correct enum values from the swagger. Note: the old SDK also lacked Failed and Canceled which are now correctly included as new enum values.

Cascade Detection Summary

For "new signature" entries (rows 1-6), the following checks were performed:

  • Direct parameters: Identical in old and new SDKs (same parameter names, types, and order)
  • Options properties: Identical in old and new SDKs (no properties added or removed; both extend OperationOptions)
  • Cascade detection: Return types in old SDK were header-only wrappers (XxxHeaders), none of which reference any model in broken_models. No cascade found.

The sole structural cause for rows 1-6 is the return type change from header-only response wrapper to void.

Total: 0 (Type 1: API Version Upgrade) + 22 (Type 2: TypeSpec/Emitter Migration) = 22 breaking changes

Type 2 breakdown: 14 items from TypeSpec conversion, 8 items from emitter differences.

Methodology

This analysis uses the four-layer comparison model:

  • Layer A (old original swagger): package-2025-07-01 tag at commit 3c506ed
  • Layer B (new original swagger before TypeSpec): Same as Layer A (same API version)
  • Layer C (TypeSpec-generated swagger): openapi.json at commit 2283827
  • Layer D (SDK api.md): Old from main branch, new from PR branch

Since Layer A == Layer B (same API version, no swagger changes), all breakings are Type 2. Sub-classification (Conversion vs Emitter) is based on whether the TypeSpec-generated swagger differs from the original swagger (Conversion = 2a) or the swagger is equivalent but the emitter produces different TypeScript code (Emitter = 2b).

@JialinHuang803 JialinHuang803 merged commit eeab703 into main May 20, 2026
13 checks passed
@JialinHuang803 JialinHuang803 deleted the sdkauto/@azure-arm-operationalinsights-6324825 branch May 20, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Mgmt This issue is related to a management-plane library. mgmt-review-in-progress Management SDK review is in progress refresh PR for SDK refresh

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants