Skip to content

[Search] Migrate azure-resourcemanager-search to TypeSpec#48370

Merged
weidongxu-microsoft merged 8 commits into
Azure:mainfrom
weidongxu-microsoft:migrate-search
Mar 12, 2026
Merged

[Search] Migrate azure-resourcemanager-search to TypeSpec#48370
weidongxu-microsoft merged 8 commits into
Azure:mainfrom
weidongxu-microsoft:migrate-search

Conversation

@weidongxu-microsoft

@weidongxu-microsoft weidongxu-microsoft commented Mar 11, 2026

Copy link
Copy Markdown
Member

Migrate azure-resourcemanager-search SDK from swagger to TypeSpec.

Spec PR: Azure/azure-rest-api-specs#41224

samples is not added, as the generated SearchManager does not match SearchServiceManager -- we may solve it by setting service-name=Search Service in tspconfig

@github-actions github-actions Bot added the Mgmt This issue is related to a management-plane library. label Mar 11, 2026
Regenerated SDK from TypeSpec specification.

Changes:
- Regenerated all Java source from TypeSpec
- Updated module-info.java with implementation.models opens
- Removed stale generated samples
- Added revapi suppressions for TypeSpec migration breaking changes
- Updated CHANGELOG.md and tsp-location.yaml

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

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

Migrates azure-resourcemanager-search from Swagger/AutoRest generation to TypeSpec-based generation, updating the management-plane SDK surface and generated models to align with the new spec/API version.

Changes:

  • Added TypeSpec generation configuration/metadata and updated module opens for new implementation models.
  • Regenerated clients and models (immutability changes, pageable result models moved under implementation.models, various enums moved to ExpandableStringEnum).
  • Updated docs/versioning artifacts (README version bump, CHANGELOG entry) and added RevAPI suppressions for the migration.

Reviewed changes

Copilot reviewed 104 out of 105 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
sdk/search/azure-resourcemanager-search/tsp-location.yaml Adds TypeSpec spec location pin for code generation.
sdk/search/azure-resourcemanager-search/src/main/resources/META-INF/azure-resourcemanager-search_metadata.json Adds TypeSpec generator metadata and generated file manifest.
sdk/search/azure-resourcemanager-search/src/main/java/module-info.java Opens implementation.models for azure-core reflection/serialization.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/package-info.java Updates package docs to TypeSpec generator branding.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/package-info.java Updates models package docs to TypeSpec generator branding.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/UserAssignedIdentity.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/UpgradeAvailable.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/UnavailableNameReason.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SkuName.java Converts to ExpandableStringEnum and updates docs.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/Sku.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SharedPrivateLinkResourceStatus.java Converts to ExpandableStringEnum and updates docs.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SharedPrivateLinkResourceProvisioningState.java Converts to ExpandableStringEnum and updates docs.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SharedPrivateLinkResourceProperties.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ShareablePrivateLinkResourceType.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ShareablePrivateLinkResourceProperties.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/Severity.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SearchServiceUpdate.java Updates docstrings to new enum value casing.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SearchServiceStatus.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SearchSemanticSearch.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SearchEncryptionWithCmk.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SearchEncryptionComplianceStatus.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SearchDataExfiltrationProtection.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/SearchBypass.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ResourceAssociationAccessMode.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ResourceAssociation.java Makes model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/QuotaUsageResultName.java Makes model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/PublicNetworkAccess.java Converts to ExpandableStringEnum and updates docs/value casing.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ProvisioningState.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ProvisioningIssueProperties.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ProvisioningIssue.java Makes constructor private and updates property doc text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/PrivateLinkServiceConnectionStatus.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/PrivateLinkServiceConnectionProvisioningState.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/PrivateLinkResourceProperties.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/PrivateEndpointConnectionPropertiesPrivateEndpoint.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/PrivateEndpointConnectionProperties.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/Origin.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/OperationDisplay.java Makes constructor private for output-only model; doc tweak.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/NetworkSecurityProfile.java Makes model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/NetworkSecurityPerimeterConfigurationProvisioningState.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/NetworkSecurityPerimeterConfigurationProperties.java Makes model immutable/output-only; doc text changes.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/NetworkSecurityPerimeter.java Makes model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/NetworkRuleSet.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/IssueType.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/IpRule.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/IdentityType.java Converts to ExpandableStringEnum and updates docs.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/Identity.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/HostingMode.java Updates enum value casing and documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/EncryptionWithCmk.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/DataPlaneAuthOptions.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/DataPlaneAadOrApiKeyAuthOption.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ComputeType.java Updates enum value casing and documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/CheckNameAvailabilityOutput.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/CheckNameAvailabilityInput.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/AdminKeyKind.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/ActionType.java Doc tweak for extensible enum.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/AccessRulePropertiesSubscriptionsItem.java Makes model immutable/output-only; doc changed.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/AccessRuleProperties.java Makes model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/AccessRuleDirection.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/AccessRule.java Makes model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/models/AadAuthFailureMode.java Updates enum documentation text.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/SharedPrivateLinkResourceListResult.java Moves pageable result model to implementation.models.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/SearchServiceListResult.java Moves pageable result model to implementation.models.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/QuotaUsagesListResult.java Moves pageable result model to implementation.models.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/PrivateLinkResourcesResult.java Moves pageable result model to implementation.models; adds nextLink.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/PrivateEndpointConnectionListResult.java Moves pageable result model to implementation.models.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/OperationListResult.java Moves pageable result model to implementation.models.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/NetworkSecurityPerimeterConfigurationListResult.java Moves pageable result model to implementation.models; adds required validation/logging.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/ListQueryKeysResult.java Moves pageable result model to implementation.models.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/UsagesClientImpl.java Regenerated REST proxy/client impl (host param, paging, signature changes).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/SearchManagementClientImpl.java Regenerated service client implementation (host/api version/subscription wiring, signature changes).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/SearchManagementClientBuilder.java Updates builder params/wiring for regenerated client.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/PrivateLinkResourcesClientImpl.java Regenerated client impl (paging + signature changes).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/OperationsClientImpl.java Regenerated client impl (paging + signature changes).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/AdminKeysClientImpl.java Regenerated client impl (signature/header changes).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/package-info.java Updates fluent package docs to TypeSpec generator branding.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/package-info.java Updates fluent models package docs to TypeSpec generator branding.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/SharedPrivateLinkResourceInner.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/SearchServiceProperties.java Updates docstrings to new enum value casing.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/SearchServiceInner.java Updates docstrings to new enum value casing.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/QuotaUsageResultInner.java Makes inner model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/QueryKeyInner.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/PrivateLinkResourceInner.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/PrivateEndpointConnectionInner.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/OperationInner.java Makes model immutable/output-only; doc tweaks.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/NetworkSecurityPerimeterConfigurationInner.java Makes model immutable/output-only (removes fluent setters).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/models/AdminKeyResultInner.java Makes constructor private for output-only model.
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/UsagesClient.java Updates fluent interface signatures/docs (removes clientRequestId param).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/SearchManagementClient.java Updates fluent interface (reorders getters, removes clientRequestId param overloads).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/QueryKeysClient.java Updates fluent interface signatures/docs (removes clientRequestId param).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/PrivateLinkResourcesClient.java Updates fluent interface signatures/docs (removes clientRequestId param).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/PrivateEndpointConnectionsClient.java Updates fluent interface signatures/docs (method ordering/signature changes).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/OperationsClient.java Regenerated header branding (TypeSpec).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/NetworkSecurityPerimeterConfigurationsClient.java Updates fluent interface (method ordering/signature changes).
sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/fluent/AdminKeysClient.java Updates fluent interface signatures/docs (removes clientRequestId param).
sdk/search/azure-resourcemanager-search/README.md Bumps dependency version to 2.55.0-beta.1.
sdk/search/azure-resourcemanager-search/CHANGELOG.md Adds 2.55.0-beta.1 entry for migration breaking changes.
eng/lintingconfigs/revapi/track2/revapi.json Adds RevAPI suppressions for expected breaking changes in migration.
Comments suppressed due to low confidence (7)

sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/SearchServiceListResult.java:35

  • SearchServiceListResult.toJson currently writes an empty JSON object, dropping both value and nextLink. This makes the model’s JSON serialization incorrect and inconsistent with fromJson. Please include value and nextLink when serializing.
    sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/ListQueryKeysResult.java:35
  • ListQueryKeysResult.toJson currently writes an empty JSON object, dropping both value and nextLink. This makes the model’s JSON serialization incorrect and inconsistent with fromJson. Please include value and nextLink when serializing.
    sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/PrivateEndpointConnectionListResult.java:37
  • PrivateEndpointConnectionListResult.toJson currently writes an empty JSON object, dropping both value and nextLink. This makes the model’s JSON serialization incorrect and inconsistent with fromJson. Please include value and nextLink when serializing.
    sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/SharedPrivateLinkResourceListResult.java:35
  • SharedPrivateLinkResourceListResult.toJson serializes only nextLink and omits the value array. This will produce incorrect JSON for a pageable response model and breaks round-tripping with fromJson. Please include both value and nextLink in toJson.
    sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/PrivateLinkResourcesResult.java:73
  • PrivateLinkResourcesResult.toJson serializes only nextLink and omits the value array. This will produce incorrect JSON for a pageable response model (and breaks round-tripping with fromJson). Please write both value and nextLink in toJson (consistent with the other list result models).
    sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/OperationListResult.java:35
  • OperationListResult.toJson currently writes an empty JSON object, dropping both value and nextLink. This makes the model’s JSON serialization incorrect and inconsistent with fromJson (which reads both fields). Please include value and nextLink when serializing.
    sdk/search/azure-resourcemanager-search/src/main/java/com/azure/resourcemanager/search/implementation/models/QuotaUsagesListResult.java:35
  • QuotaUsagesListResult.toJson currently writes an empty JSON object, dropping both value and nextLink. This makes the model’s JSON serialization incorrect and inconsistent with fromJson. Please include value and nextLink when serializing.

Comment thread sdk/search/azure-resourcemanager-search/CHANGELOG.md
Comment thread eng/lintingconfigs/revapi/track2/revapi.json Outdated
weidongxu-microsoft and others added 3 commits March 12, 2026 13:06
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@weidongxu-microsoft weidongxu-microsoft merged commit 8eac232 into Azure:main Mar 12, 2026
23 checks passed
@weidongxu-microsoft weidongxu-microsoft deleted the migrate-search branch March 12, 2026 07:46
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