Update management emitter to 1.0.0-alpha.20260811.2 (part 4/4) - #61971
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 66a55915-e310-4860-a690-1df47405837d
|
Azure Pipelines: Successfully started running 1 pipeline(s). 11 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
This PR updates the pinned @azure-typespec/http-client-csharp-mgmt emitter dependency to 1.0.0-alpha.20260811.2 and applies the resulting management SDK regenerations across multiple Azure.ResourceManager libraries (part 4/4 of the overall update split).
Changes:
- Bumped the management emitter package version and refreshed the lock file to the 20260811.2 build.
- Regenerated multiple management-plane SDKs, including updated
ModelReaderWriterContextbuildables (notably addingResponseErrorin many contexts). - Added/adjusted several GA-compatibility shims (factory methods/constructors) and parameter naming updates in a few customizations.
Reviewed changes
Copilot reviewed 42 out of 95 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/websites/Azure.ResourceManager.AppService/src/Generated/Models/AzureResourceManagerAppServiceContext.cs | Adds additional model types to the source-generation buildable context. |
| sdk/websites/Azure.ResourceManager.AppService/src/Generated/ArmAppServiceModelFactory.cs | Removes several factory methods from generated surface (reintroduced via compatibility partial). |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/StaticSitePrivateEndpointConnectionResource.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/StaticSitePrivateEndpointConnectionCollection.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/SiteSlotPrivateEndpointConnectionResource.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/SiteSlotPrivateEndpointConnectionCollection.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/SitePrivateEndpointConnectionResource.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/SitePrivateEndpointConnectionCollection.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/Models/ArmAppServiceModelFactory.ParameterCompatibility.cs | Adds compatibility factory methods to preserve/shape public API surface. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/Models/ArmAppServiceModelFactory.cs | Updates compatibility mapping for CsmDeploymentStatus factory overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/HostingEnvironmentPrivateEndpointConnectionResource.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/HostingEnvironmentPrivateEndpointConnectionCollection.cs | Renames shim parameter (privateEndpointWrapper → info) for private endpoint approval wrapper overloads. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/Extensions/MockableAppServiceTenantResource.ByLocationShims.cs | Renames shim parameter to stackOSType and updates usage. |
| sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/Extensions/AppServiceExtensions.ByLocationShims.cs | Propagates stackOSType parameter rename through extension shims. |
| sdk/storagemover/Azure.ResourceManager.StorageMover/src/Generated/Models/AzureResourceManagerStorageMoverContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/storagediscovery/Azure.ResourceManager.StorageDiscovery/src/Generated/Models/AzureResourceManagerStorageDiscoveryContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/storagecache/Azure.ResourceManager.StorageCache/src/Generated/Models/AzureResourceManagerStorageCacheContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/storageactions/Azure.ResourceManager.StorageActions/src/Generated/Models/AzureResourceManagerStorageActionsContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/storage/Azure.ResourceManager.Storage/src/Generated/Models/AzureResourceManagerStorageContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/standbypool/Azure.ResourceManager.StandbyPool/src/Generated/Models/AzureResourceManagerStandbyPoolContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/sqlvirtualmachine/Azure.ResourceManager.SqlVirtualMachine/src/Generated/Models/AzureResourceManagerSqlVirtualMachineContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/sqlmanagement/Azure.ResourceManager.Sql/src/Generated/Models/AzureResourceManagerSqlContext.cs | Adds additional options types and ResponseError to buildable context. |
| sdk/sqlmanagement/Azure.ResourceManager.Sql/src/Generated/ArmSqlModelFactory.cs | Removes several generated factory methods (reintroduced via compatibility partial). |
| sdk/sqlmanagement/Azure.ResourceManager.Sql/src/Custom/Models/ArmSqlModelFactory.ParameterCompatibility.cs | Adds compatibility factory methods for parameter ordering/API-shape. |
| sdk/sqlmanagement/Azure.ResourceManager.Sql/api/Azure.ResourceManager.Sql.netstandard2.0.cs | Updates public API surface for factory parameter ordering. |
| sdk/sqlmanagement/Azure.ResourceManager.Sql/api/Azure.ResourceManager.Sql.net8.0.cs | Updates public API surface for factory parameter ordering. |
| sdk/sqlmanagement/Azure.ResourceManager.Sql/api/Azure.ResourceManager.Sql.net10.0.cs | Updates public API surface for factory parameter ordering. |
| sdk/sphere/Azure.ResourceManager.Sphere/src/Generated/Models/AzureResourceManagerSphereContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/sitemanager/Azure.ResourceManager.SiteManager/src/Generated/Models/AzureResourceManagerSiteManagerContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/signalr/Azure.ResourceManager.SignalR/src/Generated/Models/AzureResourceManagerSignalRContext.cs | Adds ResponseError and WritableSubResource as buildables and required imports. |
| sdk/servicefabricmanagedclusters/Azure.ResourceManager.ServiceFabricManagedClusters/src/Generated/Models/ManagedServiceProperties.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/servicefabricmanagedclusters/Azure.ResourceManager.ServiceFabricManagedClusters/src/Generated/Models/ManagedServiceProperties.cs | Updates doc comment to indicate base class / derived types. |
| sdk/servicefabricmanagedclusters/Azure.ResourceManager.ServiceFabricManagedClusters/src/Generated/Models/AzureResourceManagerServiceFabricManagedClustersContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityMLAnalyticsSettingData.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityMLAnalyticsSettingData.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsThreatIntelligenceIndicatorCollection.cs | Renames orderby parameter to orderBy in paging methods. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsThreatIntelligenceIndicatorBaseData.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsThreatIntelligenceIndicatorBaseData.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsIncidentRelationCollection.cs | Renames orderby parameter to orderBy in paging methods. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsIncidentCommentCollection.cs | Renames orderby parameter to orderBy in paging methods. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsIncidentCollection.cs | Renames orderby parameter to orderBy in paging methods. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsEntity.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsEntity.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsDataConnectorData.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsDataConnectorData.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsAlertRuleTemplateData.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsAlertRuleTemplateData.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsAlertRuleData.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/SecurityInsightsAlertRuleData.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Generated/ArmSecurityInsightsModelFactory.cs | Removes a generated factory method (reintroduced via compatibility partial). |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/src/Customized/ArmSecurityInsightsModelFactory.ParameterCompatibility.cs | Adds compatibility factory method for parameter ordering/API-shape. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/api/Azure.ResourceManager.SecurityInsights.netstandard2.0.cs | Updates public API surface for renamed parameters/order in collections and factories. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/api/Azure.ResourceManager.SecurityInsights.net8.0.cs | Updates public API surface for renamed parameters/order in collections and factories. |
| sdk/securityinsights/Azure.ResourceManager.SecurityInsights/api/Azure.ResourceManager.SecurityInsights.net10.0.cs | Updates public API surface for renamed parameters/order in collections and factories. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/src/Generated/SecuritySettingData.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/src/Generated/SecuritySettingData.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/src/Generated/Models/SecurityAlertSimulatorRequestProperties.Serialization.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/src/Generated/Models/SecurityAlertSimulatorRequestProperties.cs | Updates doc comment to indicate base class / derived types. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/src/Custom/SecurityAssessmentResource.cs | Renames shim parameter (assessment → content) for unsupported API stubs. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/src/Custom/SecurityAssessmentCollection.cs | Renames shim parameter (assessment → content) for unsupported API stubs. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/src/Custom/Models/SecuritySolutionsReferenceData.cs | Updates compatibility constructor parameter name and mapping. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/api/Azure.ResourceManager.SecurityCenter.netstandard2.0.cs | Updates public API surface for renamed parameters and constructor parameter name. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/api/Azure.ResourceManager.SecurityCenter.net8.0.cs | Updates public API surface for renamed parameters and constructor parameter name. |
| sdk/securitycenter/Azure.ResourceManager.SecurityCenter/api/Azure.ResourceManager.SecurityCenter.net10.0.cs | Updates public API surface for renamed parameters and constructor parameter name. |
| sdk/search/Azure.ResourceManager.Search/src/Generated/Models/AzureResourceManagerSearchContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/reservations/Azure.ResourceManager.Reservations/src/Generated/Models/AzureResourceManagerReservationsContext.cs | Adds additional options types to buildable context. |
| sdk/reservations/Azure.ResourceManager.Reservations/src/Generated/ArmReservationsModelFactory.cs | Removes a generated factory method (reintroduced via compatibility partial). |
| sdk/reservations/Azure.ResourceManager.Reservations/src/Custom/ArmReservationsModelFactory.ParameterCompatibility.cs | Adds compatibility factory method for parameter ordering/API-shape. |
| sdk/reservations/Azure.ResourceManager.Reservations/api/Azure.ResourceManager.Reservations.netstandard2.0.cs | Updates public API surface for factory parameter ordering. |
| sdk/reservations/Azure.ResourceManager.Reservations/api/Azure.ResourceManager.Reservations.net8.0.cs | Updates public API surface for factory parameter ordering. |
| sdk/reservations/Azure.ResourceManager.Reservations/api/Azure.ResourceManager.Reservations.net10.0.cs | Updates public API surface for factory parameter ordering. |
| sdk/relay/Azure.ResourceManager.Relay/src/Generated/Models/AzureResourceManagerRelayContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise/src/Generated/Models/AzureResourceManagerRedisEnterpriseContext.cs | Adds SubResource buildable and required using Azure.ResourceManager.Resources.Models;. |
| sdk/redis/Azure.ResourceManager.Redis/src/Generated/RedisResource.cs | Renames default parameter to defaultName in patch schedule accessors. |
| sdk/redis/Azure.ResourceManager.Redis/src/Generated/RedisPatchScheduleCollection.cs | Renames default parameter to defaultName across patch schedule CRUD methods. |
| sdk/redis/Azure.ResourceManager.Redis/api/Azure.ResourceManager.Redis.netstandard2.0.cs | Updates public API surface for renamed parameters. |
| sdk/redis/Azure.ResourceManager.Redis/api/Azure.ResourceManager.Redis.net8.0.cs | Updates public API surface for renamed parameters. |
| sdk/redis/Azure.ResourceManager.Redis/api/Azure.ResourceManager.Redis.net10.0.cs | Updates public API surface for renamed parameters. |
| sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/src/Generated/Models/AzureResourceManagerRecoveryServicesContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/src/Generated/Models/VMwareCbtEnableMigrationContent.cs | Removes a convenience constructor from generated type (reintroduced via compatibility partial). |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/src/Generated/Models/InMageRcmFabricCreationContent.cs | Removes a convenience constructor from generated type (reintroduced via compatibility partial). |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/src/Generated/Models/AzureResourceManagerRecoveryServicesSiteRecoveryContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/src/Custom/Models/VMwareCbtEnableMigrationContent.Compatibility.cs | Restores a convenience constructor for GA/source compatibility. |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/src/Custom/Models/InMageRcmFabricCreationContent.Compatibility.cs | Restores a convenience constructor for GA/source compatibility. |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/api/Azure.ResourceManager.RecoveryServicesSiteRecovery.netstandard2.0.cs | Updates public API surface for constructor parameter naming. |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/api/Azure.ResourceManager.RecoveryServicesSiteRecovery.net8.0.cs | Updates public API surface for constructor parameter naming. |
| sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/api/Azure.ResourceManager.RecoveryServicesSiteRecovery.net10.0.cs | Updates public API surface for constructor parameter naming. |
| sdk/recoveryservices-datareplication/Azure.ResourceManager.RecoveryServicesDataReplication/src/Generated/Models/AzureResourceManagerRecoveryServicesDataReplicationContext.cs | Adds ResponseError as buildable and required using Azure;. |
| sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/src/Generated/Models/AzureResourceManagerRecoveryServicesBackupContext.cs | Adds ResponseError and WritableSubResource as buildables and required imports. |
| sdk/quota/Azure.ResourceManager.Quota/src/Generated/Models/AzureResourceManagerQuotaContext.cs | Adds ResponseError as buildable and required using Azure;. |
| eng/azure-typespec-http-client-csharp-mgmt-emitter-package.json | Bumps mgmt emitter dependency version to 20260811.2. |
| eng/azure-typespec-http-client-csharp-mgmt-emitter-package-lock.json | Updates lockfile to match the new emitter dependency graph. |
Files not reviewed (1)
- eng/azure-typespec-http-client-csharp-mgmt-emitter-package-lock.json: Generated file
Suppressed comments (3)
sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/Models/ArmAppServiceModelFactory.ParameterCompatibility.cs:57
- The XML doc
paramtags forPremierAddOnDataare out of order vs the method signature (signature haskindbeforesku, etc.). This makes IntelliSense misleading.
sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/Models/ArmAppServiceModelFactory.ParameterCompatibility.cs:89 - The XML doc
paramtags forDiagnosticCategoryDataare out of order vs the method signature (kindthendescription). This makes IntelliSense misleading.
sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/Models/ArmAppServiceModelFactory.ParameterCompatibility.cs:108 - The XML doc
paramtags forWebSiteAnalysisDefinitionDataare out of order vs the method signature (kindthendescription). This makes IntelliSense misleading.
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Management SDK Review Summary
- Scope: Azure.ResourceManager.Sql, Azure.ResourceManager.AppService, Azure.ResourceManager.SecurityCenter, Azure.ResourceManager.SecurityInsights, Azure.ResourceManager.Redis, Azure.ResourceManager.Reservations, Azure.ResourceManager.RecoveryServicesSiteRecovery, Azure.ResourceManager.RecoveryServicesBackup, Azure.ResourceManager.RecoveryServicesDataReplication, Azure.ResourceManager.Quota, and ~15 other packages with only
src/Generated/Models/AzureResourceManager*Context.csemitter metadata changes - Versioning: Pass — ApiCompatVersion present in all packages; no version bumps outside expected ranges
- API surface: Fail — 54 deterministic scanner errors across 3 packages (23 SQL OPTPARAM001, 29 AppService OPTPARAM001/002, 2 SecurityCenter OPTPARAM001)
- Contextual naming: Evaluated 56 new public types (13 SQL, 40 AppService, 3 Reservations shims); flagged 0 — all names carry sufficient RP/domain context
- ApiCompat / breaking changes: CI passed (success); however, 54 OPTPARAM findings are source-compatible breaks that ApiCompat does not detect
- Migration-specific checks: Not applicable — this is an emitter refresh PR
Blocking Findings
Azure.ResourceManager.Sql — 23 × [OPTPARAM001] (baseline: 1.4.0)
The regenerated code changed multiple collection and resource method parameters from optional to required. None of these are covered by the existing ArmSqlModelFactory.ParameterCompatibility.cs shims. Full list:
| Class | Method | Required params |
|---|---|---|
SqlDatabaseCollection |
GetAll / GetAllAsync |
skipToken |
SqlServerJobExecutionCollection |
GetAll / GetAllAsync / GetJobTargetExecutions / GetJobTargetExecutionsAsync |
createTimeMin, createTimeMax, endTimeMin, endTimeMax, isActive, skip, top, cancellationToken |
SqlServerJobExecutionStepCollection |
GetAll / GetAllAsync |
same filter params |
SqlServerJobExecutionStepTargetCollection |
GetAll / GetAllAsync |
same filter params |
ManagedDatabaseResource |
GetManagedDatabaseSecurityEventsByDatabase / Async |
filter, skip, top, skiptoken, cancellationToken |
DataMaskingPolicyResource |
GetDataMaskingRules / Async |
filter, cancellationToken |
SqlServerResource |
GetRestorableDroppedDatabaseAsync |
cancellationToken |
MockableSqlResourceGroupResource |
GetLongTermRetentionBackupsWithLocation/Server/ManagedInstanceBackupsWithInstance/Location (8 overloads) |
onlyLatestPerDatabase, databaseState, cancellationToken |
Fix: Add compat overloads in the existing ArmSqlModelFactory.ParameterCompatibility.cs (or new per-class compat files) using [CodeGenSuppress] + forwarding method for each affected method, restoring the optional defaults from the 1.4.0 baseline. Follow the pattern already established for TdeCertificate and ManagedInstanceVcoresCapability.
Azure.ResourceManager.AppService — 29 × [OPTPARAM001/OPTPARAM002] (baseline: 1.5.0)
See inline comments for the private endpoint connection CancellationToken OPTPARAM002 fixes. Additional model factory findings:
OPTPARAM001 (optional → required in new overload — add compat shims):
ArmAppServiceModelFactory.SiteAuthSettingsV2:id,name,resourceType,systemData,platform,globalValidation,identityProviders,login,httpSettings,kindchanged to requiredArmAppServiceModelFactory.AppServiceEnvironmentAddressResult:id,name,resourceType,systemData,serviceIPAddress,internalIPAddress,outboundIPAddresses,virtualIPMappings,kindchanged to requiredArmAppServiceModelFactory.CsmDeploymentStatus:id,name,resourceType,systemData,deploymentId,status,numberOfInstancesInProgress/Successful/Failed,failedInstancesLogs,errors,kindchanged to required
OPTPARAM002 (required → optional, overload ambiguity risk — add compat shims restoring old required-param overloads):
ArmAppServiceModelFactory.ResourceNameAvailability,ResourceNameAvailabilityContentArmAppServiceModelFactory.AppServiceVirtualNetworkGatewayData,ContinuousWebJobData,CsmPublishingCredentialsPoliciesEntityData,AppServiceDetectorData,AppServiceSourceControlData,AseV3NetworkingConfigurationData,SiteContainerData,CustomDnsSuffixConfigurationData,AppServiceEnvironmentData
Fix: Add compat overloads in src/Customization/AppService/Models/ArmAppServiceModelFactory.ParameterCompatibility.cs using [CodeGenSuppress] + forwarding methods, following the AppServiceIdentifierData/PremierAddOnData pattern and referencing issue #61815.
Azure.ResourceManager.SecurityCenter — 2 × [OPTPARAM001] (baseline: 1.1.0)
SecurityCenterPricingCollection.GetAll and GetAllAsync: the new API adds an overload GetAll(string filter = null, CancellationToken = default) alongside GetAll(CancellationToken cancellationToken) — but the second form makes cancellationToken required while the baseline had it optional. Callers that passed a CancellationToken positionally now bind to the required-param overload instead of the optional one.
Fix: Add a compat shim or ensure the parameterless-compatible GetAll(CancellationToken cancellationToken = default) form is preserved alongside the new GetAll(string filter = null, CancellationToken = default) overload. The source file for SecurityCenterPricingCollection is not in this PR's diff; add it as a new customization file.
Non-Blocking Findings
Azure.ResourceManager.SecurityCenter — warnings (pre-existing from 1.2.0-beta chain)
[DATE001]InformationProtectionPolicyData.LastModifiedUtcandInformationProtectionPolicy.LastModifiedUtc— DateTimeOffset properties not ending withOn. These are pre-existing from the beta series and not introduced by this PR.
Azure.ResourceManager.SecurityInsights — warnings (pre-existing from 1.2.0-beta chain)
Scanner found 12 warnings all pre-existing relative to the 1.1.0 GA baseline: 5× [DATE001], 4× [TYPE001] (string ResourceId properties that may hold ARM resource IDs), 3× [SUFFIX006/007] (SecurityInsightsThreatIntelligenceIndicatorData, CustomizableConnectorDefinitionData using Data without inheriting ResourceData; ActivityEntityQueryDefinition using Definition suffix). None are introduced by this emitter refresh PR.
Verified Compatibility Shims (no action needed)
The following custom files correctly add backward-compatibility shims with proper [CodeGenSuppress] + TODO comments:
Azure.ResourceManager.RecoveryServicesSiteRecovery—InMageRcmFabricCreationContent.Compatibility.cs,VMwareCbtEnableMigrationContent.Compatibility.cs(required-params constructor shims referencing TypeSpec issue #11588)Azure.ResourceManager.Reservations—ArmReservationsModelFactory.ParameterCompatibility.cs(ReservationPropertiesshim)Azure.ResourceManager.SecurityInsights—ArmSecurityInsightsModelFactory.ParameterCompatibility.cs(MicrosoftSecurityIncidentCreationAlertRuleTemplateshim)Azure.ResourceManager.Sql—ArmSqlModelFactory.ParameterCompatibility.cs(TdeCertificate,ManagedInstanceVcoresCapabilityshims)Azure.ResourceManager.AppService— existing shims forAppServiceIdentifierData,PremierAddOnData,DiagnosticCategoryData,WebSiteAnalysisDefinitionData✓; private endpoint connection type-change shims ✓
Resolving TypeSpec-related review comments
- Open a separate spec PR in
azure-rest-api-specs, or update the existing spec PR for this SDK change. - Before the spec PR merges, update
tsp-location.yamlto the latest commit from the spec PR, regenerate the SDK, and rerun this review. - If the review reports new findings, address them in the same spec PR, update the SDK from its latest commit, and repeat steps 2 and 3. Do not merge the spec PR while any review findings remain.
- Only after the review reports no more findings, merge the spec PR.
- After the spec PR merges, update
tsp-location.yamlto the latestmaincommit inazure-rest-api-specsthat contains the merged changes, then regenerate the SDK.
Analyzed by Azure .NET Management SDK PR Review: 5 inline comments, 3 packages with blocking OPTPARAM findings.
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/31589211011
Comments that could not be inline-anchored
sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/HostingEnvironmentPrivateEndpointConnectionCollection.cs:23
[OPTPARAM002] The GA baseline (1.5.0) shipped CreateOrUpdateAsync with PrivateLinkConnectionApprovalRequestInfo accepting CancellationToken cancellationToken as required (no default). This shim changes it to cancellationToken = default, which is an OPTPARAM002 source-compatibility break that ApiCompat does not catch.
Restore the required signature:
public virtual Task<ArmOperation<HostingEnvironmentPrivateEndpointConnectionResource>> CreateOrUpdateAsync(
WaitUntil…
</details>
<details><summary>sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/SitePrivateEndpointConnectionCollection.cs:28</summary>
**[OPTPARAM002]** The GA baseline (1.5.0) shipped both `CreateOrUpdate` and `CreateOrUpdateAsync` accepting `PrivateLinkConnectionApprovalRequestInfo` with `CancellationToken cancellationToken` as **required** (no default). These shims change both to `cancellationToken = default`, which is an OPTPARAM002 source-compatibility break.
Restore the required signatures for both `CreateOrUpdate` and `CreateOrUpdateAsync` in this class, matching the baseline:
```csharp
public virtual ArmOperation<Site…
</details>
<details><summary>sdk/websites/Azure.ResourceManager.AppService/src/Customization/AppService/HostingEnvironmentPrivateEndpointConnectionResource.cs:96</summary>
**[OPTPARAM002]** The GA baseline (1.5.0) shipped `Update` and `UpdateAsync` accepting `PrivateLinkConnectionApprovalRequestInfo` with `CancellationToken cancellationToken` as **required** (no default). These shims add `= default`, which is an OPTPARAM002 source-compatibility break.
Restore required `CancellationToken` in the shims:
```csharp
public virtual ArmOperation<HostingEnvironmentPrivateEndpointConnectionResource> Update(
WaitUntil waitUntil, PrivateLinkConnectionApprovalRequestInf…
</details>
<details><summary>sdk/websites/Azure.ResourceManager.AppService/src/Generated/ArmAppServiceModelFactory.cs:3636</summary>
**[OPTPARAM002]** The GA baseline (1.5.0) shipped several `ArmAppServiceModelFactory` factory methods with required positional parameters. This regeneration made them all optional (adding `= default`), breaking source compatibility for callers who wrote tests against the old factory signatures. ApiCompat passes because the methods still exist, but overload resolution changes.
Methods affected (scanner findings, OPTPARAM002):
- `ResourceNameAvailability(bool isNameAvailable, CheckNameAvailabili…
</details>
<details><summary>sdk/sqlmanagement/Azure.ResourceManager.Sql/src/Custom/Models/ArmSqlModelFactory.ParameterCompatibility.cs:23</summary>
**[OPTPARAM001]** This compat file adds shims for `TdeCertificate` and `ManagedInstanceVcoresCapability` (good), but there are **23 additional OPTPARAM001 source-compatibility breaks** on collection methods where parameters changed from optional to required. These are not covered here.
Methods affected (representative list — see full scanner output):
- `SqlDatabaseCollection.GetAll(string skipToken, CancellationToken)` — `skipToken` changed from optional to required
- `SqlDatabaseCollection.Ge…
</details>Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 66a55915-e310-4860-a690-1df47405837d
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 66a55915-e310-4860-a690-1df47405837d
|
Addressed the blocking compatibility review in
The remaining 22 scanner findings are false positives because alternate overloads preserve the GA calls: 15 SQL, 2 Security Center, and 5 App Service. Representative GA calls compile against the updated projects. These cases were added to #61975. - by copilot |
There was a problem hiding this comment.
Management SDK Review Summary
- Scope: Azure.ResourceManager.Sql (baseline 1.4.0), Azure.ResourceManager.AppService (baseline 1.5.0), Azure.ResourceManager.SecurityCenter (baseline 1.1.0), Azure.ResourceManager.SecurityInsights (baseline 1.1.0) — packages with API file changes. ~21 other packages had only emitter metadata or non-API changes.
- Versioning: Pass —
ApiCompatVersionpresent in all reviewed packages; no version bumps detected. - API surface: Fail — 22 deterministic scanner errors (15 SQL OPTPARAM001, 5 AppService OPTPARAM001/002, 2 SecurityCenter OPTPARAM001). SecurityInsights: ✅ fully fixed by the new
ParameterCompatibility.csin this PR. - Contextual naming: Evaluated 13 new public types in SQL (all OK), 40 new public types in AppService (flagged 2). SecurityCenter contextual naming not evaluated (baseline is netstandard2.0 vs current net10.0; 264 apparent new types includes all API surface added since 1.1.0 — impractical to evaluate in this round).
- ApiCompat / breaking changes: CI passed (success); however, 22 OPTPARAM findings are source-compatibility breaks that ApiCompat does not detect.
- Migration-specific checks: Not applicable — this is an emitter refresh PR.
Blocking Findings
Azure.ResourceManager.Sql — 15 × [OPTPARAM001] (see inline comment)
The following collection/resource methods still have parameters changed from optional to required relative to the 1.4.0 baseline. The new ArmSqlModelFactory.ParameterCompatibility.cs covers only model factory methods and does not address these:
SqlDatabaseCollection.GetAll/GetAllAsync—skipTokenSqlServerJobExecutionCollection.GetAll/GetAllAsync/GetJobTargetExecutions/GetJobTargetExecutionsAsync— 8 filter params eachSqlServerJobExecutionStepCollection.GetAll/GetAllAsync— same filter paramsSqlServerJobExecutionStepTargetCollection.GetAll/GetAllAsync— same filter paramsManagedDatabaseResource.GetManagedDatabaseSecurityEventsByDatabase/Async—filter,skip,top,skiptoken,cancellationTokenDataMaskingPolicyResource.GetDataMaskingRules/GetDataMaskingRulesAsync—cancellationTokenSqlServerResource.GetRestorableDroppedDatabaseAsync—cancellationToken
Fix: Create per-class compat files (e.g., SqlDatabaseCollection.Compatibility.cs) using the [CodeGenSuppress] + forwarding method pattern already applied in MockableSqlResourceGroupResource.cs.
Azure.ResourceManager.AppService — 5 × [OPTPARAM001/002] (see inline comment)
Five model factory methods are not yet covered by ArmAppServiceModelFactory.ParameterCompatibility.cs:
AppServiceEnvironmentAddressResult— OPTPARAM001 (9 params changed optional → required)CsmDeploymentStatus— OPTPARAM001 (12 params changed optional → required)ResourceNameAvailability— OPTPARAM002 (3 params changed required → optional, creates overload ambiguity)ResourceNameAvailabilityContent— OPTPARAM002 (4 params changed required → optional)SiteAuthSettingsV2— OPTPARAM001 (10 params changed optional → required)
Fix: Add [CodeGenSuppress] and forwarding overloads for these 5 methods in the existing ArmAppServiceModelFactory.ParameterCompatibility.cs, following the same pattern already used for ContinuousWebJobData, AppServiceEnvironmentData, etc.
Azure.ResourceManager.SecurityCenter — 2 × [OPTPARAM001]
SecurityCenterPricingCollection.GetAll—cancellationTokenchanged from optional to requiredSecurityCenterPricingCollection.GetAllAsync—cancellationTokenchanged from optional to required
Fix: Create SecurityCenterPricingCollection.Compatibility.cs (or equivalent) in src/Custom/ with [CodeGenSuppress] + forwarding methods that restore cancellationToken = default.
Non-inline Findings
Contextual Naming — AppService (2 flagged out of 40 evaluated)
AiIntegration (API line 7546, src/Generated/Models/AiIntegration.cs): The name lacks RP/service context. In IntelliSense without namespace qualification, AiIntegration is ambiguous across the Azure SDK ecosystem. Recommend AppServiceAiIntegration.
Fix: Add @@clientName(AiIntegration, "AppServiceAiIntegration", "csharp"); in the service TypeSpec client.tsp and regenerate.
ErrorEntity (API line 11335, src/Generated/Models/ErrorEntity.cs): Very generic name that competes with many existing error types in the Azure SDK. Recommend AppServiceErrorEntity.
Fix: Add @@clientName(ErrorEntity, "AppServiceErrorEntity", "csharp"); in the service TypeSpec client.tsp and regenerate.
Resolving TypeSpec-related review comments
- Open a separate spec PR in
azure-rest-api-specs, or update the existing spec PR for this SDK change. - Before the spec PR merges, update
tsp-location.yamlto the latest commit from the spec PR, regenerate the SDK, and rerun this review. - If the review reports new findings, address them in the same spec PR, update the SDK from its latest commit, and repeat steps 2 and 3. Do not merge the spec PR while any review findings remain.
- Only after the review reports no more findings, merge the spec PR.
- After the spec PR merges, update
tsp-location.yamlto the latestmaincommit inazure-rest-api-specsthat contains the merged changes, then regenerate the SDK.
Analyzed by Azure .NET Management SDK PR Review: 31609595036
Analyzed by Azure .NET Management SDK PR Review: https://github.com/Azure/azure-sdk-for-net/actions/runs/31609595036
|
The remaining non-inline findings in review #4918075073 are also false positives/out of scope:
All 22 optionality false-positive cases are tracked in #61975. - by copilot |
Split from #61962 because the combined pull request exceeded the Azure Pipelines YAML expansion size limit.
Contains management SDK regeneration changes for
sdk/quota/Azure.ResourceManager.Quota through sdk/websites/Azure.ResourceManager.AppService, plus the management emitter package and lock files.Generated by branded - http-client-csharp-mgmt build 20260811.2.