Skip to content

mgmt, Migrate cosmos to TypeSpec#48182

Merged
weidongxu-microsoft merged 13 commits into
Azure:mainfrom
weidongxu-microsoft:migrate-cosmos
Mar 12, 2026
Merged

mgmt, Migrate cosmos to TypeSpec#48182
weidongxu-microsoft merged 13 commits into
Azure:mainfrom
weidongxu-microsoft:migrate-cosmos

Conversation

@weidongxu-microsoft

Copy link
Copy Markdown
Member

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:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

@github-actions github-actions Bot added the Mgmt This issue is related to a management-plane library. label Mar 2, 2026
@weidongxu-microsoft weidongxu-microsoft marked this pull request as ready for review March 11, 2026 02:12
Copilot AI review requested due to automatic review settings March 11, 2026 02:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 *Inner models and operation clients using TypeSpec (shifting to @Immutable/ProxyResource patterns 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.

Comment thread eng/lintingconfigs/revapi/track2/revapi.json
Comment thread sdk/cosmos/azure-resourcemanager-cosmos/CHANGELOG.md
@weidongxu-microsoft weidongxu-microsoft merged commit 34ae467 into Azure:main Mar 12, 2026
28 checks passed
@weidongxu-microsoft weidongxu-microsoft deleted the migrate-cosmos branch March 12, 2026 03:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Mgmt This issue is related to a management-plane library.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants