Skip to content

[AutoPR @azure-arm-securityinsight]-generated-from-SDK Generation - JS-6331956#38622

Open
azure-sdk wants to merge 6 commits into
mainfrom
sdkauto/@azure-arm-securityinsight-6331956
Open

[AutoPR @azure-arm-securityinsight]-generated-from-SDK Generation - JS-6331956#38622
azure-sdk wants to merge 6 commits into
mainfrom
sdkauto/@azure-arm-securityinsight-6331956

Conversation

@azure-sdk
Copy link
Copy Markdown
Collaborator

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

…osoft.SecurityInsights/SecurityInsights/tspconfig.yaml', API Version: 2025-07-01-preview, SDK Release Type: beta, and CommitSHA: '0b39d09202614b896019af9fc8df28a8a7ee9c29' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6331956 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 21, 2026
@v-jiaodi v-jiaodi added refresh PR for SDK refresh mgmt-review-needed labels May 21, 2026
@v-jiaodi v-jiaodi marked this pull request as ready for review May 21, 2026 09:09
Copilot AI review requested due to automatic review settings May 21, 2026 09:09
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.

@github-actions github-actions Bot added mgmt-review-in-progress Management SDK review is in progress and removed mgmt-review-needed labels May 21, 2026
@v-jiaodi
Copy link
Copy Markdown
Member

Breaking Change Analysis: @azure/arm-securityinsight

Summary

Category Count
Type 1 — API version upgrade (2022-09-01-preview2025-07-01-preview) 29
Type 2 — TypeSpec/emitter migration artifacts 59
Total 88

Methodology: Compared Layer A (old swagger, tag package-preview-2022-09, commit b41f929) with Layer B (new swagger pre-TypeSpec, 2025-07-01-preview, commit c421318) and the final generated SDK (Layer D). Type 1 = change originates from API version upgrade. Type 2 = identical swagger, difference caused by emitter behavior.


Type 1 — API Version Upgrade (29 items)

These breaking changes originate from the service API evolving from 2022-09-01-preview to 2025-07-01-preview.

Removed operation (1)
# Entry Root cause
3 Incidents.createTeam Operation removed from API. Not present in 2025-07-01-preview swagger.
Removed interfaces — API-driven (8)
# Entry Root cause
20 ContentPathMap Used by Repository.pathMapping which was removed in 2025-07-01-preview.
22 DomainWhois Old operation group restructured. DomainWhois.get() (subscription-scoped) replaced by listWhoisByDomain() (workspace-scoped) on the client.
23 DomainWhoisGetOptionalParams Options type for removed DomainWhois.get() operation.
31 IncidentsCreateTeamOptionalParams Options type for removed Incidents.createTeam (row 3).
32 IPGeodata Old operation group restructured. IPGeodata.get() (subscription-scoped) replaced by listGeodataByIp() (workspace-scoped) on the client.
33 IPGeodataGetOptionalParams Options type for removed IPGeodata.get() operation.
35 MstiDataConnectorDataTypesBingSafetyPhishingURL Sub-type removed from MstiDataConnectorDataTypes in swagger.
45 TeamProperties Input model for removed Incidents.createTeam (row 3).
Property removals / renames (5)
# Entry Root cause
56 EnrichmentIpGeodata.cityCf removed Renamed to cityConfidenceFactor in 2025-07-01-preview swagger.
57 EnrichmentIpGeodata.countryCf removed Renamed to countryConfidenceFactor in 2025-07-01-preview swagger.
58 EnrichmentIpGeodata.stateCf removed Renamed to stateConfidenceFactor in 2025-07-01-preview swagger.
59 MstiDataConnectorDataTypes.bingSafetyPhishingURL removed Property removed from swagger.
60 Repository.pathMapping removed Property removed from swagger.
Required property changes (3)
# Entry Root cause
61 PlaybookActionProperties.logicAppResourceId now required New swagger adds logicAppResourceId to required array.
62 Repository.branch now required New swagger adds branch to required array.
63 Repository.url now required New swagger adds url to required array.
Type changes (2)
# Entry Root cause
54 lookbackPeriod type stringDate New swagger adds format: date-time to the property.
55 Webhook.webhookSecretUpdateTime type stringDate New swagger adds format: date-time and readOnly: true.
Enum value removals / renames (6)
# Entry Root cause
83 KnownContentType.AnalyticRule removed Renamed to AnalyticsRule in new swagger.
84 KnownOperator.AND removed Enum values changed in new API version.
85 KnownOperator.OR removed Enum values changed in new API version.
86 KnownRepoType.DevOps removed Renamed to AzureDevOps in new swagger.
87 KnownSourceType.LocalFile removed Enum values changed in new API version.
88 KnownSourceType.RemoteStorage removed Enum values changed in new API version.
New operation signatures — API-driven (4)
# Entry Root cause
8 Entities.queries new signature Return type changed from Promise<GetQueriesResponse> to PagedAsyncIterableIterator. New swagger adds x-ms-pageable.
10 ProductSettings.list new signature Return type changed from Promise<SettingList> to PagedAsyncIterableIterator. New swagger adds x-ms-pageable.
11 SourceControl.listRepositories new signature Body parameter restructured from repoType: RepoType to repositoryAccess: RepositoryAccessProperties.
13 SourceControls.delete new signature Operation restructured: DELETE /sourcecontrols/{id} (no body, void response) → POST /sourcecontrols/{id}/delete (with body, returns Warning).

