Skip to content

Updating stable release branch#41047

Open
jeremyfrosti wants to merge 2116 commits into
release-sql-Microsoft.Sql-2025-01-01from
main
Open

Updating stable release branch#41047
jeremyfrosti wants to merge 2116 commits into
release-sql-Microsoft.Sql-2025-01-01from
main

Conversation

@jeremyfrosti
Copy link
Copy Markdown
Member

ARM (Control Plane) API Specification Update Pull Request

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
  • A release plan has been created. If not, please create one as it will help guide you through the REST API and SDK creation process.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.
  • For guidance on SDK breaking change review, refer to https://aka.ms/ci-fix.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 5, 2026

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ The suppressions added to the AutoRest config files (README.mds) require review. Refer to step 1 in the PR workflow diagram, or to step 3, depending on the kind of suppression you did.


Comment generated by summarize-checks workflow run.

jliusan and others added 14 commits May 11, 2026 10:41
* add go config

* add go config

* add go config
* update

* update

* update

---------

Co-authored-by: Razvan Badea <156206747+razvanbadea-msft@users.noreply.github.com>
* update

* resolve go sdk failure

---------

Co-authored-by: ReleaseHelper <ReleaseHelper>
…ackup (#42853)

* Add stable API version 2026-02-01 for RecoveryServices and RecoveryServicesBackup

Add new stable version 2026-02-01 by adding the version to the TypeSpec
Versions enum and generating swagger via tsp compile. No new properties
or models added - this is a pure version bump from 2026-01-01.

Changes:
- Added v2026_02_01 to Versions enum in main.tsp for both services
- Updated readme.md with package-2026-02-01 tag for both services
- Generated stable/2026-02-01 swagger files via tsp compile
- Copied examples from 2026-01-01

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix example files: update stale api-versions, relative URLs, and inconsistent resourceGroupName

- Update all api-version values in LRO polling URLs (Azure-AsyncOperation,
  Location headers) to api-version=2026-02-01
- Prefix relative polling URLs with https://management.azure.com
- Fix resourceGroupName inconsistency in DeleteVault.json (HelloWorld ->
  Default-RecoveryServices-ResourceGroup)

Addresses review feedback on EX-LRO-HEADERS and EX-PARAM-CONSISTENCY.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix: only apply https://management.azure.com prefix to LRO polling URLs

Remove incorrectly applied hostname prefix from resource IDs and other
non-LRO URL fields. The prefix should only be on Azure-AsyncOperation
and Location header values.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: S Vishnu Sanagapalli <ssanagapalli@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
#42074)

Remove `src-folder` from the TypeSpec JS emitter configuration since support
was never implemented for this option. Remove `generate-metadata` since we
want the default behavior that detects package.json.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…folder (#42936)

* Move legacy ConfidentialLedger swaggers into TypeSpec project folder

Consolidates the legacy hand-written swaggers under Microsoft.ConfidentialLedger/preview and Microsoft.ConfidentialLedger/stable into the new TypeSpec project at Microsoft.ConfidentialLedger/ConfidentialLedger/{preview,stable}, matching the pattern used by 185+ other TSP projects in the repo (e.g. advisor, alertsmanagement).

- Moves all legacy version folders into the ConfidentialLedger TSP project root

- Updates relative \\\ paths to common-types from 5 levels up to 6 levels up (one extra directory of depth)

- Removes duplicate preview/2025-06-10-preview/examples (byte-identical to TSP-generated copies)

- Updates readme.md autorest input-file paths for all 9 legacy tags

- Deletes the now-empty old preview/ and stable/ directories

No behavioral changes; all SDK generation tags continue to resolve correctly. The newer TSP-generated openapi.json files (stable/2026-02-23, preview/2025-06-10-preview) are untouched.

* Update responses in ConfidentialLedger_Delete examples to include headers for async operation

---------

Co-authored-by: Yuchao Yan <yuchaoyan@microsoft.com>
…endpoints (#42893)

Co-authored-by: Karthick <karthick.narendran@microsoft.com>
…oints (#42983)

Co-authored-by: Karthick <karthick.narendran@microsoft.com>
* transition 'prepare pipelines' to the github app in -pr instances

* Update eng/common/pipelines/templates/jobs/prepare-pipelines.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add archetype-typespec-emitter to the common changeset

* remove the azure-sdk owner from the last login, as that is only creating the PR

* target origin repo to enable maintainer_can_modify

* I need to fetch the branch a simple checkout only gets all tags

---------

Co-authored-by: Scott Beddall <scbedd@microsoft.com>
Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
welovej and others added 30 commits May 28, 2026 14:50
* Renaming microsoft to Microsoft for Microsoft.EventGrid

Split from #43189.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* update

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* remove duplicate model

* update

* Revert "remove duplicate model"

This reverts commit af396b3.

* Revert "update"

This reverts commit 036c7b6.

* update
* update

* update

* update

* format
…tByFactory to mitigate python sdk breaking (#43579)

* Exclude python from clientLocation for PrivateEndpointConnections listByFactory

* Remove ResourceAutoGenerated clientName override for python
* update JS config for appservice

* Update client.tsp

* Update client.tsp

* Update client.tsp

* Revert "Update client.tsp"

This reverts commit 97307f7.

* Update client.tsp

* Update client.tsp
…pdates (#43365)

* fix: make prepared image spec version writable

* docs: clarify prepared image spec version input

* fix: restrict PreparedImageSpecification PATCH to ARM tags only

Remove properties field from PreparedImageSpecificationPatch so that
PATCH operations only accept ARM tags. Also remove the now-unused
patch-specific models:
- PreparedImageSpecificationPatchProperties
- PreparedImageSpecificationManagedIdentityProfileUpdate
- PreparedImageSpecificationScriptUpdate

This is a breaking change that aligns with ADO task 38037921.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: limit version field to 63 chars, add version to PUT examples

- Align version pattern max length with Kubernetes label value limit (63)
- Add version field to PUT (CreateOrUpdate) example request bodies

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: restrict node customization PATCH to tags only, make sync

- Add NodeCustomizationPatch (tags-only) model
- Change ArmCustomPatchAsync -> ArmCustomPatchSync
- Update examples: tags-only request body, remove 202 response
- Affects both 2025-08-02-preview and 2025-09-02-preview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address PR feedback - rename to NodeCustomizationUpdate, make version mutable, revert doc noise

- Rename NodeCustomizationPatch to NodeCustomizationUpdate to minimize diff (keeps original model name)
- Remove @visibility(Lifecycle.Read) from NC version field (customer-provided, same as PIS)
- Revert unnecessary doc string change on update operation
- Add version to NC CreateOrUpdate examples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Revert NodeCustomization PATCH LRO change

Keep the tags-only patch body and version updates, but leave the deprecated NodeCustomization PATCH operation documented as async to minimize the PR's LRO behavior changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* restore NC Update example 202 response and revert cosmetic tags change

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(nodecustomization): restore NC Update source examples with 202 response and team:blue tags

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(preparedimagespecification): remove extra blank line in models.tsp (formatting)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(preparedimagespecification): remove duplicate version from create example

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address PIS review comments

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chsarp name overrides based on review

* change type to system uri

* format fix

* try update MaiVoice1

* revert change

---------

Co-authored-by: Emily Jiji <emilyjiji@microsoft.com>
* Sync common skills from azure sdk tools
Co-authored-by: Emily Jiji <emilyjiji@microsoft.com>
# Summary

Document: https://github.com/azure-management-and-platforms/aks-handbook/pull/145

Introduces the `2026-05-02-preview` API version for `Microsoft.ContainerService/aimanager`, adding three new resources to support model catalog and deployment scenarios:

## New resources

- **`AIModel`** — subscription-scoped catalog resource representing a model available for deployment. Supports `list`, `get`, and a `calculateCost` action (returns estimated cost and max available replicas for serving).
- **`ModelSource`** — child of `AIManager`, registers an external model source (e.g., a registry or storage location) that deployments can pull models from.
- **`ModelDeployment`** — child of `AIManagerNamespace`, represents a running deployment of an `AIModel` into a namespace, with serving performance (latency / throughput) estimation.

## New actions on `AIManagerNamespace`

- **`listAccessKeys`** — returns namespace access keys along with `lastRotatedAt` 
- **`rotateKeys`** —  Rotates the namespace-scoped LLM gateway API keys.

---------

Signed-off-by: zhuangqh <zhuangqhc@gmail.com>
…ne post TypeSpec Migration (#43184)

* surface default endpoint in Learn API reference

* fix literal \n showing in Learn API reference

* fix endpoint description to add link to doc resource.

* tweak the wording for endpooint description

* improve doc rendering and fix parameterized-host examples

- Replace literal \n escapes with real newlines in security definitions
- Convert #### Notes headers to > [!NOTE] callouts in AadToken docs
- Type endpoint parameter as url with default and geographic-scope description
- Add missing endpoint parameter to 60 example files across Render,
  Route, Geolocation, Search, Timezone, Traffic, and Weather stable versions

* regenerate Maps data-plane examples to match tsp compile output

* Add endpoint parameter to Maps data-plane examples for Learn doc rendering

Adds 'endpoint' to the parameters block of 122 example files (61 TSP source + 61 generated stable copies) across 6 data-plane services: Search, Weather, Route, Render, Timezone, Traffic. These services use x-ms-parameterized-host with hostTemplate '{endpoint}', so Learn requires the value in each example for URL substitution. Geolocation already had it.

* expose subscription-key as both header and query auth for Maps data-plane

Add a second ApiKeyAuth model (in: query) alongside the existing header
form so the Learn docs 'URI Parameters' section renders subscription-key
again, matching the pre-TypeSpec swagger behavior. Header form remains
first in the @useAuth union to preserve existing SDK credential binding.

* Revert "expose subscription-key as both header and query auth for Maps data-plane"

This reverts commit 8aa0375.

---------

Co-authored-by: copilot <copilot@local>
…review (#41475)

* Added base API versions

* Add Continuous35Days to ContinuousTier for 2026-04-01-preview

- Add Continuous35Days enum value gated to 2026-04-01-preview
- Add versioning imports to models.tsp
- Add readme tag block for package-preview-2026-04-01-preview
- Add examples for 2026-04-01-preview
- Generate openapi.json for 2026-04-01-preview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Adding support for preview only features

* Examples and generated stable models

* Gate preview-only models and fix decorator ordering

* Fix review comment issues in 2026-03-15 and 2026-04-01-preview examples

Agent-Logs-Url: https://github.com/Azure/azure-rest-api-specs/sessions/02976c58-5f2f-4cad-98ad-af3dab2e404e

Co-authored-by: pjohari-ms <84465928+pjohari-ms@users.noreply.github.com>

* More fixes, copilot was incorrect

* More fixes

* Add enforceHierarchicalPartitionKeyIdLastLevel to DatabaseAccount (#41701)

* Add enforceHierarchicalPartitionKeyIdLastLevel to DatabaseAccount for 2026-03-15

Add optional boolean property to enable/disable hierarchical partition key
ID last level enforcement on the Cosmos DB database account. Property is
scoped to 2026-03-15 stable only (excluded from 2026-04-01-preview).

Added to: DatabaseAccountGetProperties, DatabaseAccountUpdateProperties,
DatabaseAccountCreateUpdateProperties.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* remove gated

* add examples

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* init (#41715)

Co-authored-by: Adrián Sibaja Retana <adriansib@microsoft.com>
Co-authored-by: pjohari-ms <84465928+pjohari-ms@users.noreply.github.com>

* init (#41712)

Co-authored-by: Adrián Sibaja Retana <adriansib@microsoft.com>
Co-authored-by: pjohari-ms <84465928+pjohari-ms@users.noreply.github.com>

* Add shardCount, authenticationMethod, and persistence to Garnet Cache for 2026-04-01-preview (#41811)

* Add new properties in the sdk

* Remove accidentally committed .gitkeep file

* Add generated openapi.json for 2026-03-15

* Revert "Add generated openapi.json for 2026-03-15"

This reverts commit 9fe38a2.

* Rename nodeCount to shardCount and add new Garnet properties for 2026-04-01-preview

- Rename nodeCount to shardCount in all Garnet examples (source and output)
- Add authenticationMethod, persistence, and shardCount to all Garnet
  example responses (Create, Get, List, Patch)
- Matches @added/@removed decorators in models.tsp

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Table, Cassandra, Gremlin, MongoMI RBAC examples for 2026-03-15 s… (#41975)

* Add Table, Cassandra, Gremlin, MongoMI RBAC examples for 2026-03-15 stable

Add RBAC role definition and role assignment examples for Table,
Cassandra, Gremlin, and MongoMI APIs under the 2026-03-15 stable
version. Update readme.md with package-2026-03-15 tag.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove @added gating from RBAC operations, add preview examples, regenerate swagger

Remove @added(Versions.v2026_04_01_preview) from Table, Cassandra,
Gremlin, and MongoMI RBAC operation interfaces so they appear in
both stable (2026-03-15) and preview (2026-04-01-preview) swagger.

Add RBAC examples for 2026-04-01-preview. Regenerate openapi.json
for stable version to include RBAC operations and example refs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix LRO header casing in RBAC examples to match base repo

Fix azure-AsyncOperation -> Azure-AsyncOperation and
location -> Location in all RBAC example files for both
2026-03-15 and 2026-04-01-preview versions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Reverting preview files which should be unchanged

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update specification/cosmos-db/resource-manager/Microsoft.DocumentDB/DocumentDB/examples/2026-04-01-preview/CosmosDBCassandraKeyspaceList.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update specification/cosmos-db/resource-manager/Microsoft.DocumentDB/DocumentDB/examples/2026-03-15/CosmosDBMongoDBDatabaseCreateUpdate.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update specification/cosmos-db/resource-manager/Microsoft.DocumentDB/DocumentDB/examples/2026-03-15/CosmosDBSqlDatabaseCreateUpdate.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update specification/cosmos-db/resource-manager/Microsoft.DocumentDB/DocumentDB/examples/2026-03-15/CosmosDBPrivateEndpointConnectionGet.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update specification/cosmos-db/resource-manager/Microsoft.DocumentDB/DocumentDB/examples/2026-03-15/CosmosDBTableThroughputUpdate.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Typespec copilot suggested compiled changes

* Copilot review

* Add Soft Delete TypeSpec for CosmosDB 2026-04-01-preview (#42185)

* Add Soft Delete TypeSpec for CosmosDB 2026-04-01-preview

Port soft delete swagger changes from azure-rest-api-specs-pr PR #25529 to TypeSpec.

Changes:
- Add SoftDeleteConfiguration model with softDeletionEnabled,
  minMinutesBeforePermanentDeletionAllowed, and softDeleteRetentionPeriodInMinutes
- Add softDeleteConfiguration property to DatabaseAccountGetProperties,
  DatabaseAccountCreateUpdateProperties, and DatabaseAccountUpdateProperties
- Create SoftDeletedResources.tsp with operations for:
  - SoftDeletedDatabaseAccounts (Get, ListByLocation, ListByResourceGroupAndLocation, Delete)
  - SoftDeletedSqlDatabases (Get, List, Delete)
  - SoftDeletedSqlContainers (Get, List, Delete)
- Add 13 example JSON files for 2026-04-01-preview
- All new types versioned with @added(Versions.v2026_04_01_preview)
- Generated swagger output verified

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix CI validation errors for soft-delete TypeSpec

- Use ARM parameter spreads (SubscriptionIdParameter, ResourceGroupParameter,
  ApiVersionParameter) instead of inline @path/@query parameters
- Add x-ms-pageable extension to all list operations
- Add nextLink property to all list result models
- Fix _rid property to use direct name with casing suppression

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Suppress TypeSpec warnings for soft-delete resources

- Suppress no-nullable warnings for SoftDeleteConfiguration (x-nullable needed)
- Suppress no-openapi warnings for x-ms-pageable and x-ms-client-flatten extensions
- Clean compile: 0 errors, 0 warnings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix CI round 2: _rid suppressions, location common-types, x-ms-mutability

- Add DefinitionsPropertiesNamesCamelCase suppressions in readme.md for
  SoftDeletedSqlDatabaseResource._rid and SoftDeletedSqlContainerResource._rid
- Replace inline location parameter with Azure.ResourceManager.LocationParameter
  (generates common-types \ in swagger)
- Add x-ms-mutability ['read', 'create'] to location property on result models
- Suppress arm-resource-operation warning for custom listByLocation operation
- Clean compile: 0 errors, 0 warnings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix missing location parameter in Purge/Restore example files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Run tsp format on SoftDeletedResources.tsp

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Split Delete into separate Restore/Purge operations with @SharedRoute

Use @SharedRoute and @operationid to produce distinct Restore and Purge
operations matching the original swagger PR, so SDKs generate separate
client.restore() and client.purge() methods instead of a single
client.delete(softDeleteActionKind=...) method.

Generated operationIds now match the original PR:
- SoftDeletedDatabaseAccounts_Restore / _Purge
- SoftDeletedSqlDatabases_Restore / _Purge
- SoftDeletedSqlContainers_Restore / _Purge

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix JS SDK build: use query-in-path routes instead of @SharedRoute

Replace @SharedRoute with distinct route paths that include the
softDeleteActionKind query value directly in the path, matching the
original swagger PR format exactly:
  .../softDeletedDatabaseAccounts/{accountName}?softDeleteActionKind=RestoreSoftDeletedResource
  .../softDeletedDatabaseAccounts/{accountName}?softDeleteActionKind=PermanentDeleteResource

This avoids the ?_overload= suffix that @SharedRoute generates, which
caused duplicate object literal keys in the JS SDK's restorePollerHelpers.ts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove minLength/maxLength/pattern constraints from databaseName and containerName

Per review feedback from mohhef - the existing SqlDatabaseGetResults and
SqlContainerGetResults resources have no such constraints on these
parameters. Removing them from soft-delete operations for consistency.
accountName constraints (maxLength=50, minLength=3, pattern) are kept
as they match the existing DatabaseAccountGetResults resource.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix CI: add pattern to databaseName/containerName, use v6 LocationParameter, fix example operationIds

- Add @pattern to databaseName and containerName params (ResourceNameRestriction)
- Replace deprecated LocationParameter with LocationResourceParameter (v6 common-types)
- Update example files with correct operationIds (_Restore/_Purge instead of _Delete)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove nullable from SoftDeleteConfiguration properties

RP parses omitted and null identically (GetValue defaults to null).
Optional-only is sufficient since null is not used as a distinct value.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Po'okela Moana <pookelamoana@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Added secret tag to existing properties

* TSV validation

* Replace secret-prop suppressions with @secret for authToken, serviceUserPassword, password; update key property suppression justifications

* Merge with masteR

* Removed extra fields that were incorrectly marked in the stable version

* ChaosFault review comments

* Models that were part of preview feature but were not marked preview

* [CosmosDB] Address Ravimeda soft-delete review feedback (PR #41475 C3-C6) (#42950)

* [CosmosDB] Soft-delete: extend ProxyResource and use Azure.Core.Page<T> (PR #41475 C3, C6)

Addresses Ravimeda review feedback on PR #41475:

C3 (#41475 (comment)):
  Extend Azure.ResourceManager.ProxyResource<T> for the three soft-delete result
  models (SoftDeletedDatabaseAccountGetResult, SoftDeletedSqlDatabaseGetResult,
  SoftDeletedSqlContainerGetResult) instead of manually defining id/name/type/location/
  properties. ARM envelope now comes from the standard ProxyResource template, which
  also adds systemData. The required name property is supplied via the
  ResourceNameParameter mixin matching the existing route segment names.

C6 (#41475 (comment)):
  Use Azure.Core.Page<T> for the three list result models
  (SoftDeletedDatabaseAccountsListResult, SoftDeletedSqlDatabasesListResult,
  SoftDeletedSqlContainersListResult) instead of manually defining value/nextLink.
  Matches the standard pagination pattern used elsewhere in this spec.

Also adds a concrete justification on the existing arm-resource-provisioning-state
suppression for the three soft-delete properties models, since soft-deleted resources
are read-only views of previously-deleted resources and have no provisioning lifecycle.

Auto-regenerated openapi.json reflects the new ARM envelope (allOf ProxyResource) and
standard paginated list shape.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [CosmosDB] Soft-delete examples: fix response id and LRO header casing (PR #41475 C4, C5)

Addresses Ravimeda review feedback on PR #41475:

C4 (#41475 (comment)):
  In CosmosDBSoftDeletedDatabaseAccountGet.json and
  CosmosDBSoftDeletedDatabaseAccountListByLocation.json (and their preview/ mirrors),
  add the missing /resourceGroups/<rg>/ segment to response body 'id' fields. ARM
  resource ids must include the resource group segment even for resources surfaced via
  subscription+location-scoped list endpoints.

C5 (#41475 (comment)):
  Replace lowercase LRO response header keys 'azure-asyncoperation' and 'location'
  with ARM-standard PascalCase 'Azure-AsyncOperation' and 'Location' in all
  soft-delete restore/purge example files (12 files: 6 distinct x 2 mirrors). Matches
  the casing convention applied to 130+ other example files in this PR.

LRO header URL values (operationResults paths) intentionally remain
subscription+location-scoped without /resourceGroups/, matching the operation
return contract.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [CosmosDB] Revert C4 (response id resourceGroups insertion) on PR #41475

Reverts the response id changes from commit 275220a in the four
SoftDeletedDatabaseAccount example files. After review, comment C4 was
incorrectly applied: the soft-delete API is registered in the ARM manifest
as a Proxy resource scoped to subscription+location, NOT to a resource group.
The canonical resource id for these examples therefore should NOT include
a /resourceGroups/{rg}/ segment, even though the Get/Restore/Purge operations
accept resourceGroupName as a request URL context parameter for permission
scoping.

This matches the established Azure soft-delete pattern across the platform
(e.g., Microsoft.KeyVault/locations/{loc}/deletedVaults/{name},
Microsoft.Storage/locations/{loc}/deletedAccounts/{name}).

C5 (LRO header casing) changes from the same commit are unaffected and
remain applied. C3 and C6 TypeSpec changes also remain applied.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [CosmosDB] Re-apply C4 (response id resourceGroups segment) on PR #41475

Reverts commit 332582f. After cross-checking against the actual handler
bindings in CosmosDB/Product/Microsoft.Azure.Documents/Management/Services/
ResourceProvider/ResourceProviderHttpRuntime.cs (L1024-1027), the soft-delete
DatabaseAccount resource is rg+location-scoped for Get/Restore/Purge:

  L1024: SoftDeletedDatabaseAccountRequestHandler bound to RPPaths
         .SoftDeletedDatabaseAccountRoot
         = /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.DocumentDB
           /locations/{loc}/softDeletedDatabaseAccounts/{name}

The earlier rationale ("Proxy resource scoped to subscription+location only")
was based on an incorrect characterization of the registration. Per the
actual RP routing, the canonical resource id MUST include /resourceGroups/{rg}/
so clients can call Get/Restore/Purge using the response id. This also
matches the pre-existing SqlContainer/SqlDatabase Get example ids.

C4 fix re-applied to the four DatabaseAccount example files
(CosmosDBSoftDeletedDatabaseAccountGet.json and
CosmosDBSoftDeletedDatabaseAccountListByLocation.json, both in examples/
and preview/.../examples/ mirrors).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [CosmosDB] Soft-delete: align name patterns with parent CosmosDB resources

The SoftDeletedSqlDatabase and SoftDeletedSqlContainer resources were the
only CosmosDB tsps using the URL-safe regex ^[^/\\\\#?]+$ as their name
constraint. Their parent resources (SqlDatabaseGetResults, SqlContainerGetResults)
do not declare any name pattern, accepting whatever the user originally named
the database/container. Soft-delete should be no more restrictive than the
parent contract — otherwise a user with a parent SqlDatabase whose name has
unusual characters could not look it up via the SoftDeletedSqlDatabase APIs.

Changes:
- ResourceNameParameter NamePattern set to "" for SoftDeletedSqlDatabaseGetResult
  and SoftDeletedSqlContainerGetResult (was: "^[^/\\\\#?]+$").
- @pattern("^[^/\\\\#?]+$") removed from databaseName and containerName @path
  parameters in all soft-delete operations (10 occurrences).

DatabaseAccount-related patterns kept unchanged: NamePattern
"^[a-z0-9]+(-[a-z0-9]+)*" matches DatabaseAccountGetResults exactly, and the
accountName @path @pattern declarations match the existing CosmosDB account
naming convention.

Auto-regenerated openapi.json reflects the removed pattern field on
databaseName and containerName path parameters.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* [CosmosDB] Soft-delete: restore name patterns on databaseName/containerName for RPC-Uri-V1-05 lint

Reverts the parent-alignment portion of commit ce6bfb7. The
ResourceNameRestriction lint (RPC-Uri-V1-05) requires resource name path
parameters to declare a 'pattern' constraint. Removing the pattern caused
4 lint failures on PR #42950 at SoftDeletedSqlDatabases_Get,
SoftDeletedSqlContainers_List, and SoftDeletedSqlContainers_Get.

The parent SqlDatabase/SqlContainer specs predate the rule and are
grandfathered in; new APIs (the soft-delete preview) must comply.

Restored:
- @pattern("^[^/\\\\#?]+$") on databaseName @path parameters (7 occurrences)
- @pattern("^[^/\\\\#?]+$") on containerName @path parameters (3 occurrences)
- NamePattern = "^[^/\\\\#?]+$" on SoftDeletedSqlDatabaseGetResult and
  SoftDeletedSqlContainerGetResult model declarations

Pattern is permissive (URL-safe characters only — rejects /, \, #, ?), so
it accepts any name the parent SqlDatabase/SqlContainer would have allowed
that can survive URL path interpolation.

DatabaseAccount-related patterns ("^[a-z0-9]+(-[a-z0-9]+)*") were unchanged
by ce6bfb7 and remain in place.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Po'okela Moana <pookelamoana@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Run tsp format on SoftDeletedResources.tsp

* Regenerate openapi.json after merging main (ProxyResource refactor)

---------

Co-authored-by: Vinh Trinh <vitrinh@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: lnajaroen <122407949+lnajaroen@users.noreply.github.com>
Co-authored-by: AdrianSibajaRetana <54075415+AdrianSibajaRetana@users.noreply.github.com>
Co-authored-by: Adrián Sibaja Retana <adriansib@microsoft.com>
Co-authored-by: Karthik chakravarthy <88904658+kcheekuri@users.noreply.github.com>
Co-authored-by: etcriss <109991318+etcriss@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pmoana-ms <pookelamoana@gmail.com>
Co-authored-by: Po'okela Moana <pookelamoana@microsoft.com>
Co-authored-by: Mike Harder <mharder@microsoft.com>
* update suffix

* Revert Go module suffix change in AppService tspconfig.yaml (v6 -> v5)

Agent-Logs-Url: https://github.com/Azure/azure-rest-api-specs/sessions/3ed9cc1d-e2fa-45d4-b5f9-30967ebaa755

Co-authored-by: JiaqiZhang-Dev <194873822+JiaqiZhang-Dev@users.noreply.github.com>

* add suffix

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JiaqiZhang-Dev <194873822+JiaqiZhang-Dev@users.noreply.github.com>
Co-authored-by: Jiaqi Zhang <jiaqzhang@microsoft.com>
* remove head as boolean

* format
* Rebase main

* Update the tsp file

* Fix comments

* Fix example issues

* Fix Comment

* Fix Comment

* Run tsp compile

* Fix comment

---------

Co-authored-by: Zhongjie Li <zhongjieli@microsoft.com>
Co-authored-by: Li McGregor <413436584lzj@gmail.com>
* Refactor migrate folder structure to comply with Azure Guidelines

* Fixed all common-types references

* Updated readme.md, tspconfig.yaml, cspell.yaml, suppressions.yaml and added suppressions.yaml

* Fix typespec validation ci error

* Fix sdk ci error

* Update client.tsp

* Refactor AssessmentProjects folder

* Move clien.tsp to right folder

* Remove SdkTspConfigValidation rule in suppressions.yaml

* Remove extra spaces from folder 'Normalized Contract'

---------

Co-authored-by: v-huizhu2 <v-huizhu2@microsoft.com>
Co-authored-by: Qiaoqiao Zhang <55688292+qiaozha@users.noreply.github.com>
…43589)

* 1) Changed the scope from subscription-level to resource group-level.
2) Updated all the examples to use the new rg scoped urls.

* 1) Removed the resourceGroupName from the BulkVmConfiguration since we are scoping URL to be resource-group based and not subscription-level based.

* 1) Update the python namespace to follow the general naming guidelines for SDKs

---------

Co-authored-by: Sumedh Sandeep Parvatikar <sparvatikar@microsoft.com>
Co-authored-by: hardikginwala <113458906+hardikginwala@users.noreply.github.com>
…3553)

* Change final-state-via to Azure-AsyncOperation to line up with up RP's behavior

* Revert accidental changes to delete

---------

Co-authored-by: b-kippmorris <b-kippmorris@microsoft.com>
* Skip readme based SDK generation for Rust

* Updated with shared code for all generation methods

* Updated log level

* Added new tests
…afficmanager (#43594)

Co-authored-by: Vikeshi Tiwari <vikestiwari@microsoft.com>
Co-authored-by: Tejaswi Salaigari <tsalaigari@microsoft.com>
…lease of version 2026-04-01-preview (#43065)

* Introduce 2026-04-01-preview

* add MaintenanceEvents

* compile merge of master

* Update maintenance

* Add in MajorVersionUpgradePrecheck

* prettier

* fixes

* fix

* fixLong-running POST operations must initially return 202

* add suppression for guid

* fix to camelcase

* updates

* Updates

* fixes

* Cross tenant properties

* Update post response for mvu pvc

* update to use armresourceid type

* Add suppression and fixes

* added enum for  maintencne type

Co-authored-by: Copilot <copilot@github.com>

* Add immutable backups

Co-authored-by: Copilot <copilot@github.com>

* add where to suppression

* pr comments

* pr comments

* Revert "Add immutable backups"

This reverts commit 1942da2.

* update mvu pvc examples

* add original start time for maintenance

* Add required props for maintenace

* PR comments p1

* PR comments 2

* Update suppressions

* Update suppresion

* Fix format

* fix

* update suppresion

* PR comments

* format

* PR comments

* format

* fix format

* build fixes

* fix pattern

* fix openapi

* PR comments

* Resolve SDK review comments: rename ReadonlyEndpoint and PgVersion

- ReadonlyEndpoint -> ReadOnlyEndpoint (PascalCase compound word)
- PgVersion -> PostgreSqlVersion (expand non-standard abbreviation)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Naia Scott <nasc@microsoft.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: nasc17 <69922333+nasc17@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* restructured files

* fix avocado error

* modify suppressions and add readme

* add suppressions for past handwritten swagger

* from line in readme

* edit readme

* fix lintdiff

* Add @azure-tools/typespec-ts emitter and update tspconfig placeholder values

* remove emit-lro-options

* move suppressions to specific packages
* test custom.tsp change

* another way might be better?

---------

Co-authored-by: Emily Jiji <emilyjiji@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.