[AzureResilienceManagement] Add new API version 2026-08-31-preview (#45663)
* AzureResilienceManagement: add 2026-08-31-preview with AHM + SLI Drill monitoring
Add optional Azure Health Model and SLI monitoring to Drills behind new API
version 2026-08-31-preview.
Ported from Azure/azure-rest-api-specs-pr branch
user/jainkapil/ahm-sli-integration (PR #29996).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
* Remove arm-post-operation-response-codes suppression on DrillRuns_GenerateReport
Use ArmResourceActionNoResponseContentAsync instead of ArmResourceActionAsync
with ArmNoContentResponse, so the LRO POST emits 202 + default only, as required
by both the TSP ARM rule and the Spectral PostResponseCodes rule. The suppression
is no longer needed. Example updated to drop the 204 response.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
* Revert "Remove arm-post-operation-response-codes suppression on DrillRuns_GenerateReport"
This reverts commit 567d1d35463a1ef7d7e8aa42458c1a00f6b07236.
* Use url scalar for ReportDownloadUrlResponse.downloadUrl
Addresses ARM API review suggestion (URI-properties rule): properties holding
URLs must use the TypeSpec 'url' scalar rather than plain 'string'. Generated
swagger now emits "type": "string", "format": "uri".
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
* Return 200 + DrillRunReport from DrillRuns_GenerateReport instead of 204
The LRO now completes with the projected DrillRunReport rather than an empty
204, so callers get generation status without a follow-up GET on the DrillRun.
This also removes the arm-post-operation-response-codes suppression. The TSP ARM
rule accepts {202, default} or {202, 200-with-schema, default}; the merge-gating
LintDiff PostResponseCodes rule accepts a final 200-with-schema or 204-no-schema.
202 + 200-with-schema + default is the only shape both accept, so returning a
body makes the operation lint-clean under both validators.
Service owner confirmed the implementation can return this body.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
* AzureResilienceManagement: gate cross-zone VM recovery properties with @added
Add @added(Versions.v2026_08_31_preview) to targetZone and
capacityReservationGroupId on ResourceCrossZoneVmRecoveryProtectionSetting
for explicit per-property version gating. Emitted openapi.json unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Refresh 2026-08-31-preview after merging GA/GR phase-1 changes from main
PR #45045 gated the Goals phase-1 schema changes to 2026-06-01-preview, so they
flow forward into 2026-08-31-preview. Our copy of the affected artifacts was
created before that merge and had gone stale:
- Regenerate preview/2026-08-31-preview/openapi.json: picks up nested
zonalResiliency/ResiliencyProperties, the UserConfirmationItem rename, the
relaxed required arrays on GoalAssignment/GoalResource/ServiceLevelResource,
and the removal of GoalAssignmentPropertiesUpdate.
- Refresh the three GoalResources examples (Get_Complete, Get_MaximumSet,
List_MaximumSet) from their 2026-06-01-preview counterparts; they were missing
the nested zonalResiliency block.
No changes needed to readme.md, service.yaml, cspell.yaml or client.tsp - PR
#45045 did not touch them and client.tsp references no renamed types.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
* AzureResilienceManagement: add resource feasibility reviews to ValidateForFailover (#45667)
Adds advisory SKU capacity feasibility reviews to the recovery resource
qualification contract for 2026-08-31-preview.
- ResourceFeasibilityReviewType union (SkuCapacity)
- ResourceFeasibilityReviewStatus union (Unavailable, Passed, Flagged,
NotApplicable)
- SkuDetails model describing a SKU and its enrichment
- ResourceFeasibilityReview model
- Optional resourceFeasibilityReviews on OperationQualificationDetails,
capped at 10 and keyed by x-ms-identifiers
All declarations are gated with @added(Versions.v2026_08_31_preview), so
the four earlier preview versions are unchanged.
monthlyPrice uses float64, emitting `type: number, format: double`.
A decimal-based scalar was considered to avoid binary floating-point
rounding on a monetary value, but both `decimal` and `decimal128` emit
`format: decimal`, which is not a valid OpenAPI 2.0 format and is
rejected by the Swagger ValidFormats linter rule. The only services
shipping that format (Consumption, Cost Management) carry an explicit
readme-level ValidFormats suppression. float64 keeps roughly 15-17
significant digits, which is ample for an advisory, non-billing price
estimate, and needs no suppression at either the TypeSpec or Swagger
layer.
resourceType carries an ARM resource type @pattern.
recommendedTargetSkus is optional for symmetry with currentTargetSku,
and the doc states that callers should treat an absent and an empty
array identically.
Also updates the ValidateForFailover MaximumSet example to demonstrate a
Flagged review, and regenerates openapi.json.
Verified: tsp compile --warn-as-error exits 0 with no suppressions;
oav validate-example reports no errors.
Co-authored-by: Radhika Chaturvedi <rachaturvedi@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1908923e-755d-48fb-aed2-3fe3555b56c3
* Address API review feedback: scope report enum names, rename ListReportDownloadUrl models, replace isFinalized with finalizationState
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
* AzureResilienceManagement: add NeedsAttention provisioning state in 2026-08-31-preview (#45671)
Co-authored-by: Sahithi Pandi <sahithipandi@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Rename DrillRunReport to DrillReportSummary
Addresses API review feedback: the model contains only report-generation status and metadata (generationStatus, stageStatuses, availableFormats, schemaVersion, finalizationState), never the report content itself. The previous name was misleading at both use sites - as the generateReport action response and as DrillRunProperties.report. Docs updated to match the clarified semantics.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mudit Goswami <muditplatform@gmail.com>
Co-authored-by: Radhika Chaturvedi <59797282+RADHIKACHATURVEDI@users.noreply.github.com>
Co-authored-by: Radhika Chaturvedi <rachaturvedi@microsoft.com>
Co-authored-by: sahithiudemy-cpu <sahithiudemy@gmail.com>
Co-authored-by: Sahithi Pandi <sahithipandi@microsoft.com>
Co-authored-by: Umesh Kumar Patel <105031414+umpatel@users.noreply.github.com>
Copilot-Session: a4082df3-ffe4-45ad-8178-1f5f6c781cbb
Copilot-Session: 1908923e-755d-48fb-aed2-3fe3555b56c3 A
Arpit Jain committed
736e61cb6c5059d5f75bac47b54ce57c6ad130f7
Parent: ddce668
Committed by GitHub <noreply@github.com>
on 8/22/2026, 1:32:38 PM