Type 2 — TypeSpec/Emitter Migration (59 items)

These breaking changes have identical swagger definitions between Layer A and Layer B; the differences are caused by the TypeSpec emitter generating code differently than AutoRest.

Collection wrapper interface removals (24) — Approved pattern: Paging Interface Changes

The TypeSpec emitter inlines paged response arrays instead of emitting named *List wrapper interfaces.

ActionsList, AlertRulesList, AlertRuleTemplatesList, AutomationRulesList, BookmarkList, DataConnectorList, EntityList, EntityQueryList, EntityQueryTemplateList, FileImportList, GetQueriesResponse, IncidentCommentList, IncidentList, MetadataList, OfficeConsentList, OperationsList, RelationList, RepoList, SecurityMLAnalyticsSettingsList, SettingList, SourceControlList, ThreatIntelligenceInformationList, WatchlistItemList, WatchlistList

(Rows 15–19, 21, 24–30, 34, 36–37, 40–44, 46–48)

Discriminator property type changes (5) — Approved pattern: Discriminator Inline Union

The TypeSpec emitter represents discriminator properties as named enum/union types instead of inline string unions.

# Entry Swagger status
49 AutomationRuleAction.actionType Both layers use $ref: ActionType — identical.
50 AutomationRuleCondition.conditionType Both layers use $ref: ConditionType — identical.
51 DataConnectorsCheckRequirements.kind Both layers use $ref: DataConnectorKind — identical.
52 EntityQueryItem.kind Same pattern — identical swagger.
53 EntityTimelineItem.kind Both layers use $ref: EntityTimelineKind — identical.
Discriminator union type alias removals (5) — Cascading from above
# Entry Root cause
72 AutomationRuleActionUnion Cascading from row 49 discriminator change.
73 AutomationRuleConditionUnion Cascading from row 50.
75 DataConnectorsCheckRequirementsUnion Cascading from row 51.
76 EntityQueryItemUnion Cascading from row 52.
77 EntityTimelineItemUnion Cascading from row 53.
LRO representation changes (2) — Emitter artifact
# Entry Root cause
1 FileImports.beginDelete removed Both Layer A and B have x-ms-long-running-operation: true. TypeSpec emitter uses a different LRO pattern representation.
2 FileImports.beginDeleteAndWait removed Same as row 1.
Required property enforcement (4) — Emitter artifact

Swagger has required: ['displayName', 'repoType', 'contentTypes', 'repository'] in both Layer A and B. AutoRest did not enforce these; the TypeSpec emitter does.

# Entry
64 SourceControl.contentTypes now required
65 SourceControl.displayName now required
66 SourceControl.repository now required
67 SourceControl.repoType now required
Response type changes (2) — Approved pattern: Response Wrapper Removal
# Entry Root cause
74 AutomationRulesDeleteResponse changed Emitter generates different response wrapper type.
78 IncidentsRunPlaybookResponse changed Same pattern.
Operation rename (1) — Approved pattern: Operation Group Naming
# Entry Root cause
4 ThreatIntelligenceIndicator.listQueryIndicatorsqueryIndicators Operation ID is ThreatIntelligenceIndicator_QueryIndicators in both layers. Emitter derives method name differently.
Orphan type alias / enum removals (8) — Approved pattern: Orphan Model Removal

AutoRest generated type X = string aliases and KnownX enums that the TypeSpec emitter does not produce.

# Type alias Paired enum
68, 79 EntityKind KnownEntityKind
69, 80 Enum13 KnownEnum13
70, 81 ThreatIntelligenceResourceKindEnum KnownThreatIntelligenceResourceKindEnum
71, 82 ThreatIntelligenceSortingCriteriaEnum KnownThreatIntelligenceSortingCriteriaEnum
Orphan interface removals (2) — Approved pattern: Orphan Model Removal
# Entry Root cause
38 Permissions_2 AutoRest name-dedup artifact (suffix _2). Not present as a public interface in API surface.
39 QueryBasedAlertRuleTemplateProperties Properties interface that AutoRest exported separately. TypeSpec emitter inlines into parent type.
New operation signatures — cascading from Type 2 root causes (6)
# Entry Root cause
5 AutomationRules.createOrUpdate new signature Cascading from rows 49–50 via AutomationRule.actions/conditions discriminator changes.
6 AutomationRules.get new signature Same cascade as row 5.
7 DataConnectorsCheckRequirements.post new signature Cascading from row 51 via DataConnectorsCheckRequirementsUnion parameter.
9 EntitiesGetTimeline.list new signature Cascading from row 53 via EntityTimelineResponse.valueEntityTimelineItemUnion.
12 SourceControls.create new signature Cascading from rows 64–67 via SourceControl required property enforcement.
14 SourceControls.get new signature Cascading from rows 64–67 via SourceControl return type.

Notes

  • The CHANGELOG states "Compared with version 1.0.0-beta.6" but main branch has an unreleased 1.0.0-beta.8. The actual diff is between those two versions.
  • The DomainWhois and IPGeodata operation groups were subscription-scoped in the old API. The new API moves them to workspace-scoped methods (listWhoisByDomain, listGeodataByIp) directly on the client.
  • The SourceControls.delete operation underwent a significant restructuring: from HTTP DELETE (no body, void) to HTTP POST .../delete (with body, returns Warning).

This analysis was generated by comparing swagger definitions across API versions and emitter layers. Classification confidence: high for all items.

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