mgmt, Migrate cosmos to TypeSpec#48182
Merged
weidongxu-microsoft merged 13 commits intoMar 12, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates Azure Resource Manager (management) Cosmos SDK code generation from AutoRest to TypeSpec, updating generated fluent models/clients and related metadata.
Changes:
- Regenerated many Cosmos fluent
*Innermodels and operation clients using TypeSpec (shifting to@Immutable/ProxyResourcepatterns and updated JSON (de)serialization). - Added new models for additional resource types (e.g., Graph/Cassandra view/copy job/role assignments) and adjusted validation/serialization for some request bodies.
- Updated documentation, changelog scaffolding, and RevAPI suppressions to reflect the new generated surface.
Reviewed changes
Copilot reviewed 121 out of 965 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MongoMIRoleAssignmentResourceProperties.java | New TypeSpec-generated model for MongoMI role assignment properties. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MongoDBDatabaseGetResultsInner.java | Switch to TypeSpec style (@Immutable, ProxyResource) and add tags/location/identity/systemData fields. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MongoDBDatabaseGetProperties.java | Make output model immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MongoDBDatabaseCreateUpdateProperties.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MongoDBCollectionGetResultsInner.java | Switch to TypeSpec style (@Immutable, ProxyResource) and add tags/location/identity/systemData fields. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MongoDBCollectionGetProperties.java | Make output model immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MongoDBCollectionCreateUpdateProperties.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MetricInner.java | Adjust constructor visibility for generated model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/MetricDefinitionInner.java | Make constructor private for immutable/read-only model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/LocationGetResultInner.java | Switch to TypeSpec style base class and add systemData. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GremlinRoleAssignmentResourceProperties.java | New TypeSpec-generated model for Gremlin role assignment properties. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GremlinGraphGetResultsInner.java | Switch to TypeSpec style base class and add tags/location/identity/systemData fields. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GremlinGraphGetProperties.java | Make output model immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GremlinGraphCreateUpdateProperties.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GremlinDatabaseGetResultsInner.java | Switch to TypeSpec style base class and add tags/location/identity/systemData fields. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GremlinDatabaseGetProperties.java | Make output model immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GremlinDatabaseCreateUpdateProperties.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GraphResourceGetResultsInner.java | New TypeSpec-generated Graph resource GET result model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GraphResourceGetProperties.java | New TypeSpec-generated Graph resource properties model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GraphResourceCreateUpdateProperties.java | New TypeSpec-generated Graph resource create/update properties model with required-field validation. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/GarnetClusterResourceInner.java | Retarget generated inner model to fluent package and add properties + systemData. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetspaceResourceInner.java | Remove provisioningState setter for output-only status. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetspaceProperties.java | Remove provisioningState setter and omit it from JSON serialization. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetspaceAccountResourceInner.java | Remove provisioningState setter for output-only status. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetspaceAccountProperties.java | Remove provisioningState setter and omit it from JSON serialization. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetResourceProperties.java | Make immutable and omit provisioningState from JSON serialization. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetResourceInner.java | Remove provisioningState setter for output-only status. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetAnalyticsResourceInner.java | New TypeSpec-generated FleetAnalytics resource inner model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/FleetAnalyticsProperties.java | New TypeSpec-generated FleetAnalytics properties model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/DatabaseAccountListReadOnlyKeysResultInner.java | Adjust constructor visibility for generated base type. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/DatabaseAccountListKeysResultInner.java | Make constructor private for immutable/read-only model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/DatabaseAccountListConnectionStringsResultInner.java | Make immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/DataCenterResourceInner.java | Switch to TypeSpec style base class and add systemData. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CopyJobGetResultsInner.java | New TypeSpec-generated CopyJob GET result model with required-field validation. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CommandPublicResourceInner.java | New TypeSpec-generated command resource model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CommandOutputInner.java | Make immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/ClusterResourceInner.java | Refactor to ProxyResource, add tags/location/identity/systemData fields, and update JSON (de)serialization accordingly. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/ClientEncryptionKeyGetResultsInner.java | Switch to TypeSpec style base class and add systemData. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/ClientEncryptionKeyGetProperties.java | Make output model immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/ClientEncryptionKeyCreateUpdateProperties.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/ChaosFaultProperties.java | New TypeSpec-generated chaos fault request model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraViewGetResultsInner.java | New TypeSpec-generated Cassandra view GET result model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraViewGetProperties.java | New TypeSpec-generated Cassandra view properties model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraViewCreateUpdateProperties.java | New TypeSpec-generated Cassandra view create/update properties model with required-field validation. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraTableGetResultsInner.java | Switch to TypeSpec style base class and add tags/location/identity/systemData fields. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraTableGetProperties.java | Make output model immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraTableCreateUpdateProperties.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraRoleAssignmentResourceProperties.java | New TypeSpec-generated Cassandra role assignment properties model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraRoleAssignmentResourceInner.java | New TypeSpec-generated Cassandra role assignment resource model. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraKeyspaceGetResultsInner.java | Switch to TypeSpec style base class and add tags/location/identity/systemData fields. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraKeyspaceGetProperties.java | Make output model immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraKeyspaceCreateUpdateProperties.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/CassandraClusterPublicStatusInner.java | Make immutable and remove setters. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/BackupResourceInner.java | New TypeSpec-generated backup resource model with OffsetDateTime JSON handling. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/models/BackupInformationInner.java | Ensure continuousBackupInformation is serialized. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/ThroughputPoolsOperationsClient.java | New TypeSpec-generated operations client interface for Throughput Pools listings. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/ThroughputPoolAccountsOperationsClient.java | New TypeSpec-generated operations client interface for Throughput Pool account listings. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableTablesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableTableResourcesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableSqlResourcesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableSqlDatabasesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableSqlContainersClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableMongodbResourcesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableMongodbDatabasesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableMongodbCollectionsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableGremlinResourcesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableGremlinGraphsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableGremlinDatabasesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/RestorableDatabaseAccountsClient.java | Reorder and reintroduce get methods in TypeSpec-generated style. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/PrivateLinkResourcesClient.java | Add get* APIs and keep list APIs; update signatures/docs. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/PrivateEndpointConnectionsClient.java | Reorder list APIs and update TypeSpec header. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/PercentilesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/PercentileTargetsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/PercentileSourceTargetsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/PartitionKeyRangeIdsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/PartitionKeyRangeIdRegionsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/OperationsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/NotebookWorkspacesClient.java | Reorder list APIs and update TypeSpec header. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/LocationsClient.java | Reorder list APIs and update TypeSpec header. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/FleetspacesClient.java | Reorder list APIs and update TypeSpec header. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/FleetspaceAccountsClient.java | Reorder list APIs and update TypeSpec header. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/FleetsClient.java | Reorder list APIs and update TypeSpec header. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/DatabasesClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/DatabaseAccountRegionsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/CollectionsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/CollectionRegionsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/CollectionPartitionsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/fluent/CollectionPartitionRegionsClient.java | Header updated to TypeSpec generator. |
| sdk/cosmos/azure-resourcemanager-cosmos/README.md | Bump README dependency snippet to 2.55.0-beta.1. |
| sdk/cosmos/azure-resourcemanager-cosmos/CHANGELOG.md | Remove empty section headers under 2.55.0-beta.1. |
| eng/lintingconfigs/revapi/track2/revapi.json | Add RevAPI exceptions for TypeSpec migration changes in Cosmos models. |
XiaofeiCao
approved these changes
Mar 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines