From 61f38a820e1f7b650c30f52728ca67004bb7699c Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Wed, 29 Oct 2025 15:30:03 +0800 Subject: [PATCH 01/37] Convert Swagger to TSP --- .../NetworkSecurityPerimeterConfiguration.tsp | 58 + .../PrivateEndpointConnection.tsp | 107 ++ .../Search.Management/SearchService.tsp | 319 +++++ .../SharedPrivateLinkResource.tsp | 108 ++ .../Search.Management/back-compatible.tsp | 41 + ...eateOrUpdateSharedPrivateLinkResource.json | 41 + .../DeletePrivateEndpointConnection.json | 31 + .../DeleteSharedPrivateLinkResource.json | 21 + .../GetPrivateEndpointConnection.json | 30 + .../examples/2025-05-01/GetQuotaUsage.json | 24 + .../2025-05-01/GetQuotaUsagesList.json | 88 ++ .../GetSharedPrivateLinkResource.json | 27 + ...stPrivateEndpointConnectionsByService.json | 33 + ...stSharedPrivateLinkResourcesByService.json | 30 + .../ListSupportedPrivateLinkResources.json | 90 ++ ...orkSecurityPerimeterConfigurationsGet.json | 47 + ...yPerimeterConfigurationsListByService.json | 51 + ...urityPerimeterConfigurationsReconcile.json | 18 + .../SearchCheckNameAvailability.json | 21 + .../SearchCreateOrUpdateService.json | 127 ++ ...earchCreateOrUpdateServiceAuthOptions.json | 134 ++ ...CreateOrUpdateServiceDisableLocalAuth.json | 124 ++ ...viceToAllowAccessFromPrivateEndpoints.json | 128 ++ ...rviceToAllowAccessFromPublicCustomIPs.json | 149 ++ ...lowAccessFromPublicCustomIPsAndBypass.json | 152 ++ ...eateOrUpdateServiceWithCmkEnforcement.json | 130 ++ ...teOrUpdateServiceWithDataExfiltration.json | 134 ++ ...archCreateOrUpdateServiceWithIdentity.json | 155 +++ ...earchCreateOrUpdateWithSemanticSearch.json | 130 ++ .../2025-05-01/SearchCreateQueryKey.json | 19 + .../2025-05-01/SearchDeleteQueryKey.json | 16 + .../2025-05-01/SearchDeleteService.json | 15 + .../2025-05-01/SearchGetAdminKeys.json | 18 + .../examples/2025-05-01/SearchGetService.json | 62 + .../2025-05-01/SearchListOperations.json | 562 ++++++++ .../SearchListQueryKeysBySearchService.json | 26 + .../SearchListServicesByResourceGroup.json | 113 ++ .../SearchListServicesBySubscription.json | 112 ++ .../2025-05-01/SearchRegenerateAdminKey.json | 19 + .../2025-05-01/SearchUpdateService.json | 72 + .../SearchUpdateServiceAuthOptions.json | 78 ++ .../SearchUpdateServiceDisableLocalAuth.json | 71 + ...viceToAllowAccessFromPrivateEndpoints.json | 70 + ...rviceToAllowAccessFromPublicCustomIPs.json | 83 ++ ...lowAccessFromPublicCustomIPsAndBypass.json | 85 ++ .../SearchUpdateServiceToRemoveIdentity.json | 68 + ...SearchUpdateServiceWithCmkEnforcement.json | 75 + ...archUpdateServiceWithDataExfiltration.json | 77 ++ ...SearchUpdateServiceWithSemanticSearch.json | 74 + .../SearchUpdateServiceWithSku.json | 71 + .../UpdatePrivateEndpointConnection.json | 38 + .../UpgradeSearchServiceToLatestVersion.json | 67 + .../search/Search.Management/main.tsp | 49 + .../search/Search.Management/models.tsp | 1220 +++++++++++++++++ .../search/Search.Management/routes.tsp | 92 ++ .../search/Search.Management/tspconfig.yaml | 14 + 56 files changed, 5814 insertions(+) create mode 100644 specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp create mode 100644 specification/search/Search.Management/PrivateEndpointConnection.tsp create mode 100644 specification/search/Search.Management/SearchService.tsp create mode 100644 specification/search/Search.Management/SharedPrivateLinkResource.tsp create mode 100644 specification/search/Search.Management/back-compatible.tsp create mode 100644 specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchGetService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json create mode 100644 specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json create mode 100644 specification/search/Search.Management/main.tsp create mode 100644 specification/search/Search.Management/models.tsp create mode 100644 specification/search/Search.Management/routes.tsp create mode 100644 specification/search/Search.Management/tspconfig.yaml diff --git a/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp new file mode 100644 index 000000000000..8fa7472ff0d1 --- /dev/null +++ b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp @@ -0,0 +1,58 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./SearchService.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Search; +/** + * Network security perimeter (NSP) configuration resource + */ +@parentResource(SearchService) +model NetworkSecurityPerimeterConfiguration + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = NetworkSecurityPerimeterConfiguration, + KeyName = "nspConfigName", + SegmentName = "networkSecurityPerimeterConfigurations", + NamePattern = "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$" + >; +} + +@armResourceOperations +interface NetworkSecurityPerimeterConfigurations { + /** + * Gets a network security perimeter configuration. + */ + get is ArmResourceRead; + + /** + * Gets a list of network security perimeter configurations for a search service. + */ + listByService is ArmResourceListByParent; + + /** + * Reconcile network security perimeter configuration for the Azure AI Search resource provider. This triggers a manual resync with network security perimeter configurations by ensuring the search service carries the latest configuration. + */ + reconcile is ArmResourceActionAsyncBase< + NetworkSecurityPerimeterConfiguration, + void, + ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; +} + +@@maxLength(NetworkSecurityPerimeterConfiguration.name, 100); +@@minLength(NetworkSecurityPerimeterConfiguration.name, 38); +@@doc(NetworkSecurityPerimeterConfiguration.name, + "The network security perimeter configuration name." +); +@@doc(NetworkSecurityPerimeterConfiguration.properties, + "Network security configuration properties." +); diff --git a/specification/search/Search.Management/PrivateEndpointConnection.tsp b/specification/search/Search.Management/PrivateEndpointConnection.tsp new file mode 100644 index 000000000000..327615b29594 --- /dev/null +++ b/specification/search/Search.Management/PrivateEndpointConnection.tsp @@ -0,0 +1,107 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./SearchService.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Search; +/** + * Describes an existing private endpoint connection to the Azure AI Search service. + */ +@parentResource(SearchService) +model PrivateEndpointConnection + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = PrivateEndpointConnection, + KeyName = "privateEndpointConnectionName", + SegmentName = "privateEndpointConnections", + NamePattern = "" + >; +} + +@armResourceOperations +interface PrivateEndpointConnections { + /** + * Gets the details of the private endpoint connection to the search service in the given resource group. + */ + get is ArmResourceRead< + PrivateEndpointConnection, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Updates a private endpoint connection to the search service in the given resource group. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + update is ArmResourceCreateOrReplaceSync< + PrivateEndpointConnection, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + }, + Response = ArmResourceUpdatedResponse + >; + + /** + * Disconnects the private endpoint connection and deletes it from the search service. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + delete is ArmResourceDeleteSync< + PrivateEndpointConnection, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + }, + Response = ArmResponse + >; + + /** + * Gets a list of all private endpoint connections in the given service. + */ + listByService is ArmResourceListByParent< + PrivateEndpointConnection, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; +} + +@@doc(PrivateEndpointConnection.name, + "The name of the private endpoint connection to the Azure AI Search service with the specified resource group." +); +@@doc(PrivateEndpointConnection.properties, + "Describes the properties of an existing private endpoint connection to the Azure AI Search service." +); +@@doc(PrivateEndpointConnections.update::parameters.resource, + "The definition of the private endpoint connection to update." +); diff --git a/specification/search/Search.Management/SearchService.tsp b/specification/search/Search.Management/SearchService.tsp new file mode 100644 index 000000000000..ea3b2c3cde3f --- /dev/null +++ b/specification/search/Search.Management/SearchService.tsp @@ -0,0 +1,319 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Search; +/** + * Describes an Azure AI Search service and its current state. + */ +model SearchService + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = SearchService, + KeyName = "searchServiceName", + SegmentName = "searchServices", + NamePattern = "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + >; + + /** + * The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + sku?: Sku; + + /** + * The identity of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + identity?: Identity; +} + +@armResourceOperations +interface SearchServices { + /** + * Gets the search service with the given name in the given resource group. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_Get") + get is ArmResourceRead< + SearchService, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_CreateOrUpdate") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + SearchService, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + }, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Updates an existing search service in the given resource group. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_Update") + @patch(#{ implicitOptionality: false }) + update is ArmCustomPatchSync< + SearchService, + PatchModel = SearchServiceUpdate, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Deletes a search service in the given resource group, along with its associated resources. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_Delete") + delete is ArmResourceDeleteSync< + SearchService, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Gets a list of all Search services in the given resource group. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_ListByResourceGroup") + listByResourceGroup is ArmResourceListByParent< + SearchService, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Gets a list of all Search services in the given subscription. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_ListBySubscription") + listBySubscription is ArmListBySubscription< + SearchService, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Gets the primary and secondary admin API keys for the specified Azure AI Search service. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("AdminKeys_Get") + @action("listAdminKeys") + adminKeysGet is ArmResourceActionSync< + SearchService, + void, + ArmResponse, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("AdminKeys_Regenerate") + @action("{keyKind}") + regenerate is ArmResourceActionSync< + SearchService, + void, + ArmResponse, + Parameters = { + /** + * Specifies which key to regenerate. Valid values include 'primary' and 'secondary'. + */ + @path + keyKind: AdminKeyKind; + + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Generates a new query key for the specified search service. You can create up to 50 query keys per service. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("QueryKeys_Create") + @action("{name}") + create is ArmResourceActionSync< + SearchService, + void, + ArmResponse, + Parameters = { + /** + * The name of the new query API key. + */ + @path + name: string; + + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Returns the list of query API keys for the given Azure AI Search service. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("QueryKeys_ListBySearchService") + @action("listQueryKeys") + listBySearchService is ArmResourceActionSync< + SearchService, + void, + ArmResponse, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("QueryKeys_Delete") + @delete + @action("{key}") + queryKeysDelete is ArmResourceActionSync< + SearchService, + void, + OkResponse | NoContentResponse, + Parameters = { + /** + * The query key to be deleted. Query keys are identified by value, not by name. + */ + @path + key: string; + + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Upgrades the Azure AI Search service to the latest version available. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_Upgrade") + upgrade is ArmResourceActionAsync< + SearchService, + void, + ArmResponse + >; + + /** + * Gets a list of all supported private link resource types for the given service. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("PrivateLinkResources_ListSupported") + @get + @action("privateLinkResources") + listSupported is ArmResourceActionSync< + SearchService, + void, + ArmResponse, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; +} + +@@doc(SearchService.name, + "The name of the Azure AI Search service associated with the specified resource group." +); +@@doc(SearchService.properties, "Properties of the search service."); +@@doc(SearchServices.createOrUpdate::parameters.resource, + "The definition of the search service to create or update." +); +@@doc(SearchServices.update::parameters.properties, + "The definition of the search service to update." +); diff --git a/specification/search/Search.Management/SharedPrivateLinkResource.tsp b/specification/search/Search.Management/SharedPrivateLinkResource.tsp new file mode 100644 index 000000000000..4cfaf2dd04ae --- /dev/null +++ b/specification/search/Search.Management/SharedPrivateLinkResource.tsp @@ -0,0 +1,108 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./SearchService.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Search; +/** + * Describes a shared private link resource managed by the Azure AI Search service. + */ +@parentResource(SearchService) +model SharedPrivateLinkResource + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = SharedPrivateLinkResource, + KeyName = "sharedPrivateLinkResourceName", + SegmentName = "sharedPrivateLinkResources", + NamePattern = "" + >; +} + +@armResourceOperations +interface SharedPrivateLinkResources { + /** + * Gets the details of the shared private link resource managed by the search service in the given resource group. + */ + get is ArmResourceRead< + SharedPrivateLinkResource, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; + + /** + * Initiates the creation or update of a shared private link resource managed by the search service in the given resource group. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + createOrUpdate is ArmResourceCreateOrReplaceAsync< + SharedPrivateLinkResource, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + }, + Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse + >; + + /** + * Initiates the deletion of the shared private link resource from the search service. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + delete is ArmResourceDeleteWithoutOkAsync< + SharedPrivateLinkResource, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + }, + LroHeaders = ArmAsyncOperationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Gets a list of all shared private link resources managed by the given service. + */ + listByService is ArmResourceListByParent< + SharedPrivateLinkResource, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; +} + +@@doc(SharedPrivateLinkResource.name, + "The name of the shared private link resource managed by the Azure AI Search service within the specified resource group." +); +@@doc(SharedPrivateLinkResource.properties, + "Describes the properties of a shared private link resource managed by the Azure AI Search service." +); +@@doc(SharedPrivateLinkResources.createOrUpdate::parameters.resource, + "The definition of the shared private link resource to create or update." +); diff --git a/specification/search/Search.Management/back-compatible.tsp b/specification/search/Search.Management/back-compatible.tsp new file mode 100644 index 000000000000..bf92f63286ed --- /dev/null +++ b/specification/search/Search.Management/back-compatible.tsp @@ -0,0 +1,41 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.Search; + +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(SearchServiceUpdate.properties); + +@@clientName(CheckNameAvailabilityOutput.nameAvailable, "IsNameAvailable"); + +@@clientLocation(SearchServices.get, "Services"); +@@clientLocation(SearchServices.createOrUpdate, "Services"); +@@clientName(SearchServices.createOrUpdate::parameters.resource, "service"); +@@clientLocation(SearchServices.update, "Services"); +@@clientName(SearchServices.update::parameters.properties, "service"); +@@clientLocation(SearchServices.delete, "Services"); +@@clientLocation(SearchServices.listByResourceGroup, "Services"); +@@clientLocation(SearchServices.listBySubscription, "Services"); +@@clientLocation(SearchServices.adminKeysGet, "AdminKeys"); +@@clientName(SearchServices.adminKeysGet, "Get"); +@@clientLocation(SearchServices.regenerate, "AdminKeys"); +@@clientLocation(SearchServices.create, "QueryKeys"); +@@clientLocation(SearchServices.listBySearchService, "QueryKeys"); +@@clientLocation(SearchServices.queryKeysDelete, "QueryKeys"); +@@clientName(SearchServices.queryKeysDelete, "Delete"); +@@clientLocation(SearchServices.upgrade, "Services"); +@@clientLocation(SearchServices.listSupported, "PrivateLinkResources"); +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(SearchService.properties); + +@@clientName(PrivateEndpointConnections.update::parameters.resource, + "privateEndpointConnection" +); + +@@clientName(SharedPrivateLinkResources.createOrUpdate::parameters.resource, + "sharedPrivateLinkResource" +); + +@@clientLocation(ServicesOperationGroup.checkNameAvailability, "Services"); + +@@clientLocation(UsagesOperationGroup.listBySubscription, "Usages"); diff --git a/specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json new file mode 100644 index 000000000000..d552d14b0533 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "sharedPrivateLinkResource": { + "properties": { + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "requestMessage": "please approve", + "resourceRegion": null + } + }, + "sharedPrivateLinkResourceName": "testResource", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "requestMessage": "please approve", + "resourceRegion": null, + "status": "Pending" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01" + } + } + }, + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "title": "SharedPrivateLinkResourceCreateOrUpdate" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json b/specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..ccc21c08b7f4 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "", + "actionsRequired": "None", + "status": "Disconnected" + } + } + } + }, + "404": {} + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "PrivateEndpointConnectionDelete" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json b/specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json new file mode 100644 index 000000000000..21d47abbfbe3 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "sharedPrivateLinkResourceName": "testResource", + "subscriptionId": "subid" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01" + } + }, + "204": {}, + "404": {} + }, + "operationId": "SharedPrivateLinkResources_Delete", + "title": "SharedPrivateLinkResourceDelete" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json b/specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..6531765952c8 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "", + "actionsRequired": "None", + "status": "Approved" + } + } + } + } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "PrivateEndpointConnectionGet" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json new file mode 100644 index 000000000000..ed098391ff2f --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "location": "westus", + "skuName": "free", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": { + "localizedValue": "F - Free", + "value": "free" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}", + "limit": 16, + "unit": "Count" + } + } + }, + "operationId": "UsageBySubscriptionSku", + "title": "GetQuotaUsage" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json new file mode 100644 index 000000000000..f93334d380cb --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "location": "westus", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": { + "localizedValue": "F - Free", + "value": "free" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/free", + "limit": 16, + "unit": "Count" + }, + { + "name": { + "localizedValue": "B - Basic", + "value": "basic" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/basic", + "limit": 16, + "unit": "Count" + }, + { + "name": { + "localizedValue": "S - Standard", + "value": "standard" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard", + "limit": 16, + "unit": "Count" + }, + { + "name": { + "localizedValue": "S2 - Standard2", + "value": "standard2" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard2", + "limit": 16, + "unit": "Count" + }, + { + "name": { + "localizedValue": "S3 - Standard3", + "value": "standard3" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard3", + "limit": 16, + "unit": "Count" + }, + { + "name": { + "localizedValue": "L1 - Storage Optimized", + "value": "storageOptimizedL1" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/storageOptimizedL1", + "limit": 16, + "unit": "Count" + }, + { + "name": { + "localizedValue": "L2 - Storage Optimized", + "value": "storageOptimizedL2" + }, + "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/storageOptimizedL2", + "limit": 16, + "unit": "Count" + } + ] + } + } + }, + "operationId": "Usages_ListBySubscription", + "title": "GetQuotaUsagesList" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json b/specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json new file mode 100644 index 000000000000..c8d524a9d6b9 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "sharedPrivateLinkResourceName": "testResource", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "requestMessage": "please approve", + "resourceRegion": null, + "status": "Pending" + } + } + } + }, + "operationId": "SharedPrivateLinkResources_Get", + "title": "SharedPrivateLinkResourceGet" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json b/specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json new file mode 100644 index 000000000000..1a42c33a8297 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "", + "actionsRequired": "None", + "status": "Approved" + } + } + } + ] + } + } + }, + "operationId": "PrivateEndpointConnections_ListByService", + "title": "ListPrivateEndpointConnectionsByService" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json b/specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json new file mode 100644 index 000000000000..2efa89570792 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "requestMessage": "please approve", + "resourceRegion": null, + "status": "Pending" + } + } + ] + } + } + }, + "operationId": "SharedPrivateLinkResources_ListByService", + "title": "ListSharedPrivateLinkResourcesByService" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json b/specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json new file mode 100644 index 000000000000..1d0821f7154b --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "searchService", + "type": "Microsoft.Search/searchServices/privateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", + "properties": { + "groupId": "searchService", + "requiredMembers": [ + "searchService" + ], + "requiredZoneNames": [ + "privatelink.search.windows.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "blob", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "description": "Azure AI Search indexers can connect to blobs in Azure Storage for reading data from an indexer data source, for writing intermediate results of indexer execution or for storing any knowledge store projections.", + "groupId": "blob" + } + }, + { + "name": "table", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "description": "Azure AI Search indexers can connect to tables in Azure Storage for reading data from an indexer data source, for writing intermediate results of indexer execution or for storing any knowledge store projections.", + "groupId": "table" + } + }, + { + "name": "Sql", + "properties": { + "type": "Microsoft.DocumentDB/databaseAccounts", + "description": "Azure AI Search indexers can connect to Azure Cosmos DB API for NoSQL for reading data from an indexer data source.", + "groupId": "Sql" + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.Sql/servers", + "description": "Azure AI Search indexers can connect to Azure SQL database on a server for reading data from an indexer data source.", + "groupId": "sqlServer" + } + }, + { + "name": "vault", + "properties": { + "type": "Microsoft.KeyVault/vaults", + "description": "Azure AI Search can access keys in Azure Key Vault to encrypt sensitive data in a search index and synonym map data.", + "groupId": "vault" + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.DBforMySQL/servers", + "description": "Azure AI Search indexers can connect to MySQL databases for reading data from an indexer data source.", + "groupId": "mysqlServer" + } + }, + { + "name": "site", + "properties": { + "type": "Microsoft.Web/sites", + "description": "For custom skills that connect to an app service, you can specify sites as the group ID.", + "groupId": "sites" + } + } + ] + } + } + ] + } + } + }, + "operationId": "PrivateLinkResources_ListSupported", + "title": "ListSupportedPrivateLinkResources" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json new file mode 100644 index 000000000000..3d971225f7db --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "00000001-2222-3333-4444-111144444444.assoc1", + "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", + "properties": { + "networkSecurityPerimeter": { + "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", + "location": "westus" + }, + "profile": { + "name": "profile1", + "accessRules": [ + { + "name": "rule1", + "properties": { + "addressPrefixes": [ + "148.0.0.0/8", + "152.4.6.0/24" + ], + "direction": "Inbound" + } + } + ], + "accessRulesVersion": 0 + }, + "provisioningState": "Accepted", + "resourceAssociation": { + "name": "assoc1", + "accessMode": "Enforced" + } + } + } + } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Get", + "title": "Get an NSP config by name" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json new file mode 100644 index 000000000000..d4bbd391f4d0 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "00000001-2222-3333-4444-111144444444.assoc1", + "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", + "properties": { + "networkSecurityPerimeter": { + "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", + "location": "westus" + }, + "profile": { + "name": "profile1", + "accessRules": [ + { + "name": "rule1", + "properties": { + "addressPrefixes": [ + "148.0.0.0/8", + "152.4.6.0/24" + ], + "direction": "Inbound" + } + } + ], + "accessRulesVersion": 0 + }, + "provisioningState": "Accepted", + "resourceAssociation": { + "name": "assoc1", + "accessMode": "Enforced" + } + } + } + ] + } + } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_ListByService", + "title": "List NSP configs by search service" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json new file mode 100644 index 000000000000..4f9204ed745e --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "202": { + "headers": { + "Location": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/AsyncOperationResults/11111111-1111-1111-1111-111111111111" + } + } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", + "title": "Reconcile NSP Config" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json b/specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json new file mode 100644 index 000000000000..34c3a8d3d47c --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "checkNameAvailabilityInput": { + "name": "mysearchservice", + "type": "searchServices" + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "message": "", + "nameAvailable": false, + "reason": "AlreadyExists" + } + } + }, + "operationId": "Services_CheckNameAvailability", + "title": "SearchCheckNameAvailability" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json new file mode 100644 index 000000000000..53e5fbf76cfa --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateService" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json new file mode 100644 index 000000000000..eac1b2ba23fe --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "authOptions": { + "aadOrApiKey": { + "aadAuthFailureMode": "http401WithBearerChallenge" + } + }, + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "aadOrApiKey": { + "aadAuthFailureMode": "http401WithBearerChallenge" + } + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "aadOrApiKey": { + "aadAuthFailureMode": "http401WithBearerChallenge" + } + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceAuthOptions" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json new file mode 100644 index 000000000000..0c17767e292c --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "disableLocalAuth": true, + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": null, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": true, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": null, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": true, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceDisableLocalAuth" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..932139afbcdd --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "publicNetworkAccess": "Disabled", + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Disabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Disabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..05578585e37c --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "replicaCount": 1 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json new file mode 100644 index 000000000000..1aa4a899c2f5 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "AzureServices", + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "replicaCount": 1 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "AzureServices", + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "AzureServices", + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json new file mode 100644 index 000000000000..13e20ad23b2c --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "encryptionWithCmk": { + "enforcement": "Enabled" + }, + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Enabled" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Enabled" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceWithCmkEnforcement" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json new file mode 100644 index 000000000000..d60dc822414d --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "dataExfiltrationProtections": [ + "BlockAll" + ], + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [ + "BlockAll" + ], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [ + "BlockAll" + ], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceWithDataExfiltration" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json new file mode 100644 index 000000000000..b23e882fe612 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/user-mi": {} + } + }, + "location": "westus", + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/user-mi": { + "clientId": "cd1dcac8-82dd-45b5-9aed-76795d529f6b", + "principalId": "24e07a75-1286-41e5-a15d-ded85ec3acd7" + } + } + }, + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/user-mi": { + "clientId": "cd1dcac8-82dd-45b5-9aed-76795d529f6b", + "principalId": "24e07a75-1286-41e5-a15d-ded85ec3acd7" + } + } + }, + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceWithIdentity" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json new file mode 100644 index 000000000000..aeaadaa2a807 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "location": "westus", + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3, + "semanticSearch": "free" + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "semanticSearch": "free", + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + }, + "201": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "semanticSearch": "free", + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateWithSemanticSearch" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json new file mode 100644 index 000000000000..03ac3d554e4b --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "name": "An API key granting read-only access to the documents collection of an index.", + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "An API key granting read-only access to the documents collection of an index.", + "key": "" + } + } + }, + "operationId": "QueryKeys_Create", + "title": "SearchCreateQueryKey" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json new file mode 100644 index 000000000000..385de1a5b566 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "key": "", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + }, + "operationId": "QueryKeys_Delete", + "title": "SearchDeleteQueryKey" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json new file mode 100644 index 000000000000..b538617bf7e8 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + }, + "operationId": "Services_Delete", + "title": "SearchDeleteService" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json b/specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json new file mode 100644 index 000000000000..80112739e201 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + }, + "operationId": "AdminKeys_Get", + "title": "SearchGetAdminKeys" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchGetService.json b/specification/search/Search.Management/examples/2025-05-01/SearchGetService.json new file mode 100644 index 000000000000..19105690af9b --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchGetService.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": "2025-05-01T00:00:00Z", + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + } + }, + "operationId": "Services_Get", + "title": "SearchGetService" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json b/specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json new file mode 100644 index 000000000000..4bcce96f1a49 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json @@ -0,0 +1,562 @@ +{ + "parameters": { + "api-version": "2025-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Search/operations/read", + "display": { + "description": "Lists all of the available operations of the Microsoft.Search provider.", + "operation": "List all available operations", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/register/action", + "display": { + "description": "Registers the subscription for the search resource provider and enables the creation of search services.", + "operation": "Register the Search Resource Provider", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/write", + "display": { + "description": "Creates or updates the search service.", + "operation": "Set Search Service", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/read", + "display": { + "description": "Reads the search service.", + "operation": "Get Search Service", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/delete", + "display": { + "description": "Deletes the search service.", + "operation": "Delete Search Service", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/start/action", + "display": { + "description": "Starts the search service.", + "operation": "Start Search Service", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/stop/action", + "display": { + "description": "Stops the search service.", + "operation": "Stop Search Service", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/listAdminKeys/action", + "display": { + "description": "Reads the admin keys.", + "operation": "Get Admin Key", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/regenerateAdminKey/action", + "display": { + "description": "Regenerates the admin key.", + "operation": "Regenerate Admin Key", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/listQueryKeys/action", + "display": { + "description": "Returns the list of query API keys for the given Azure AI Search service.", + "operation": "Get Query Keys", + "provider": "Microsoft Search", + "resource": "API Keys" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/createQueryKey/action", + "display": { + "description": "Creates the query key.", + "operation": "Create Query Key", + "provider": "Microsoft Search", + "resource": "Search Services" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/deleteQueryKey/delete", + "display": { + "description": "Deletes the query key.", + "operation": "Delete Query Key", + "provider": "Microsoft Search", + "resource": "API Keys" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/checkNameAvailability/action", + "display": { + "description": "Checks availability of the service name.", + "operation": "Check Service Name Availability", + "provider": "Microsoft Search", + "resource": "Service Name Availability" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/diagnosticSettings/read", + "display": { + "description": "Gets the diganostic setting for the resource.", + "operation": "Get Diagnostic Setting", + "provider": "Microsoft Search", + "resource": "Diagnostic Settings" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Search/searchServices/diagnosticSettings/write", + "display": { + "description": "Creates or updates the diganostic setting for the resource.", + "operation": "Set Diagnostic Setting", + "provider": "Microsoft Search", + "resource": "Diagnostic Settings" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Search/searchServices/metricDefinitions/read", + "display": { + "description": "Gets the available metrics for the search service.", + "operation": "Read search service metric definitions", + "provider": "Microsoft Search", + "resource": "The metric definitions for the search service" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Search/searchServices/logDefinitions/read", + "display": { + "description": "Gets the available logs for the search service.", + "operation": "Read search service log definitions", + "provider": "Microsoft Search", + "resource": "The log definition for the search service" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/validate/action", + "display": { + "description": "Validates a private endpoint connection create call from NRP (Microsoft.Network Resource Provider) side.", + "operation": "Validate Private Endpoint Connection Proxy", + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/write", + "display": { + "description": "Creates a private endpoint connection proxy with the specified parameters or updates the properties or tags for the specified private endpoint connection proxy.", + "operation": "Create Private Endpoint Connection Proxy", + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/read", + "display": { + "description": "Returns the list of private endpoint connection proxies or gets the properties for the specified private endpoint connection proxy.", + "operation": "Get Private Endpoint Connection Proxy", + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/delete", + "display": { + "description": "Deletes an existing private endpoint connection proxy.", + "operation": "Delete Private Endpoint Connection Proxy", + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnections/write", + "display": { + "description": "Creates a private endpoint connection with the specified parameters or updates the properties or tags for the specified private endpoint connections.", + "operation": "Create Private Endpoint Connection", + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnections/read", + "display": { + "description": "Returns the list of private endpoint connections or gets the properties for the specified private endpoint connection.", + "operation": "Get Private Endpoint Connection", + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnections/delete", + "display": { + "description": "Deletes an existing private endpoint connection.", + "operation": "Delete Private Endpoint Connection", + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/write", + "display": { + "description": "Creates a new shared private link resource with the specified parameters or updates the properties for the specified shared private link resource.", + "operation": "Create Shared Private Link Resource", + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/read", + "display": { + "description": "Returns the list of shared private link resources or gets the properties for the specified shared private link resource.", + "operation": "Get Shared Private Link Resource", + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/delete", + "display": { + "description": "Deletes an existing shared private link resource.", + "operation": "Delete Shared Private Link Resource", + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/operationStatuses/read", + "display": { + "description": "Get the details of a long running shared private link resource operation.", + "operation": "Get Operation Status", + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/read", + "display": { + "description": "Return an index or its statistics, return a list of indexes or their statistics, or test the lexical analysis components of an index.", + "operation": "Read Index", + "provider": "Microsoft Search", + "resource": "Indexes" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/write", + "display": { + "description": "Create an index or modify its properties.", + "operation": "Create or Update Index", + "provider": "Microsoft Search", + "resource": "Indexes" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/delete", + "display": { + "description": "Delete an index.", + "operation": "Delete Index", + "provider": "Microsoft Search", + "resource": "Indexes" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/synonymMaps/read", + "display": { + "description": "Return a synonym map or a list of synonym maps.", + "operation": "Read Synonym Map", + "provider": "Microsoft Search", + "resource": "Synonym Maps" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/synonymMaps/write", + "display": { + "description": "Create a synonym map or modify its properties.", + "operation": "Create or Update Synonym Map", + "provider": "Microsoft Search", + "resource": "Synonym Maps" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/synonymMaps/delete", + "display": { + "description": "Delete a synonym map.", + "operation": "Delete Synonym Map", + "provider": "Microsoft Search", + "resource": "Synonym Maps" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/dataSources/read", + "display": { + "description": "Return a data source or a list of data sources.", + "operation": "Read Data Source", + "provider": "Microsoft Search", + "resource": "Data Sources" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/dataSources/write", + "display": { + "description": "Create a data source or modify its properties.", + "operation": "Create or Update Data Source", + "provider": "Microsoft Search", + "resource": "Data Sources" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/dataSources/delete", + "display": { + "description": "Delete a data source.", + "operation": "Delete Data Source", + "provider": "Microsoft Search", + "resource": "Data Sources" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/skillsets/read", + "display": { + "description": "Return a skillset or a list of skillsets.", + "operation": "Read Skillset", + "provider": "Microsoft Search", + "resource": "Skillsets" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/skillsets/write", + "display": { + "description": "Create a skillset or modify its properties.", + "operation": "Create or Update Skillset", + "provider": "Microsoft Search", + "resource": "Skillsets" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/skillsets/delete", + "display": { + "description": "Delete a skillset.", + "operation": "Delete Skillset", + "provider": "Microsoft Search", + "resource": "Skillsets" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexers/read", + "display": { + "description": "Return an indexer or its status, or return a list of indexers or their statuses.", + "operation": "Read Indexer", + "provider": "Microsoft Search", + "resource": "Indexers" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexers/write", + "display": { + "description": "Create an indexer, modify its properties, or manage its execution.", + "operation": "Create or Manage Indexer", + "provider": "Microsoft Search", + "resource": "Indexers" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexers/delete", + "display": { + "description": "Delete an indexer.", + "operation": "Delete Indexer", + "provider": "Microsoft Search", + "resource": "Indexers" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/read", + "display": { + "description": "Return a debug session or a list of debug sessions.", + "operation": "Read Debug Session", + "provider": "Microsoft Search", + "resource": "Debug Sessions" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/write", + "display": { + "description": "Create a debug session or modify its properties.", + "operation": "Create or Update Debug Session", + "provider": "Microsoft Search", + "resource": "Debug Sessions" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/delete", + "display": { + "description": "Delete a debug session.", + "operation": "Delete Debug Session", + "provider": "Microsoft Search", + "resource": "Debug Sessions" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/execute/action", + "display": { + "description": "Use a debug session, get execution data, or evaluate expressions on it.", + "operation": "Execute Debug Session", + "provider": "Microsoft Search", + "resource": "Debug Sessions" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/documents/read", + "display": { + "description": "Read documents or suggested query terms from an index.", + "operation": "Read Documents", + "provider": "Microsoft Search", + "resource": "Documents" + }, + "isDataAction": true, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/documents/write", + "display": { + "description": "Upload documents to an index or modify existing documents.", + "operation": "Write Documents", + "provider": "Microsoft Search", + "resource": "Documents" + }, + "isDataAction": true, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/documents/delete", + "display": { + "description": "Delete documents from an index.", + "operation": "Delete Documents", + "provider": "Microsoft Search", + "resource": "Documents" + }, + "isDataAction": true, + "origin": "user,system" + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "SearchListOperations" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json b/specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json new file mode 100644 index 000000000000..b1bff6c97cdf --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Query key for browser-based clients", + "key": "" + }, + { + "name": "Query key for mobile clients", + "key": "" + } + ] + } + } + }, + "operationId": "QueryKeys_ListBySearchService", + "title": "SearchListQueryKeysBySearchService" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json new file mode 100644 index 000000000000..b4ffcbae5991 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + { + "name": "mysearchservice2", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "location": "eastus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "basic" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + ] + } + } + }, + "operationId": "Services_ListByResourceGroup", + "title": "SearchListServicesByResourceGroup" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json new file mode 100644 index 000000000000..d609bdc65b79 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + }, + { + "name": "mysearchservice2", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "location": "eastus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "basic" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" + } + } + ] + } + } + }, + "operationId": "Services_ListBySubscription", + "title": "SearchListServicesBySubscription" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json b/specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json new file mode 100644 index 000000000000..022b4ad4aa7b --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "keyKind": "primary", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + }, + "operationId": "AdminKeys_Regenerate", + "title": "SearchRegenerateAdminKey" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json new file mode 100644 index 000000000000..3bee46e004dd --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateService" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json new file mode 100644 index 000000000000..f5d23f027e39 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "authOptions": { + "aadOrApiKey": { + "aadAuthFailureMode": "http401WithBearerChallenge" + } + }, + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "aadOrApiKey": { + "aadAuthFailureMode": "http401WithBearerChallenge" + } + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceAuthOptions" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json new file mode 100644 index 000000000000..efa9b7092345 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "disableLocalAuth": true, + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": null, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": true, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceDisableLocalAuth" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..754754b96c2d --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "partitionCount": 1, + "publicNetworkAccess": "Disabled", + "replicaCount": 1 + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Disabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "basic" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToAllowAccessFromPrivateEndpoints" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..2ddb65b9646e --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "publicNetworkAccess": "Enabled", + "replicaCount": 3 + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "ipRules": [ + { + "value": "10.2.3.4" + } + ] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPs" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json new file mode 100644 index 000000000000..8f8f48d58805 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "networkRuleSet": { + "bypass": "AzureServices", + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "partitionCount": 1, + "publicNetworkAccess": "Enabled", + "replicaCount": 3 + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "AzureServices", + "ipRules": [ + { + "value": "10.2.3.4" + } + ] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json new file mode 100644 index 000000000000..40bfae3c2a11 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "identity": { + "type": "None" + }, + "sku": { + "name": "standard" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": {} + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToRemoveIdentity" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json new file mode 100644 index 000000000000..4f3e77bc1d94 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "encryptionWithCmk": { + "enforcement": "Enabled" + }, + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Enabled" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithCmkEnforcement" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json new file mode 100644 index 000000000000..446dc4a38006 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "dataExfiltrationProtections": [ + "BlockAll" + ], + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [ + "BlockAll" + ], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithDataExfiltration" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json new file mode 100644 index 000000000000..cb6272d8d6d3 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "properties": { + "replicaCount": 2, + "semanticSearch": "standard" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "semanticSearch": "standard", + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithSemanticSearch" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json new file mode 100644 index 000000000000..ecc53bc52875 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "service": { + "sku": { + "name": "standard2" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + }, + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard2" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + } + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithSku" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json b/specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..b8eec74e728e --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "description": "Rejected for some reason.", + "status": "Rejected" + } + } + }, + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Rejected for some reason.", + "actionsRequired": "None", + "status": "Rejected" + } + } + } + } + }, + "operationId": "PrivateEndpointConnections_Update", + "title": "PrivateEndpointConnectionUpdate" +} \ No newline at end of file diff --git a/specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json b/specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json new file mode 100644 index 000000000000..ec57704ba540 --- /dev/null +++ b/specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "mysearchservice", + "type": "Microsoft.Search/searchServices", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": "2025-05-01T00:00:00Z", + "sharedPrivateLinkResources": [], + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, + "systemData": { + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "My e-commerce app", + "createdByType": "Application", + "lastModifiedAt": "2024-11-01T00:00:00Z", + "lastModifiedBy": "fakeuser@contoso.com", + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/operationResults/11111111-1111-1111-1111-111111111111?api-version=2025-05-01" + } + } + }, + "operationId": "Services_Upgrade", + "title": "UpgradeSearchServiceToLatestVersion" +} \ No newline at end of file diff --git a/specification/search/Search.Management/main.tsp b/specification/search/Search.Management/main.tsp new file mode 100644 index 000000000000..f6557c1eca53 --- /dev/null +++ b/specification/search/Search.Management/main.tsp @@ -0,0 +1,49 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: false + * Version: 0.11.5 + * Date: 2025-10-29T07:29:21.807Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./back-compatible.tsp"; +import "./SearchService.tsp"; +import "./PrivateEndpointConnection.tsp"; +import "./SharedPrivateLinkResource.tsp"; +import "./NetworkSecurityPerimeterConfiguration.tsp"; +import "./routes.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * Client that can be used to manage Azure AI Search services and API keys. + */ +@armProviderNamespace +@service(#{ title: "SearchManagementClient" }) +@versioned(Versions) +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) +namespace Microsoft.Search; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2025-05-01 API version. + */ + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + v2025_05_01: "2025-05-01", +} + +interface Operations extends Azure.ResourceManager.Operations {} diff --git a/specification/search/Search.Management/models.tsp b/specification/search/Search.Management/models.tsp new file mode 100644 index 000000000000..6e1085fc6817 --- /dev/null +++ b/specification/search/Search.Management/models.tsp @@ -0,0 +1,1220 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.Search; + +/** + * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system" + */ +union Origin { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + user: "user", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + system: "system", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + `user,system`: "user,system", +} + +/** + * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. + */ +union ActionType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Internal: "Internal", +} + +/** + * Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + */ +union ComputeType { + string, + + /** + * Create the service with the Default Compute. + */ + Default: "Default", + + /** + * Create the service with Azure Confidential Compute. + */ + Confidential: "Confidential", +} + +/** + * This value can be set to 'Enabled' to avoid breaking changes on existing customer resources and templates. If set to 'Disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. + */ +union PublicNetworkAccess { + string, + + /** + * The search service is accessible from traffic originating from the public internet. + */ + Enabled: "Enabled", + + /** + * The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections. + */ + Disabled: "Disabled", + + /** + * The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter. + */ + SecuredByPerimeter: "SecuredByPerimeter", +} + +/** + * Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + */ +union SearchBypass { + string, + + /** + * Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default. + */ + None: "None", + + /** + * Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section. + */ + AzureServices: "AzureServices", +} + +/** + * A specific data exfiltration scenario that is disabled for the service. + */ +union SearchDataExfiltrationProtection { + string, + + /** + * Indicates that all data exfiltration scenarios are disabled. + */ + BlockAll: "BlockAll", +} + +/** + * Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. + */ +union SearchSemanticSearch { + string, + + /** + * Indicates that semantic reranker is disabled for the search service. This is the default. + */ + disabled: "disabled", + + /** + * Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services. + */ + free: "free", + + /** + * Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries. + */ + standard: "standard", +} + +/** + * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. + */ +union PrivateLinkServiceConnectionProvisioningState { + string, + + /** + * The private link service connection is in the process of being created along with other resources for it to be fully functional. + */ + Updating: "Updating", + + /** + * The private link service connection is in the process of being deleted. + */ + Deleting: "Deleting", + + /** + * The private link service connection has failed to be provisioned or deleted. + */ + Failed: "Failed", + + /** + * The private link service connection has finished provisioning and is ready for approval. + */ + Succeeded: "Succeeded", + + /** + * Provisioning request for the private link service connection resource has been accepted but the process of creation has not commenced yet. + */ + Incomplete: "Incomplete", + + /** + * Provisioning request for the private link service connection resource has been canceled. + */ + Canceled: "Canceled", +} + +/** + * The type of identity that created the resource. + */ +union CreatedByType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + User: "User", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Application: "Application", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ManagedIdentity: "ManagedIdentity", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Key: "Key", +} + +/** + * Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. + */ +union SharedPrivateLinkResourceStatus { + string, + + /** + * The shared private link resource has been created and is pending approval. + */ + Pending: "Pending", + + /** + * The shared private link resource is approved and is ready for use. + */ + Approved: "Approved", + + /** + * The shared private link resource has been rejected and cannot be used. + */ + Rejected: "Rejected", + + /** + * The shared private link resource has been removed from the service. + */ + Disconnected: "Disconnected", +} + +/** + * The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +union SharedPrivateLinkResourceProvisioningState { + string, + + /** + * The shared private link resource is in the process of being created along with other resources for it to be fully functional. + */ + Updating: "Updating", + + /** + * The shared private link resource is in the process of being deleted. + */ + Deleting: "Deleting", + + /** + * The shared private link resource has failed to be provisioned or deleted. + */ + Failed: "Failed", + + /** + * The shared private link resource has finished provisioning and is ready for approval. + */ + Succeeded: "Succeeded", + + /** + * Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet. + */ + Incomplete: "Incomplete", +} + +/** + * Indicates if the search service has an upgrade available. + */ +union UpgradeAvailable { + string, + + /** + * An upgrade is currently not available for the service. + */ + NotAvailable: "notAvailable", + + /** + * There is an upgrade available for the service. + */ + Available: "available", +} + +/** + * The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' + */ +union SkuName { + string, + + /** + * Free tier, with no SLA guarantees and a subset of the features offered on billable tiers. + */ + Free: "free", + + /** + * Billable tier for a dedicated service having up to 3 replicas. + */ + Basic: "basic", + + /** + * Billable tier for a dedicated service having up to 12 partitions and 12 replicas. + */ + Standard: "standard", + + /** + * Similar to 'standard', but with more capacity per search unit. + */ + Standard2: "standard2", + + /** + * The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + */ + Standard3: "standard3", + + /** + * Billable tier for a dedicated service that supports 1TB per partition, up to 12 partitions. + */ + StorageOptimizedL1: "storage_optimized_l1", + + /** + * Billable tier for a dedicated service that supports 2TB per partition, up to 12 partitions. + */ + StorageOptimizedL2: "storage_optimized_l2", +} + +/** + * The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. + */ +union IdentityType { + string, + + /** + * Indicates that any identity associated with the search service needs to be removed. + */ + None: "None", + + /** + * Indicates that system-assigned identity for the search service will be enabled. + */ + SystemAssigned: "SystemAssigned", + + /** + * Indicates that one or more user assigned identities will be assigned to the search service. + */ + UserAssigned: "UserAssigned", + + /** + * Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities. + */ + `SystemAssigned, UserAssigned`: "SystemAssigned, UserAssigned", +} + +/** + * The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable. + */ +union UnavailableNameReason { + string, + + /** + * The search service name doesn't match naming requirements. + */ + Invalid: "Invalid", + + /** + * The search service name is already assigned to a different search service. + */ + AlreadyExists: "AlreadyExists", +} + +/** + * Type of issue + */ +union IssueType { + string, + + /** + * Unknown issue type + */ + Unknown: "Unknown", + + /** + * An error occurred while applying the network security perimeter (NSP) configuration. + */ + ConfigurationPropagationFailure: "ConfigurationPropagationFailure", + + /** + * A network connectivity issue is happening on the resource which could be addressed either by adding new resources to the network security perimeter (NSP) or by modifying access rules. + */ + MissingPerimeterConfiguration: "MissingPerimeterConfiguration", + + /** + * An managed identity hasn't been associated with the resource. The resource will still be able to validate inbound traffic from the network security perimeter (NSP) or matching inbound access rules, but it won't be able to perform outbound access as a member of the NSP. + */ + MissingIdentityConfiguration: "MissingIdentityConfiguration", +} + +/** + * Severity of the issue. + */ +union Severity { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Warning: "Warning", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Error: "Error", +} + +/** + * The current status of the long running asynchronous shared private link resource operation. + */ +union SharedPrivateLinkResourceAsyncOperationResult { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Running: "Running", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum AdminKeyKind { + /** + * The primary API key for the search service. + */ + Primary: "primary", + + /** + * The secondary API key for the search service. + */ + Secondary: "secondary", +} + +/** + * Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum HostingMode { + /** + * The limit on number of indexes is determined by the default limits for the SKU. + */ + Default, + + /** + * Only application for standard3 SKU, where the search service can have up to 1000 indexes. + */ + HighDensity, +} + +/** + * The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum SearchServiceStatus { + /** + * The search service is running and no provisioning operations are underway. + */ + Running: "running", + + /** + * The search service is being provisioned or scaled up or down. + */ + Provisioning: "provisioning", + + /** + * The search service is being deleted. + */ + Deleting: "deleting", + + /** + * The search service is degraded because underlying search units are not healthy. + */ + Degraded: "degraded", + + /** + * The search service is disabled and all API requests will be rejected. + */ + Disabled: "disabled", + + /** + * The search service is in error state, indicating either a failure to provision or to be deleted. + */ + Error: "error", + + /** + * The search service is in a subscription that's disabled. + */ + Stopped: "stopped", +} + +/** + * The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +enum ProvisioningState { + /** + * The last provisioning operation has completed successfully. + */ + Succeeded: "succeeded", + + /** + * The search service is being provisioned or scaled up or down. + */ + Provisioning: "provisioning", + + /** + * The last provisioning operation has failed. + */ + Failed: "failed", +} + +/** + * Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum SearchEncryptionWithCmk { + /** + * No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used. + */ + Disabled, + + /** + * Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key. + */ + Enabled, + + /** + * Enforcement policy is not explicitly specified, with the behavior being the same as if it were set to 'Disabled'. + */ + Unspecified, +} + +/** + * Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum SearchEncryptionComplianceStatus { + /** + * Indicates that the search service is compliant, either because the number of non-CMK-encrypted objects is zero or enforcement is disabled. + */ + Compliant, + + /** + * Indicates that the search service has more than one non-CMK-encrypted objects. + */ + NonCompliant, +} + +/** + * Describes what response the data plane API of a search service would send for requests that failed authentication. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum AadAuthFailureMode { + /** + * Indicates that requests that failed authentication should be presented with an HTTP status code of 403 (Forbidden). + */ + Http403: "http403", + + /** + * Indicates that requests that failed authentication should be presented with an HTTP status code of 401 (Unauthorized) and present a Bearer Challenge. + */ + Http401WithBearerChallenge: "http401WithBearerChallenge", +} + +/** + * Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum PrivateLinkServiceConnectionStatus { + /** + * The private endpoint connection has been created and is pending approval. + */ + Pending, + + /** + * The private endpoint connection is approved and is ready for use. + */ + Approved, + + /** + * The private endpoint connection has been rejected and cannot be used. + */ + Rejected, + + /** + * The private endpoint connection has been removed from the service. + */ + Disconnected, +} + +/** + * Localized display information for this particular operation. + */ +model OperationDisplay { + /** + * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute". + */ + @visibility(Lifecycle.Read) + provider?: string; + + /** + * The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections". + */ + @visibility(Lifecycle.Read) + resource?: string; + + /** + * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". + */ + @visibility(Lifecycle.Read) + operation?: string; + + /** + * The short, localized friendly description of the operation; suitable for tool tips and detailed views. + */ + @visibility(Lifecycle.Read) + description?: string; +} + +/** + * Contains information about an API error. + */ +@error +model CloudError { + /** + * Describes a particular API error with an error code and a message. + */ + error?: CloudErrorBody; + + /** + * A brief description of the error that hints at what went wrong (for details/debugging information refer to the 'error.message' property). + */ + message?: string; +} + +/** + * Describes a particular API error with an error code and a message. + */ +model CloudErrorBody { + /** + * An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases. + */ + code?: string; + + /** + * A message that describes the error in detail and provides debugging information. + */ + message?: string; + + /** + * The target of the particular error (for example, the name of the property in error). + */ + target?: string; + + /** + * Contains nested errors that are related to this error. + */ + details?: CloudErrorBody[]; +} + +/** + * Response containing the primary and secondary admin API keys for a given Azure AI Search service. + */ +model AdminKeyResult { + /** + * The primary admin API key of the search service. + */ + @visibility(Lifecycle.Read) + primaryKey?: string; + + /** + * The secondary admin API key of the search service. + */ + @visibility(Lifecycle.Read) + secondaryKey?: string; +} + +/** + * Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index. + */ +model QueryKey { + /** + * The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * The value of the query API key. + */ + @visibility(Lifecycle.Read) + key?: string; +} + +/** + * Response containing the query API keys for a given Azure AI Search service. + */ +model ListQueryKeysResult is Azure.Core.Page; + +/** + * Properties of the search service. + */ +model SearchServiceProperties { + /** + * The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU. + */ + @maxValue(12) + @minValue(1) + replicaCount?: int32 = 1; + + /** + * The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3. + */ + @maxValue(12) + @minValue(1) + partitionCount?: int32 = 1; + + /** + * The endpoint of the Azure AI Search service. + */ + endpoint?: url; + + /** + * Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'. + */ + hostingMode?: HostingMode = HostingMode.Default; + + /** + * Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + */ + computeType?: ComputeType; + + /** + * This value can be set to 'Enabled' to avoid breaking changes on existing customer resources and templates. If set to 'Disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. + */ + publicNetworkAccess?: PublicNetworkAccess = PublicNetworkAccess.Enabled; + + /** + * The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + */ + @visibility(Lifecycle.Read) + status?: SearchServiceStatus; + + /** + * The details of the search service status. + */ + @visibility(Lifecycle.Read) + statusDetails?: string; + + /** + * The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * Network specific rules that determine how the Azure AI Search service may be reached. + */ + networkRuleSet?: NetworkRuleSet; + + /** + * A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + */ + dataExfiltrationProtections?: SearchDataExfiltrationProtection[]; + + /** + * Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. + */ + encryptionWithCmk?: EncryptionWithCmk; + + /** + * When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. + */ + disableLocalAuth?: boolean; + + /** + * Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true. + */ + authOptions?: DataPlaneAuthOptions; + + /** + * Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. + */ + semanticSearch?: SearchSemanticSearch; + + /** + * The list of private endpoint connections to the Azure AI Search service. + */ + @visibility(Lifecycle.Read) + privateEndpointConnections?: PrivateEndpointConnection[]; + + /** + * The list of shared private link resources managed by the Azure AI Search service. + */ + @visibility(Lifecycle.Read) + sharedPrivateLinkResources?: SharedPrivateLinkResource[]; + + /** + * A system generated property representing the service's etag that can be for optimistic concurrency control during updates. + */ + @visibility(Lifecycle.Read) + eTag?: string; + + /** + * Indicates if the search service has an upgrade available. + */ + upgradeAvailable?: UpgradeAvailable; + + /** + * The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + serviceUpgradedAt?: utcDateTime; +} + +/** + * Network specific rules that determine how the Azure AI Search service may be reached. + */ +model NetworkRuleSet { + /** + * A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. + */ + ipRules?: IpRule[]; + + /** + * Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + */ + bypass?: SearchBypass; +} + +/** + * The IP restriction rule of the Azure AI Search service. + */ +model IpRule { + /** + * Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. + */ + value?: string; +} + +/** + * Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. + */ +model EncryptionWithCmk { + /** + * Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. + */ + enforcement?: SearchEncryptionWithCmk; + + /** + * Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant. + */ + @visibility(Lifecycle.Read) + encryptionComplianceStatus?: SearchEncryptionComplianceStatus; +} + +/** + * Defines the options for how the search service authenticates a data plane request. This cannot be set if 'disableLocalAuth' is set to true. + */ +model DataPlaneAuthOptions { + /** + * Indicates that only the API key can be used for authentication. + */ + apiKeyOnly?: Record; + + /** + * Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication. + */ + aadOrApiKey?: DataPlaneAadOrApiKeyAuthOption; +} + +/** + * Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication. + */ +model DataPlaneAadOrApiKeyAuthOption { + /** + * Describes what response the data plane API of a search service would send for requests that failed authentication. + */ + aadAuthFailureMode?: AadAuthFailureMode; +} + +/** + * Describes the properties of an existing private endpoint connection to the search service. + */ +model PrivateEndpointConnectionProperties { + /** + * The private endpoint resource from Microsoft.Network provider. + */ + privateEndpoint?: PrivateEndpointConnectionPropertiesPrivateEndpoint; + + /** + * Describes the current state of an existing Azure Private Link service connection to the private endpoint. + */ + privateLinkServiceConnectionState?: PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState; + + /** + * The group ID of the Azure resource for which the private link service is for. + */ + groupId?: string; + + /** + * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. + */ + provisioningState?: PrivateLinkServiceConnectionProvisioningState; +} + +/** + * The private endpoint resource from Microsoft.Network provider. + */ +model PrivateEndpointConnectionPropertiesPrivateEndpoint { + /** + * The resource ID of the private endpoint resource from Microsoft.Network provider. + */ + id?: string; +} + +/** + * Describes the current state of an existing Azure Private Link service connection to the private endpoint. + */ +model PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState { + /** + * Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected. + */ + status?: PrivateLinkServiceConnectionStatus; + + /** + * The description for the private link service connection state. + */ + description?: string; + + /** + * A description of any extra actions that may be required. + */ + actionsRequired?: string = "None"; +} + +/** + * Describes the properties of an existing shared private link resource managed by the Azure AI Search service. + */ +model SharedPrivateLinkResourceProperties { + /** + * The resource ID of the resource the shared private link resource is for. + */ + privateLinkResourceId?: string; + + /** + * The group ID from the provider of resource the shared private link resource is for. + */ + groupId?: string; + + /** + * The message for requesting approval of the shared private link resource. + */ + requestMessage?: string; + + /** + * Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + */ + resourceRegion?: string; + + /** + * Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. + */ + status?: SharedPrivateLinkResourceStatus; + + /** + * The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. + */ + provisioningState?: SharedPrivateLinkResourceProvisioningState; +} + +/** + * Defines the SKU of a search service, which determines billing rate and capacity limits. + */ +model Sku { + /** + * The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' + */ + name?: SkuName; +} + +/** + * Details about the search service identity. A null value indicates that the search service has no identity assigned. + */ +model Identity { + /** + * The principal ID of the system-assigned identity of the search service. + */ + @visibility(Lifecycle.Read) + principalId?: string; + + /** + * The tenant ID of the system-assigned identity of the search service. + */ + @visibility(Lifecycle.Read) + tenantId?: string; + + /** + * The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. + */ + type: IdentityType; + + /** + * The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + userAssignedIdentities?: Record; +} + +/** + * The parameters used to update an Azure AI Search service. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model SearchServiceUpdate extends Azure.ResourceManager.CommonTypes.Resource { + /** + * Properties of the search service. + */ + #suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" + @Azure.ResourceManager.Private.conditionalClientFlatten + properties?: SearchServiceProperties; + + /** + * The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. + */ + sku?: Sku; + + /** + * The geographic location of the resource. This must be one of the supported and registered Azure geo regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + location?: string; + + /** + * Tags to help categorize the resource in the Azure portal. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + tags?: Record; + + /** + * Details about the search service identity. A null value indicates that the search service has no identity assigned. + */ + identity?: Identity; +} + +/** + * Response containing a list of supported Private Link Resources. + */ +@pagedResult +model PrivateLinkResourcesResult { + /** + * The list of supported Private Link Resources. + */ + @visibility(Lifecycle.Read) + @items + value?: PrivateLinkResource[]; +} + +/** + * Describes a supported private link resource for the Azure AI Search service. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model PrivateLinkResource extends Azure.ResourceManager.CommonTypes.Resource { + /** + * Describes the properties of a supported private link resource for the Azure AI Search service. + */ + @visibility(Lifecycle.Read) + properties?: PrivateLinkResourceProperties; +} + +/** + * Describes the properties of a supported private link resource for the Azure AI Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource. + */ +model PrivateLinkResourceProperties { + /** + * The group ID of the private link resource. + */ + @visibility(Lifecycle.Read) + groupId?: string; + + /** + * The list of required members of the private link resource. + */ + @visibility(Lifecycle.Read) + requiredMembers?: string[]; + + /** + * The list of required DNS zone names of the private link resource. + */ + @visibility(Lifecycle.Read) + requiredZoneNames?: string[]; + + /** + * The list of resources that are onboarded to private link service, that are supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + shareablePrivateLinkResourceTypes?: ShareablePrivateLinkResourceType[]; +} + +/** + * Describes an resource type that has been onboarded to private link service, supported by Azure AI Search. + */ +model ShareablePrivateLinkResourceType { + /** + * The name of the resource type that has been onboarded to private link service, supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + properties?: ShareablePrivateLinkResourceProperties; +} + +/** + * Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search. + */ +model ShareablePrivateLinkResourceProperties { + /** + * The resource provider type for the resource that has been onboarded to private link service, supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * The resource provider group id for the resource that has been onboarded to private link service, supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + groupId?: string; + + /** + * The description of the resource type that has been onboarded to private link service, supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + description?: string; +} + +/** + * Input of check name availability API. + */ +model CheckNameAvailabilityInput { + /** + * The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. + */ + name: string; + + /** + * The type of the resource whose name is to be validated. This value must always be 'searchServices'. + */ + type: "searchServices"; +} + +/** + * Output of check name availability API. + */ +model CheckNameAvailabilityOutput { + /** + * A value indicating whether the name is available. + */ + @visibility(Lifecycle.Read) + nameAvailable?: boolean; + + /** + * The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable. + */ + @visibility(Lifecycle.Read) + reason?: UnavailableNameReason; + + /** + * A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property. + */ + @visibility(Lifecycle.Read) + message?: string; +} + +/** + * Response containing the quota usage information for all the supported SKUs of Azure AI Search. + */ +model QuotaUsagesListResult is Azure.Core.Page; + +/** + * Describes the quota usage for a particular SKU. + */ +model QuotaUsageResult { + /** + * The resource ID of the quota usage SKU endpoint for Microsoft.Search provider. + */ + id?: string; + + /** + * The unit of measurement for the search SKU. + */ + unit?: string; + + /** + * The currently used up value for the particular search SKU. + */ + currentValue?: int32; + + /** + * The quota limit for the particular search SKU. + */ + limit?: int32; + + /** + * The name of the SKU supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + name?: QuotaUsageResultName; +} + +/** + * The name of the SKU supported by Azure AI Search. + */ +model QuotaUsageResultName { + /** + * The SKU name supported by Azure AI Search. + */ + value?: string; + + /** + * The localized string value for the SKU name. + */ + localizedValue?: string; +} + +/** + * Subscription identifiers + */ +model AccessRulePropertiesSubscriptionsItem { + /** + * The fully qualified Azure resource ID of the subscription e.g. ('/subscriptions/00000000-0000-0000-0000-000000000000') + */ + id?: Azure.Core.armResourceIdentifier; +} + +/** + * The details of a long running asynchronous shared private link resource operation. + */ +model AsyncOperationResult { + /** + * The current status of the long running asynchronous shared private link resource operation. + */ + status?: SharedPrivateLinkResourceAsyncOperationResult; +} diff --git a/specification/search/Search.Management/routes.tsp b/specification/search/Search.Management/routes.tsp new file mode 100644 index 000000000000..44c40a9953ae --- /dev/null +++ b/specification/search/Search.Management/routes.tsp @@ -0,0 +1,92 @@ +// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually + +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.Search; + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ServicesOperationGroup { + /** + * Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Services_CheckNameAvailability") + @autoRoute + checkNameAvailability is ArmProviderActionSync< + Request = CheckNameAvailabilityInput, + Response = CheckNameAvailabilityOutput, + Scope = SubscriptionActionScope, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + } + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface UsagesOperationGroup { + /** + * Get a list of all Azure AI Search quota usages across the subscription. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Usages_ListBySubscription") + @autoRoute + @get + @action("usages") + listBySubscription is ArmProviderActionSync< + Response = QuotaUsagesListResult, + Scope = SubscriptionActionScope, + Parameters = { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string; + + ...LocationParameter; + } + >; +} + +/** + * Gets the quota usage for a search SKU in the given subscription. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +@route("/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}") +@get +op usageBySubscriptionSku( + ...ApiVersionParameter, + + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + #suppress "@azure-tools/typespec-azure-core/no-format" + @format("uuid") + @header + clientRequestId?: string, + + ...LocationResourceParameter, + ...SubscriptionIdParameter, + + /** + * The unique SKU name that identifies a billable tier. + */ + @path + skuName: string, +): ArmResponse | ErrorResponse; diff --git a/specification/search/Search.Management/tspconfig.yaml b/specification/search/Search.Management/tspconfig.yaml new file mode 100644 index 000000000000..17730f1428fd --- /dev/null +++ b/specification/search/Search.Management/tspconfig.yaml @@ -0,0 +1,14 @@ +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/search.json" + emit-lro-options: "all" + examples-dir: "{project-root}/examples" + arm-resource-flattening: true +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" From cbe0ee0c61ba13616957d3200e03597ace193130 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 14:21:06 +0800 Subject: [PATCH 02/37] Fix diff and errors --- .../NetworkSecurityPerimeterConfiguration.tsp | 17 +- .../PrivateEndpointConnection.tsp | 41 +- .../Search.Management/SearchService.tsp | 263 +- .../SharedPrivateLinkResource.tsp | 46 +- .../Search.Management/back-compatible.tsp | 12 +- .../search/Search.Management/main.tsp | 13 +- .../search/Search.Management/models.tsp | 244 +- .../search/Search.Management/routes.tsp | 34 +- .../search/Search.Management/tspconfig.yaml | 39 +- ...eateOrUpdateSharedPrivateLinkResource.json | 36 +- .../DeletePrivateEndpointConnection.json | 20 +- .../DeleteSharedPrivateLinkResource.json | 18 +- .../GetPrivateEndpointConnection.json | 20 +- .../2025-05-01/examples/GetQuotaUsage.json | 24 +- .../examples/GetQuotaUsagesList.json | 96 +- .../GetSharedPrivateLinkResource.json | 20 +- ...stPrivateEndpointConnectionsByService.json | 16 +- ...stSharedPrivateLinkResourcesByService.json | 16 +- .../ListSupportedPrivateLinkResources.json | 40 +- ...orkSecurityPerimeterConfigurationsGet.json | 32 +- ...yPerimeterConfigurationsListByService.json | 34 +- ...urityPerimeterConfigurationsReconcile.json | 12 +- .../examples/SearchCheckNameAvailability.json | 14 +- .../examples/SearchCreateOrUpdateService.json | 152 +- ...earchCreateOrUpdateServiceAuthOptions.json | 164 +- ...CreateOrUpdateServiceDisableLocalAuth.json | 146 +- ...viceToAllowAccessFromPrivateEndpoints.json | 154 +- ...rviceToAllowAccessFromPublicCustomIPs.json | 150 +- ...lowAccessFromPublicCustomIPsAndBypass.json | 162 +- ...eateOrUpdateServiceWithCmkEnforcement.json | 158 +- ...teOrUpdateServiceWithDataExfiltration.json | 166 +- ...archCreateOrUpdateServiceWithIdentity.json | 196 +- ...earchCreateOrUpdateWithSemanticSearch.json | 158 +- .../examples/SearchCreateQueryKey.json | 10 +- .../examples/SearchDeleteQueryKey.json | 12 +- .../examples/SearchDeleteService.json | 10 +- .../examples/SearchGetAdminKeys.json | 10 +- .../2025-05-01/examples/SearchGetService.json | 72 +- .../examples/SearchListOperations.json | 400 +- .../SearchListQueryKeysBySearchService.json | 10 +- .../SearchListServicesByResourceGroup.json | 132 +- .../SearchListServicesBySubscription.json | 130 +- .../examples/SearchRegenerateAdminKey.json | 12 +- .../examples/SearchUpdateService.json | 84 +- .../SearchUpdateServiceAuthOptions.json | 92 +- .../SearchUpdateServiceDisableLocalAuth.json | 82 +- ...viceToAllowAccessFromPrivateEndpoints.json | 82 +- ...rviceToAllowAccessFromPublicCustomIPs.json | 82 +- ...lowAccessFromPublicCustomIPsAndBypass.json | 90 +- .../SearchUpdateServiceToRemoveIdentity.json | 80 +- ...SearchUpdateServiceWithCmkEnforcement.json | 90 +- ...archUpdateServiceWithDataExfiltration.json | 94 +- ...SearchUpdateServiceWithSemanticSearch.json | 88 +- .../examples/SearchUpdateServiceWithSku.json | 84 +- .../UpdatePrivateEndpointConnection.json | 26 +- .../UpgradeSearchServiceToLatestVersion.json | 84 +- .../stable/2025-05-01/search.json | 4141 ++++++++++------- 57 files changed, 4837 insertions(+), 3873 deletions(-) diff --git a/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp index 8fa7472ff0d1..7c6f9be14a57 100644 --- a/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp +++ b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp @@ -14,9 +14,11 @@ namespace Microsoft.Search; /** * Network security perimeter (NSP) configuration resource */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(SearchService) model NetworkSecurityPerimeterConfiguration - is Azure.ResourceManager.ProxyResource { + is Azure.ResourceManager.ProxyResource<{}> { ...ResourceNameParameter< Resource = NetworkSecurityPerimeterConfiguration, KeyName = "nspConfigName", @@ -30,12 +32,18 @@ interface NetworkSecurityPerimeterConfigurations { /** * Gets a network security perimeter configuration. */ - get is ArmResourceRead; + get is ArmResourceRead< + NetworkSecurityPerimeterConfiguration, + Error = CloudError + >; /** * Gets a list of network security perimeter configurations for a search service. */ - listByService is ArmResourceListByParent; + listByService is ArmResourceListByParent< + NetworkSecurityPerimeterConfiguration, + Error = CloudError + >; /** * Reconcile network security perimeter configuration for the Azure AI Search resource provider. This triggers a manual resync with network security perimeter configurations by ensuring the search service carries the latest configuration. @@ -44,7 +52,8 @@ interface NetworkSecurityPerimeterConfigurations { NetworkSecurityPerimeterConfiguration, void, ArmAcceptedLroResponse, - BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters, + Error = CloudError >; } diff --git a/specification/search/Search.Management/PrivateEndpointConnection.tsp b/specification/search/Search.Management/PrivateEndpointConnection.tsp index 327615b29594..9532663a7c2a 100644 --- a/specification/search/Search.Management/PrivateEndpointConnection.tsp +++ b/specification/search/Search.Management/PrivateEndpointConnection.tsp @@ -30,69 +30,82 @@ interface PrivateEndpointConnections { /** * Gets the details of the private endpoint connection to the search service in the given resource group. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") get is ArmResourceRead< PrivateEndpointConnection, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Error = CloudError >; /** * Updates a private endpoint connection to the search service in the given resource group. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") update is ArmResourceCreateOrReplaceSync< PrivateEndpointConnection, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; }, - Response = ArmResourceUpdatedResponse + Response = ArmResourceUpdatedResponse, + Error = CloudError >; /** * Disconnects the private endpoint connection and deletes it from the search service. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") delete is ArmResourceDeleteSync< PrivateEndpointConnection, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; }, - Response = ArmResponse + Response = ArmResponse | NotFoundResponse, + Error = CloudError >; /** * Gets a list of all private endpoint connections in the given service. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") listByService is ArmResourceListByParent< PrivateEndpointConnection, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Response = PrivateEndpointConnectionListResult, + Error = CloudError >; } diff --git a/specification/search/Search.Management/SearchService.tsp b/specification/search/Search.Management/SearchService.tsp index ea3b2c3cde3f..53657baa2cb8 100644 --- a/specification/search/Search.Management/SearchService.tsp +++ b/specification/search/Search.Management/SearchService.tsp @@ -25,62 +25,157 @@ model SearchService /** * The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://azure.microsoft.com/documentation/articles/search-sku-tier/") sku?: Sku; /** * The identity of the resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" identity?: Identity; } -@armResourceOperations +alias AdminKeysParentParameters = { + ...ApiVersionParameter; + ...SubscriptionIdParameter; + ...ResourceGroupParameter; + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string; +}; + +alias AdminKeysParameters = { + /** + * Specifies which key to regenerate. Valid values include 'primary' and 'secondary'. + */ + @path + @segment("regenerateAdminKey") + keyKind: AdminKeyKind; +}; + +alias AdminKeysOps = Azure.ResourceManager.Legacy.RoutedOperations< + AdminKeysParentParameters, + AdminKeysParameters, + ResourceRoute = #{ + route: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey", + } +>; + +alias QueryKeysParentParameters = { + ...ApiVersionParameter; + ...SubscriptionIdParameter; + ...ResourceGroupParameter; + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string; +}; + +alias QueryKeysParameters = { + /** + * The name of the new query API key. + */ + @path + name: string; +}; + +alias QueryKeysOps = Azure.ResourceManager.Legacy.RoutedOperations< + QueryKeysParentParameters, + QueryKeysParameters, + ResourceRoute = #{ + route: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/createQueryKey", + } +>; + +alias QueryKeysDeleteParentParameters = { + ...ApiVersionParameter; + ...SubscriptionIdParameter; + ...ResourceGroupParameter; + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string; +}; + +alias QueryKeysDeleteParameters = { + /** + * The query key to be deleted. Query keys are identified by value, not by name. + */ + @path + key: string; +}; + +alias QueryKeysDeleteOps = Azure.ResourceManager.Legacy.RoutedOperations< + QueryKeysDeleteParentParameters, + QueryKeysDeleteParameters, + ResourceRoute = #{ + route: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/", + } +>; + +@armResourceOperations(#{ allowStaticRoutes: true }) interface SearchServices { /** * Gets the search service with the given name in the given resource group. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Services_Get") + @externalDocs("https://aka.ms/search-manage") get is ArmResourceRead< SearchService, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Error = CloudError >; /** * Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Services_CreateOrUpdate") + @externalDocs("https://aka.ms/search-manage") createOrUpdate is ArmResourceCreateOrReplaceAsync< SearchService, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; }, LroHeaders = ArmLroLocationHeader & - Azure.Core.Foundations.RetryAfterHeader + Azure.Core.Foundations.RetryAfterHeader, + Error = CloudError >; /** * Updates an existing search service in the given resource group. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Services_Update") @patch(#{ implicitOptionality: false }) + @externalDocs("https://aka.ms/search-manage") update is ArmCustomPatchSync< SearchService, PatchModel = SearchServiceUpdate, @@ -88,53 +183,62 @@ interface SearchServices { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Error = CloudError >; /** * Deletes a search service in the given resource group, along with its associated resources. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Services_Delete") + @externalDocs("https://aka.ms/search-manage") delete is ArmResourceDeleteSync< SearchService, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Response = OkResponse | NoContentResponse | NotFoundResponse, + Error = CloudError >; /** * Gets a list of all Search services in the given resource group. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Services_ListByResourceGroup") + @externalDocs("https://aka.ms/search-manage") listByResourceGroup is ArmResourceListByParent< SearchService, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Response = SearchServiceListResult, + Error = CloudError >; /** * Gets a list of all Search services in the given subscription. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") @operationId("Services_ListBySubscription") listBySubscription is ArmListBySubscription< SearchService, @@ -142,19 +246,22 @@ interface SearchServices { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Response = SearchServiceListResult, + Error = CloudError >; /** * Gets the primary and secondary admin API keys for the specified Azure AI Search service. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("AdminKeys_Get") @action("listAdminKeys") + @externalDocs("https://aka.ms/search-manage") adminKeysGet is ArmResourceActionSync< SearchService, void, @@ -163,73 +270,69 @@ interface SearchServices { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Error = CloudError >; /** * Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("AdminKeys_Regenerate") - @action("{keyKind}") - regenerate is ArmResourceActionSync< + @externalDocs("https://aka.ms/search-manage") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}") + regenerate is AdminKeysOps.ActionSync< SearchService, void, ArmResponse, Parameters = { - /** - * Specifies which key to regenerate. Valid values include 'primary' and 'secondary'. - */ - @path - keyKind: AdminKeyKind; - /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + OverrideErrorType = CloudError >; /** * Generates a new query key for the specified search service. You can create up to 50 query keys per service. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("QueryKeys_Create") - @action("{name}") - create is ArmResourceActionSync< + @post + @externalDocs("https://aka.ms/search-manage") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}") + create is QueryKeysOps.CreateOrUpdateSync< SearchService, - void, - ArmResponse, + Request = void, + Response = ArmResponse, Parameters = { - /** - * The name of the new query API key. - */ - @path - name: string; - /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + OverrideErrorType = CloudError >; /** * Returns the list of query API keys for the given Azure AI Search service. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("QueryKeys_ListBySearchService") @action("listQueryKeys") + @externalDocs("https://aka.ms/search-manage") + @list listBySearchService is ArmResourceActionSync< SearchService, void, @@ -238,59 +341,58 @@ interface SearchServices { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Error = CloudError >; /** * Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("QueryKeys_Delete") @delete - @action("{key}") - queryKeysDelete is ArmResourceActionSync< + @externalDocs("https://aka.ms/search-manage") + queryKeysDelete is QueryKeysDeleteOps.ActionSync< SearchService, void, - OkResponse | NoContentResponse, + OkResponse | NoContentResponse | NotFoundResponse, Parameters = { - /** - * The query key to be deleted. Query keys are identified by value, not by name. - */ - @path - key: string; - /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + OverrideErrorType = CloudError >; /** * Upgrades the Azure AI Search service to the latest version available. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Services_Upgrade") upgrade is ArmResourceActionAsync< SearchService, void, - ArmResponse + Response = SearchService, + Error = CloudError >; /** * Gets a list of all supported private link resource types for the given service. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("PrivateLinkResources_ListSupported") + @externalDocs("https://aka.ms/search-manage") @get @action("privateLinkResources") + @list listSupported is ArmResourceActionSync< SearchService, void, @@ -299,11 +401,12 @@ interface SearchServices { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Error = CloudError >; } diff --git a/specification/search/Search.Management/SharedPrivateLinkResource.tsp b/specification/search/Search.Management/SharedPrivateLinkResource.tsp index 4cfaf2dd04ae..d94ad2f7cbbc 100644 --- a/specification/search/Search.Management/SharedPrivateLinkResource.tsp +++ b/specification/search/Search.Management/SharedPrivateLinkResource.tsp @@ -30,70 +30,86 @@ interface SharedPrivateLinkResources { /** * Gets the details of the shared private link resource managed by the search service in the given resource group. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") get is ArmResourceRead< SharedPrivateLinkResource, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Error = CloudError >; /** * Initiates the creation or update of a shared private link resource managed by the search service in the given resource group. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") createOrUpdate is ArmResourceCreateOrReplaceAsync< SharedPrivateLinkResource, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; }, - Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse + Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse>, + Error = CloudError >; /** * Initiates the deletion of the shared private link resource from the search service. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") delete is ArmResourceDeleteWithoutOkAsync< SharedPrivateLinkResource, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; }, - LroHeaders = ArmAsyncOperationHeader & - Azure.Core.Foundations.RetryAfterHeader + Response = ArmAcceptedLroResponse & + Azure.Core.Foundations.RetryAfterHeader> | NoContentResponse | NotFoundResponse, + Error = CloudError >; /** * Gets a list of all shared private link resources managed by the given service. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @externalDocs("https://aka.ms/search-manage") listByService is ArmResourceListByParent< SharedPrivateLinkResource, Parameters = { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; - } + }, + Response = SharedPrivateLinkResourceListResult, + Error = CloudError >; } diff --git a/specification/search/Search.Management/back-compatible.tsp b/specification/search/Search.Management/back-compatible.tsp index bf92f63286ed..9751eb87223a 100644 --- a/specification/search/Search.Management/back-compatible.tsp +++ b/specification/search/Search.Management/back-compatible.tsp @@ -3,8 +3,9 @@ import "@azure-tools/typespec-client-generator-core"; using Azure.ClientGenerator.Core; using Microsoft.Search; -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." -@@flattenProperty(SearchServiceUpdate.properties); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Azure.ClientGenerator.Core.Legacy.flattenProperty(SearchServiceUpdate.properties +); @@clientName(CheckNameAvailabilityOutput.nameAvailable, "IsNameAvailable"); @@ -25,8 +26,8 @@ using Microsoft.Search; @@clientName(SearchServices.queryKeysDelete, "Delete"); @@clientLocation(SearchServices.upgrade, "Services"); @@clientLocation(SearchServices.listSupported, "PrivateLinkResources"); -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." -@@flattenProperty(SearchService.properties); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Azure.ClientGenerator.Core.Legacy.flattenProperty(SearchService.properties); @@clientName(PrivateEndpointConnections.update::parameters.resource, "privateEndpointConnection" @@ -39,3 +40,6 @@ using Microsoft.Search; @@clientLocation(ServicesOperationGroup.checkNameAvailability, "Services"); @@clientLocation(UsagesOperationGroup.listBySubscription, "Usages"); +@@clientName(ServicesOperationGroup.checkNameAvailability::parameters.body, + "checkNameAvailabilityInput" +); diff --git a/specification/search/Search.Management/main.tsp b/specification/search/Search.Management/main.tsp index f6557c1eca53..e446e0945331 100644 --- a/specification/search/Search.Management/main.tsp +++ b/specification/search/Search.Management/main.tsp @@ -31,7 +31,7 @@ using TypeSpec.Versioning; @armProviderNamespace @service(#{ title: "SearchManagementClient" }) @versioned(Versions) -@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v6) namespace Microsoft.Search; /** @@ -41,9 +41,14 @@ enum Versions { /** * The 2025-05-01 API version. */ - @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) - @useDependency(Azure.Core.Versions.v1_0_Preview_1) v2025_05_01: "2025-05-01", } -interface Operations extends Azure.ResourceManager.Operations {} +interface Operations + extends Azure.ResourceManager.Legacy.Operations< + ArmResponse, + CloudError + > {} +@@doc(Operations.list, + "Lists all of the available REST API operations of the Microsoft.Search provider." +); diff --git a/specification/search/Search.Management/models.tsp b/specification/search/Search.Management/models.tsp index 6e1085fc6817..a281ee3a3756 100644 --- a/specification/search/Search.Management/models.tsp +++ b/specification/search/Search.Management/models.tsp @@ -16,11 +16,11 @@ namespace Microsoft.Search; */ union Origin { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" user: "user", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" system: "system", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" `user,system`: "user,system", } @@ -29,7 +29,7 @@ union Origin { */ union ActionType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Internal: "Internal", } @@ -65,11 +65,6 @@ union PublicNetworkAccess { * The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections. */ Disabled: "Disabled", - - /** - * The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter. - */ - SecuredByPerimeter: "SecuredByPerimeter", } /** @@ -165,13 +160,13 @@ union PrivateLinkServiceConnectionProvisioningState { */ union CreatedByType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" User: "User", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Application: "Application", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ManagedIdentity: "ManagedIdentity", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Key: "Key", } @@ -205,7 +200,7 @@ union SharedPrivateLinkResourceStatus { /** * The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" union SharedPrivateLinkResourceProvisioningState { string, @@ -370,9 +365,9 @@ union IssueType { */ union Severity { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Warning: "Warning", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Error: "Error", } @@ -381,16 +376,16 @@ union Severity { */ union SharedPrivateLinkResourceAsyncOperationResult { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Running: "Running", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Succeeded: "Succeeded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum AdminKeyKind { /** * The primary API key for the search service. @@ -406,7 +401,7 @@ enum AdminKeyKind { /** * Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum HostingMode { /** * The limit on number of indexes is determined by the default limits for the SKU. @@ -422,7 +417,7 @@ enum HostingMode { /** * The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum SearchServiceStatus { /** * The search service is running and no provisioning operations are underway. @@ -463,8 +458,8 @@ enum SearchServiceStatus { /** * The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum ProvisioningState { /** * The last provisioning operation has completed successfully. @@ -485,7 +480,7 @@ enum ProvisioningState { /** * Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum SearchEncryptionWithCmk { /** * No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used. @@ -506,7 +501,7 @@ enum SearchEncryptionWithCmk { /** * Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum SearchEncryptionComplianceStatus { /** * Indicates that the search service is compliant, either because the number of non-CMK-encrypted objects is zero or enforcement is disabled. @@ -522,7 +517,7 @@ enum SearchEncryptionComplianceStatus { /** * Describes what response the data plane API of a search service would send for requests that failed authentication. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum AadAuthFailureMode { /** * Indicates that requests that failed authentication should be presented with an HTTP status code of 403 (Forbidden). @@ -538,7 +533,7 @@ enum AadAuthFailureMode { /** * Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum PrivateLinkServiceConnectionStatus { /** * The private endpoint connection has been created and is pending approval. @@ -561,39 +556,12 @@ enum PrivateLinkServiceConnectionStatus { Disconnected, } -/** - * Localized display information for this particular operation. - */ -model OperationDisplay { - /** - * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute". - */ - @visibility(Lifecycle.Read) - provider?: string; - - /** - * The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections". - */ - @visibility(Lifecycle.Read) - resource?: string; - - /** - * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". - */ - @visibility(Lifecycle.Read) - operation?: string; - - /** - * The short, localized friendly description of the operation; suitable for tool tips and detailed views. - */ - @visibility(Lifecycle.Read) - description?: string; -} - /** * Contains information about an API error. */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @error +@Azure.ResourceManager.Legacy.armExternalType model CloudError { /** * Describes a particular API error with an error code and a message. @@ -609,6 +577,8 @@ model CloudError { /** * Describes a particular API error with an error code and a message. */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType model CloudErrorBody { /** * An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases. @@ -628,6 +598,7 @@ model CloudErrorBody { /** * Contains nested errors that are related to this error. */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" details?: CloudErrorBody[]; } @@ -668,7 +639,23 @@ model QueryKey { /** * Response containing the query API keys for a given Azure AI Search service. */ -model ListQueryKeysResult is Azure.Core.Page; +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType +model ListQueryKeysResult { + /** + * The query keys for the Azure AI Search service. + */ + @visibility(Lifecycle.Read) + @pageItems + value?: QueryKey[]; + + /** + * Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size. + */ + @nextLink + @visibility(Lifecycle.Read) + nextLink?: string; +} /** * Properties of the search service. @@ -744,7 +731,8 @@ model SearchServiceProperties { /** * When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. */ - disableLocalAuth?: boolean; + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + disableLocalAuth?: boolean | null; /** * Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true. @@ -754,7 +742,8 @@ model SearchServiceProperties { /** * Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. */ - semanticSearch?: SearchSemanticSearch; + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + semanticSearch?: SearchSemanticSearch | null; /** * The list of private endpoint connections to the Azure AI Search service. @@ -794,6 +783,7 @@ model NetworkRuleSet { /** * A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ipRules?: IpRule[]; /** @@ -835,7 +825,8 @@ model DataPlaneAuthOptions { /** * Indicates that only the API key can be used for authentication. */ - apiKeyOnly?: Record; + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + apiKeyOnly?: unknown; /** * Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication. @@ -875,6 +866,7 @@ model PrivateEndpointConnectionProperties { /** * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" provisioningState?: PrivateLinkServiceConnectionProvisioningState; } @@ -940,12 +932,15 @@ model SharedPrivateLinkResourceProperties { /** * The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" provisioningState?: SharedPrivateLinkResourceProvisioningState; } /** * Defines the SKU of a search service, which determines billing rate and capacity limits. */ +#suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@OpenAPI.externalDocs("https://azure.microsoft.com/documentation/articles/search-sku-tier/") model Sku { /** * The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' @@ -953,6 +948,12 @@ model Sku { name?: SkuName; } +/** + * The list of user identities associated with the search service. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model UserAssignedManagedIdentities is Record; + /** * Details about the search service identity. A null value indicates that the search service has no identity assigned. */ @@ -977,19 +978,19 @@ model Identity { /** * The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" - userAssignedIdentities?: Record; + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + userAssignedIdentities?: UserAssignedManagedIdentities; } /** * The parameters used to update an Azure AI Search service. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model SearchServiceUpdate extends Azure.ResourceManager.CommonTypes.Resource { /** * Properties of the search service. */ - #suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @Azure.ResourceManager.Private.conditionalClientFlatten properties?: SearchServiceProperties; @@ -1007,7 +1008,7 @@ model SearchServiceUpdate extends Azure.ResourceManager.CommonTypes.Resource { /** * Tags to help categorize the resource in the Azure portal. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" tags?: Record; /** @@ -1019,20 +1020,27 @@ model SearchServiceUpdate extends Azure.ResourceManager.CommonTypes.Resource { /** * Response containing a list of supported Private Link Resources. */ -@pagedResult +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType model PrivateLinkResourcesResult { /** * The list of supported Private Link Resources. */ @visibility(Lifecycle.Read) - @items + @pageItems value?: PrivateLinkResource[]; + + /** + * The URL to get the next set of private link resources, if there are any. + */ + @nextLink + nextLink?: string; } /** * Describes a supported private link resource for the Azure AI Search service. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model PrivateLinkResource extends Azure.ResourceManager.CommonTypes.Resource { /** * Describes the properties of a supported private link resource for the Azure AI Search service. @@ -1151,7 +1159,23 @@ model CheckNameAvailabilityOutput { /** * Response containing the quota usage information for all the supported SKUs of Azure AI Search. */ -model QuotaUsagesListResult is Azure.Core.Page; +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType +model QuotaUsagesListResult { + /** + * The quota usages for the SKUs supported by Azure AI Search. + */ + @visibility(Lifecycle.Read) + @pageItems + value?: QuotaUsageResult[]; + + /** + * Request URL that can be used to query next page of quota usages. Returned when the total number of requested quota usages exceed maximum page size. + */ + @nextLink + @visibility(Lifecycle.Read) + nextLink?: string; +} /** * Describes the quota usage for a particular SKU. @@ -1218,3 +1242,81 @@ model AsyncOperationResult { */ status?: SharedPrivateLinkResourceAsyncOperationResult; } +/** + * The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results. + */ +model OperationListResult { + /** + * The list of operations by Azure AI Search, some supported by the resource provider and others by data plane APIs. + */ + @visibility(Lifecycle.Read) + @pageItems + value?: Operation[]; + + /** + * The URL to get the next set of operation list results, if any. + */ + @nextLink + @visibility(Lifecycle.Read) + nextLink?: string; +} + +/** + * Response containing a list of private endpoint connections. + */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType +model PrivateEndpointConnectionListResult { + /** + * The list of private endpoint connections. + */ + @visibility(Lifecycle.Read) + @pageItems + value?: PrivateEndpointConnection[]; + + /** + * Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size. + */ + @nextLink + @visibility(Lifecycle.Read) + nextLink?: string; +} +/** + * Response containing a list of Azure AI Search services. + */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType +model SearchServiceListResult { + /** + * The list of search services. + */ + @visibility(Lifecycle.Read) + @pageItems + value?: SearchService[]; + + /** + * Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size. + */ + @nextLink + @visibility(Lifecycle.Read) + nextLink?: string; +} +/** + * Response containing a list of shared private link resources. + */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType +model SharedPrivateLinkResourceListResult { + /** + * The list of shared private link resources. + */ + @visibility(Lifecycle.Read) + @pageItems + value?: SharedPrivateLinkResource[]; + + /** + * The URL to get the next set of shared private link resources, if there are any. + */ + @nextLink + nextLink?: string; +} diff --git a/specification/search/Search.Management/routes.tsp b/specification/search/Search.Management/routes.tsp index 44c40a9953ae..d0800df6dfc6 100644 --- a/specification/search/Search.Management/routes.tsp +++ b/specification/search/Search.Management/routes.tsp @@ -13,13 +13,14 @@ using TypeSpec.OpenAPI; namespace Microsoft.Search; -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ServicesOperationGroup { /** * Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Services_CheckNameAvailability") + @externalDocs("https://aka.ms/search-manage") @autoRoute checkNameAvailability is ArmProviderActionSync< Request = CheckNameAvailabilityInput, @@ -29,24 +30,27 @@ interface ServicesOperationGroup { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header clientRequestId?: string; - } + }, + Error = CloudError >; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface UsagesOperationGroup { /** * Get a list of all Azure AI Search quota usages across the subscription. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Usages_ListBySubscription") @autoRoute @get @action("usages") + @externalDocs("https://aka.ms/search-manage") + @list listBySubscription is ArmProviderActionSync< Response = QuotaUsagesListResult, Scope = SubscriptionActionScope, @@ -54,31 +58,35 @@ interface UsagesOperationGroup { /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; ...LocationParameter; - } + }, + Error = CloudError >; } /** * Gets the quota usage for a search SKU in the given subscription. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @route("/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}") @get +@externalDocs("https://aka.ms/search-manage") op usageBySubscriptionSku( ...ApiVersionParameter, /** * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. */ - #suppress "@azure-tools/typespec-azure-core/no-format" + #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string, ...LocationResourceParameter, @@ -89,4 +97,4 @@ op usageBySubscriptionSku( */ @path skuName: string, -): ArmResponse | ErrorResponse; +): ArmResponse | CloudError; diff --git a/specification/search/Search.Management/tspconfig.yaml b/specification/search/Search.Management/tspconfig.yaml index 17730f1428fd..cfc85c2e7db3 100644 --- a/specification/search/Search.Management/tspconfig.yaml +++ b/specification/search/Search.Management/tspconfig.yaml @@ -1,14 +1,49 @@ +parameters: + "service-dir": + default: "sdk/search" emit: - "@azure-tools/typespec-autorest" options: "@azure-tools/typespec-autorest": - omit-unreachable-types: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/search.json" emit-lro-options: "all" examples-dir: "{project-root}/examples" - arm-resource-flattening: true + "@azure-tools/typespec-csharp": + emitter-output-dir: "{output-dir}/{service-dir}/Azure.ResourceManager.Search" + clear-output-folder: true + model-namespace: false + namespace: "Azure.ResourceManager.Search" + flavor: azure + "@azure-tools/typespec-python": + emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-search" + namespace: "azure.mgmt.search" + generate-test: true + generate-sample: true + flavor: "azure" + "@azure-tools/typespec-java": + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-search" + namespace: "com.azure.resourcemanager.search" + service-name: "Search" + flavor: azure + use-object-for-unknown: true + "@azure-tools/typespec-ts": + emitter-output-dir: "{output-dir}/{service-dir}/arm-search" + flavor: azure + experimental-extensible-enums: true + package-details: + name: "@azure/arm-search" + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/search" + emitter-output-dir: "{output-dir}/{service-dir}/armsearch" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armsearch" + fix-const-stuttering: false + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json index a6bb224d0866..d552d14b0533 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json @@ -1,39 +1,41 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "sharedPrivateLinkResource": { "properties": { - "requestMessage": "please approve", "groupId": "blob", "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "requestMessage": "please approve", "resourceRegion": null } - } + }, + "sharedPrivateLinkResourceName": "testResource", + "subscriptionId": "subid" }, "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01" - } - }, "200": { "body": { "name": "testResource", "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { - "requestMessage": "please approve", "groupId": "blob", "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending", - "resourceRegion": null + "requestMessage": "please approve", + "resourceRegion": null, + "status": "Pending" } } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01" + } } - } -} + }, + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "title": "SharedPrivateLinkResourceCreateOrUpdate" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json index dbcc6bf8926a..ccc21c08b7f4 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json @@ -1,29 +1,31 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", - "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { - "status": "Disconnected", "description": "", - "actionsRequired": "None" + "actionsRequired": "None", + "status": "Disconnected" } } } }, "404": {} - } -} + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "PrivateEndpointConnectionDelete" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json index bd6d2e985275..21d47abbfbe3 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json @@ -1,19 +1,21 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "sharedPrivateLinkResourceName": "testResource", + "subscriptionId": "subid" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01" } }, "204": {}, "404": {} - } -} + }, + "operationId": "SharedPrivateLinkResources_Delete", + "title": "SharedPrivateLinkResourceDelete" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json index 6357c280a1e7..6531765952c8 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json @@ -1,28 +1,30 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", - "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "", - "actionsRequired": "None" + "actionsRequired": "None", + "status": "Approved" } } } } - } -} + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "PrivateEndpointConnectionGet" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json index 93a34b5f1388..ed098391ff2f 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json @@ -1,22 +1,24 @@ { "parameters": { - "location": "westus", "api-version": "2025-05-01", - "subscriptionId": "subid", - "skuName": "free" + "location": "westus", + "skuName": "free", + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}", - "unit": "Count", + "name": { + "localizedValue": "F - Free", + "value": "free" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}", "limit": 16, - "name": { - "value": "free", - "localizedValue": "F - Free" - } + "unit": "Count" } } - } -} + }, + "operationId": "UsageBySubscriptionSku", + "title": "GetQuotaUsage" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json index b32db54dd3f7..f93334d380cb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json @@ -1,86 +1,88 @@ { "parameters": { - "location": "westus", "api-version": "2025-05-01", + "location": "westus", "subscriptionId": "subid" }, "responses": { "200": { "body": { + "nextLink": null, "value": [ { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/free", - "unit": "Count", + "name": { + "localizedValue": "F - Free", + "value": "free" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/free", "limit": 16, - "name": { - "value": "free", - "localizedValue": "F - Free" - } + "unit": "Count" }, { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/basic", - "unit": "Count", + "name": { + "localizedValue": "B - Basic", + "value": "basic" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/basic", "limit": 16, - "name": { - "value": "basic", - "localizedValue": "B - Basic" - } + "unit": "Count" }, { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard", - "unit": "Count", + "name": { + "localizedValue": "S - Standard", + "value": "standard" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard", "limit": 16, - "name": { - "value": "standard", - "localizedValue": "S - Standard" - } + "unit": "Count" }, { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard2", - "unit": "Count", + "name": { + "localizedValue": "S2 - Standard2", + "value": "standard2" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard2", "limit": 16, - "name": { - "value": "standard2", - "localizedValue": "S2 - Standard2" - } + "unit": "Count" }, { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard3", - "unit": "Count", + "name": { + "localizedValue": "S3 - Standard3", + "value": "standard3" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/standard3", "limit": 16, - "name": { - "value": "standard3", - "localizedValue": "S3 - Standard3" - } + "unit": "Count" }, { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/storageOptimizedL1", - "unit": "Count", + "name": { + "localizedValue": "L1 - Storage Optimized", + "value": "storageOptimizedL1" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/storageOptimizedL1", "limit": 16, - "name": { - "value": "storageOptimizedL1", - "localizedValue": "L1 - Storage Optimized" - } + "unit": "Count" }, { - "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/storageOptimizedL2", - "unit": "Count", + "name": { + "localizedValue": "L2 - Storage Optimized", + "value": "storageOptimizedL2" + }, "currentValue": 8, + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/storageOptimizedL2", "limit": 16, - "name": { - "value": "storageOptimizedL2", - "localizedValue": "L2 - Storage Optimized" - } + "unit": "Count" } - ], - "nextLink": null + ] } } - } -} + }, + "operationId": "Usages_ListBySubscription", + "title": "GetQuotaUsagesList" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json index 44255d5f01e3..c8d524a9d6b9 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json @@ -1,10 +1,10 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "sharedPrivateLinkResourceName": "testResource", + "subscriptionId": "subid" }, "responses": { "200": { @@ -13,13 +13,15 @@ "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { - "requestMessage": "please approve", "groupId": "blob", "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending", - "resourceRegion": null + "requestMessage": "please approve", + "resourceRegion": null, + "status": "Pending" } } } - } -} + }, + "operationId": "SharedPrivateLinkResources_Get", + "title": "SharedPrivateLinkResourceGet" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json index 1686acd552bb..1a42c33a8297 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json @@ -1,8 +1,8 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { @@ -10,22 +10,24 @@ "body": { "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "", - "actionsRequired": "None" + "actionsRequired": "None", + "status": "Approved" } } } ] } } - } -} + }, + "operationId": "PrivateEndpointConnections_ListByService", + "title": "ListPrivateEndpointConnectionsByService" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json index 5701f00c6efa..2efa89570792 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json @@ -1,8 +1,8 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { @@ -14,15 +14,17 @@ "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { - "requestMessage": "please approve", "groupId": "blob", "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending", - "resourceRegion": null + "requestMessage": "please approve", + "resourceRegion": null, + "status": "Pending" } } ] } } - } -} + }, + "operationId": "SharedPrivateLinkResources_ListByService", + "title": "ListSharedPrivateLinkResourcesByService" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json index c377a9639ea7..1d0821f7154b 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json @@ -1,8 +1,8 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { @@ -10,9 +10,9 @@ "body": { "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", "name": "searchService", "type": "Microsoft.Search/searchServices/privateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", "properties": { "groupId": "searchService", "requiredMembers": [ @@ -26,56 +26,56 @@ "name": "blob", "properties": { "type": "Microsoft.Storage/storageAccounts", - "groupId": "blob", - "description": "Azure AI Search indexers can connect to blobs in Azure Storage for reading data from an indexer data source, for writing intermediate results of indexer execution or for storing any knowledge store projections." + "description": "Azure AI Search indexers can connect to blobs in Azure Storage for reading data from an indexer data source, for writing intermediate results of indexer execution or for storing any knowledge store projections.", + "groupId": "blob" } }, { "name": "table", "properties": { "type": "Microsoft.Storage/storageAccounts", - "groupId": "table", - "description": "Azure AI Search indexers can connect to tables in Azure Storage for reading data from an indexer data source, for writing intermediate results of indexer execution or for storing any knowledge store projections." + "description": "Azure AI Search indexers can connect to tables in Azure Storage for reading data from an indexer data source, for writing intermediate results of indexer execution or for storing any knowledge store projections.", + "groupId": "table" } }, { "name": "Sql", "properties": { "type": "Microsoft.DocumentDB/databaseAccounts", - "groupId": "Sql", - "description": "Azure AI Search indexers can connect to Azure Cosmos DB API for NoSQL for reading data from an indexer data source." + "description": "Azure AI Search indexers can connect to Azure Cosmos DB API for NoSQL for reading data from an indexer data source.", + "groupId": "Sql" } }, { "name": "plr", "properties": { "type": "Microsoft.Sql/servers", - "groupId": "sqlServer", - "description": "Azure AI Search indexers can connect to Azure SQL database on a server for reading data from an indexer data source." + "description": "Azure AI Search indexers can connect to Azure SQL database on a server for reading data from an indexer data source.", + "groupId": "sqlServer" } }, { "name": "vault", "properties": { "type": "Microsoft.KeyVault/vaults", - "groupId": "vault", - "description": "Azure AI Search can access keys in Azure Key Vault to encrypt sensitive data in a search index and synonym map data." + "description": "Azure AI Search can access keys in Azure Key Vault to encrypt sensitive data in a search index and synonym map data.", + "groupId": "vault" } }, { "name": "plr", "properties": { "type": "Microsoft.DBforMySQL/servers", - "groupId": "mysqlServer", - "description": "Azure AI Search indexers can connect to MySQL databases for reading data from an indexer data source." + "description": "Azure AI Search indexers can connect to MySQL databases for reading data from an indexer data source.", + "groupId": "mysqlServer" } }, { "name": "site", "properties": { "type": "Microsoft.Web/sites", - "groupId": "sites", - "description": "For custom skills that connect to an app service, you can specify sites as the group ID." + "description": "For custom skills that connect to an app service, you can specify sites as the group ID.", + "groupId": "sites" } } ] @@ -84,5 +84,7 @@ ] } } - } -} + }, + "operationId": "PrivateLinkResources_ListSupported", + "title": "ListSupportedPrivateLinkResources" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json index 47a73ea5b54e..3d971225f7db 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json @@ -1,45 +1,47 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2025-05-01", + "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", - "api-version": "2025-05-01" + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "name": "00000001-2222-3333-4444-111144444444.assoc1", "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "properties": { - "provisioningState": "Accepted", "networkSecurityPerimeter": { "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", "location": "westus" }, - "resourceAssociation": { - "name": "assoc1", - "accessMode": "Enforced" - }, "profile": { "name": "profile1", - "accessRulesVersion": 0, "accessRules": [ { "name": "rule1", "properties": { - "direction": "Inbound", "addressPrefixes": [ "148.0.0.0/8", "152.4.6.0/24" - ] + ], + "direction": "Inbound" } } - ] + ], + "accessRulesVersion": 0 + }, + "provisioningState": "Accepted", + "resourceAssociation": { + "name": "assoc1", + "accessMode": "Enforced" } } } } - } -} + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Get", + "title": "Get an NSP config by name" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json index 639377a2e5d3..d4bbd391f4d0 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json @@ -1,49 +1,51 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "api-version": "2025-05-01" + "subscriptionId": "subid" }, "responses": { "200": { "body": { + "nextLink": null, "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "name": "00000001-2222-3333-4444-111144444444.assoc1", "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "properties": { - "provisioningState": "Accepted", "networkSecurityPerimeter": { "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", "location": "westus" }, - "resourceAssociation": { - "name": "assoc1", - "accessMode": "Enforced" - }, "profile": { "name": "profile1", - "accessRulesVersion": 0, "accessRules": [ { "name": "rule1", "properties": { - "direction": "Inbound", "addressPrefixes": [ "148.0.0.0/8", "152.4.6.0/24" - ] + ], + "direction": "Inbound" } } - ] + ], + "accessRulesVersion": 0 + }, + "provisioningState": "Accepted", + "resourceAssociation": { + "name": "assoc1", + "accessMode": "Enforced" } } } - ], - "nextLink": null + ] } } - } -} + }, + "operationId": "NetworkSecurityPerimeterConfigurations_ListByService", + "title": "List NSP configs by search service" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json index e02fea9680ba..4f9204ed745e 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "subid", + "api-version": "2025-05-01", + "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", - "api-version": "2025-05-01" + "subscriptionId": "subid" }, "responses": { "202": { @@ -12,5 +12,7 @@ "Location": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/AsyncOperationResults/11111111-1111-1111-1111-111111111111" } } - } -} + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", + "title": "Reconcile NSP Config" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json index 61c3b353a8ac..34c3a8d3d47c 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json @@ -1,19 +1,21 @@ { "parameters": { "api-version": "2025-05-01", - "subscriptionId": "subid", "checkNameAvailabilityInput": { "name": "mysearchservice", "type": "searchServices" - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { + "message": "", "nameAvailable": false, - "reason": "AlreadyExists", - "message": "" + "reason": "AlreadyExists" } } - } -} + }, + "operationId": "Services_CheckNameAvailability", + "title": "SearchCheckNameAvailability" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json index e01c64f8e895..53e5fbf76cfa 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json @@ -1,125 +1,127 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 }, "sku": { "name": "standard" }, - "properties": { - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "Default", - "computeType": "Default" + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateService" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json index bcce6fdbb00b..eac1b2ba23fe 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json @@ -1,132 +1,134 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, "properties": { - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "Default", - "computeType": "Default", "authOptions": { "aadOrApiKey": { "aadAuthFailureMode": "http401WithBearerChallenge" } - } + }, + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, "authOptions": { "aadOrApiKey": { "aadAuthFailureMode": "http401WithBearerChallenge" } }, + "computeType": "Default", "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, "authOptions": { "aadOrApiKey": { "aadAuthFailureMode": "http401WithBearerChallenge" } }, + "computeType": "Default", "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceAuthOptions" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json index 9a21207615a3..0c17767e292c 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json @@ -1,122 +1,124 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" + "properties": { + "computeType": "Default", + "disableLocalAuth": true, + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 }, "sku": { "name": "standard" }, - "properties": { - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "Default", - "computeType": "Default", - "disableLocalAuth": true + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": null, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": true, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": true, - "authOptions": null, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": null, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": true, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": true, - "authOptions": null, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceDisableLocalAuth" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json index ca4486f07a4d..932139afbcdd 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -1,126 +1,128 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "publicNetworkAccess": "Disabled", + "replicaCount": 3 }, "sku": { "name": "standard" }, - "properties": { - "replicaCount": 3, - "partitionCount": 1, - "publicNetworkAccess": "Disabled", - "hostingMode": "Default", - "computeType": "Default" + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Disabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Disabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Disabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Disabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json index 803b39d80c64..05578585e37c 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -1,20 +1,13 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, "properties": { - "replicaCount": 1, - "partitionCount": 1, + "computeType": "Default", + "hostingMode": "Default", "networkRuleSet": { "ipRules": [ { @@ -25,34 +18,38 @@ } ] }, - "hostingMode": "Default", - "computeType": "Default" + "partitionCount": 1, + "replicaCount": 1 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 1, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { "ipRules": [ { @@ -63,52 +60,52 @@ } ] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 1, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { "ipRules": [ { @@ -119,29 +116,34 @@ } ] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json index b93a096e4c39..1aa4a899c2f5 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -1,21 +1,15 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, "properties": { - "replicaCount": 1, - "partitionCount": 1, + "computeType": "Default", + "hostingMode": "Default", "networkRuleSet": { + "bypass": "AzureServices", "ipRules": [ { "value": "123.4.5.6" @@ -23,38 +17,42 @@ { "value": "123.4.6.0/18" } - ], - "bypass": "AzureServices" + ] }, - "hostingMode": "Default", - "computeType": "Default" + "partitionCount": 1, + "replicaCount": 1 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 1, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { + "bypass": "AzureServices", "ipRules": [ { "value": "123.4.5.6" @@ -62,56 +60,56 @@ { "value": "123.4.6.0/18" } - ], - "bypass": "AzureServices" + ] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 1, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { + "bypass": "AzureServices", "ipRules": [ { "value": "123.4.5.6" @@ -119,32 +117,36 @@ { "value": "123.4.6.0/18" } - ], - "bypass": "AzureServices" + ] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json index 661ca9cce3a3..13e20ad23b2c 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json @@ -1,128 +1,130 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, "properties": { - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "Default", "computeType": "Default", "encryptionWithCmk": { "enforcement": "Enabled" - } + }, + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Enabled" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Enabled", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Enabled" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Enabled", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceWithCmkEnforcement" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json index be5f31c73f37..d60dc822414d 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json @@ -1,132 +1,134 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, "properties": { - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "Default", "computeType": "Default", "dataExfiltrationProtections": [ "BlockAll" - ] + ], + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, "authOptions": { "apiKeyOnly": {} }, + "computeType": "Default", "dataExfiltrationProtections": [ "BlockAll" ], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, "authOptions": { "apiKeyOnly": {} }, + "computeType": "Default", "dataExfiltrationProtections": [ "BlockAll" ], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceWithDataExfiltration" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json index eda973e9d225..b23e882fe612 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -1,72 +1,37 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { - "location": "westus", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, - "properties": { - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "Default", - "computeType": "Default" - }, "identity": { "type": "SystemAssigned, UserAssigned", "userAssignedIdentities": { "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/user-mi": {} } + }, + "location": "westus", + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3 + }, + "sku": { + "name": "standard" + }, + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, - "properties": { - "replicaCount": 3, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "identity": { "type": "SystemAssigned, UserAssigned", "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", @@ -78,56 +43,56 @@ } } }, + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, - "properties": { - "replicaCount": 3, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "identity": { "type": "SystemAssigned, UserAssigned", "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", @@ -139,15 +104,52 @@ } } }, + "location": "westus", + "properties": { + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" + }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateServiceWithIdentity" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json index 484215641127..aeaadaa2a807 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json @@ -1,128 +1,130 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "location": "westus", - "tags": { - "app-name": "My e-commerce app" + "properties": { + "computeType": "Default", + "hostingMode": "Default", + "partitionCount": 1, + "replicaCount": 3, + "semanticSearch": "free" }, "sku": { "name": "standard" }, - "properties": { - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "Default", - "computeType": "Default", - "semanticSearch": "free" + "tags": { + "app-name": "My e-commerce app" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, "semanticSearch": "free", - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } }, "201": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, "semanticSearch": "free", - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_CreateOrUpdate", + "title": "SearchCreateOrUpdateWithSemanticSearch" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json index 1ac92ddb8200..03ac3d554e4b 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json @@ -1,9 +1,9 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "name": "An API key granting read-only access to the documents collection of an index.", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { @@ -13,5 +13,7 @@ "key": "" } } - } -} + }, + "operationId": "QueryKeys_Create", + "title": "SearchCreateQueryKey" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json index 4aec4a0fd2b4..385de1a5b566 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json @@ -1,14 +1,16 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "key": "", "api-version": "2025-05-01", + "key": "", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { "200": {}, "204": {}, "404": {} - } -} + }, + "operationId": "QueryKeys_Delete", + "title": "SearchDeleteQueryKey" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json index f6a3790a1d07..b538617bf7e8 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json @@ -1,13 +1,15 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { "200": {}, "204": {}, "404": {} - } -} + }, + "operationId": "Services_Delete", + "title": "SearchDeleteService" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json index 01495585086e..80112739e201 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json @@ -1,8 +1,8 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { @@ -12,5 +12,7 @@ "secondaryKey": "" } } - } -} + }, + "operationId": "AdminKeys_Get", + "title": "SearchGetAdminKeys" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json index 544735dc8ddf..19105690af9b 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json @@ -1,60 +1,62 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": "2025-05-01T00:00:00Z", "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": "2025-05-01T00:00:00Z" + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } } - } -} + }, + "operationId": "Services_Get", + "title": "SearchGetService" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json index 31a488853286..4bcce96f1a49 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json @@ -8,553 +8,555 @@ "value": [ { "name": "Microsoft.Search/operations/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Lists all of the available operations of the Microsoft.Search provider.", "operation": "List all available operations", - "description": "Lists all of the available operations of the Microsoft.Search provider." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/register/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Registers the subscription for the search resource provider and enables the creation of search services.", "operation": "Register the Search Resource Provider", - "description": "Registers the subscription for the search resource provider and enables the creation of search services." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Creates or updates the search service.", "operation": "Set Search Service", - "description": "Creates or updates the search service." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Reads the search service.", "operation": "Get Search Service", - "description": "Reads the search service." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Deletes the search service.", "operation": "Delete Search Service", - "description": "Deletes the search service." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/start/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Starts the search service.", "operation": "Start Search Service", - "description": "Starts the search service." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/stop/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Stops the search service.", "operation": "Stop Search Service", - "description": "Stops the search service." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/listAdminKeys/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Reads the admin keys.", "operation": "Get Admin Key", - "description": "Reads the admin keys." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/regenerateAdminKey/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Regenerates the admin key.", "operation": "Regenerate Admin Key", - "description": "Regenerates the admin key." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/listQueryKeys/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "API Keys", + "description": "Returns the list of query API keys for the given Azure AI Search service.", "operation": "Get Query Keys", - "description": "Returns the list of query API keys for the given Azure AI Search service." + "provider": "Microsoft Search", + "resource": "API Keys" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/createQueryKey/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Search Services", + "description": "Creates the query key.", "operation": "Create Query Key", - "description": "Creates the query key." + "provider": "Microsoft Search", + "resource": "Search Services" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/deleteQueryKey/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "API Keys", + "description": "Deletes the query key.", "operation": "Delete Query Key", - "description": "Deletes the query key." + "provider": "Microsoft Search", + "resource": "API Keys" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/checkNameAvailability/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Service Name Availability", + "description": "Checks availability of the service name.", "operation": "Check Service Name Availability", - "description": "Checks availability of the service name." + "provider": "Microsoft Search", + "resource": "Service Name Availability" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/diagnosticSettings/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Diagnostic Settings", + "description": "Gets the diganostic setting for the resource.", "operation": "Get Diagnostic Setting", - "description": "Gets the diganostic setting for the resource." + "provider": "Microsoft Search", + "resource": "Diagnostic Settings" }, + "isDataAction": false, "origin": "system" }, { "name": "Microsoft.Search/searchServices/diagnosticSettings/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Diagnostic Settings", + "description": "Creates or updates the diganostic setting for the resource.", "operation": "Set Diagnostic Setting", - "description": "Creates or updates the diganostic setting for the resource." + "provider": "Microsoft Search", + "resource": "Diagnostic Settings" }, + "isDataAction": false, "origin": "system" }, { "name": "Microsoft.Search/searchServices/metricDefinitions/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "The metric definitions for the search service", + "description": "Gets the available metrics for the search service.", "operation": "Read search service metric definitions", - "description": "Gets the available metrics for the search service." + "provider": "Microsoft Search", + "resource": "The metric definitions for the search service" }, + "isDataAction": false, "origin": "system" }, { "name": "Microsoft.Search/searchServices/logDefinitions/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "The log definition for the search service", + "description": "Gets the available logs for the search service.", "operation": "Read search service log definitions", - "description": "Gets the available logs for the search service." + "provider": "Microsoft Search", + "resource": "The log definition for the search service" }, + "isDataAction": false, "origin": "system" }, { "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/validate/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Private Endpoint Connection Proxy", + "description": "Validates a private endpoint connection create call from NRP (Microsoft.Network Resource Provider) side.", "operation": "Validate Private Endpoint Connection Proxy", - "description": "Validates a private endpoint connection create call from NRP (Microsoft.Network Resource Provider) side." + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Private Endpoint Connection Proxy", + "description": "Creates a private endpoint connection proxy with the specified parameters or updates the properties or tags for the specified private endpoint connection proxy.", "operation": "Create Private Endpoint Connection Proxy", - "description": "Creates a private endpoint connection proxy with the specified parameters or updates the properties or tags for the specified private endpoint connection proxy." + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Private Endpoint Connection Proxy", + "description": "Returns the list of private endpoint connection proxies or gets the properties for the specified private endpoint connection proxy.", "operation": "Get Private Endpoint Connection Proxy", - "description": "Returns the list of private endpoint connection proxies or gets the properties for the specified private endpoint connection proxy." + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Private Endpoint Connection Proxy", + "description": "Deletes an existing private endpoint connection proxy.", "operation": "Delete Private Endpoint Connection Proxy", - "description": "Deletes an existing private endpoint connection proxy." + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/privateEndpointConnections/write", "display": { - "provider": "Microsoft Search", - "resource": "Private Endpoint Connection", + "description": "Creates a private endpoint connection with the specified parameters or updates the properties or tags for the specified private endpoint connections.", "operation": "Create Private Endpoint Connection", - "description": "Creates a private endpoint connection with the specified parameters or updates the properties or tags for the specified private endpoint connections." + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection" }, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/privateEndpointConnections/read", "display": { - "provider": "Microsoft Search", - "resource": "Private Endpoint Connection", + "description": "Returns the list of private endpoint connections or gets the properties for the specified private endpoint connection.", "operation": "Get Private Endpoint Connection", - "description": "Returns the list of private endpoint connections or gets the properties for the specified private endpoint connection." + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection" }, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/privateEndpointConnections/delete", "display": { - "provider": "Microsoft Search", - "resource": "Private Endpoint Connection", + "description": "Deletes an existing private endpoint connection.", "operation": "Delete Private Endpoint Connection", - "description": "Deletes an existing private endpoint connection." + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection" }, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Shared Private Link Resource", + "description": "Creates a new shared private link resource with the specified parameters or updates the properties for the specified shared private link resource.", "operation": "Create Shared Private Link Resource", - "description": "Creates a new shared private link resource with the specified parameters or updates the properties for the specified shared private link resource." + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Shared Private Link Resource", + "description": "Returns the list of shared private link resources or gets the properties for the specified shared private link resource.", "operation": "Get Shared Private Link Resource", - "description": "Returns the list of shared private link resources or gets the properties for the specified shared private link resource." + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Shared Private Link Resource", + "description": "Deletes an existing shared private link resource.", "operation": "Delete Shared Private Link Resource", - "description": "Deletes an existing shared private link resource." + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/operationStatuses/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Shared Private Link Resource", + "description": "Get the details of a long running shared private link resource operation.", "operation": "Get Operation Status", - "description": "Get the details of a long running shared private link resource operation." + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexes/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Indexes", + "description": "Return an index or its statistics, return a list of indexes or their statistics, or test the lexical analysis components of an index.", "operation": "Read Index", - "description": "Return an index or its statistics, return a list of indexes or their statistics, or test the lexical analysis components of an index." + "provider": "Microsoft Search", + "resource": "Indexes" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexes/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Indexes", + "description": "Create an index or modify its properties.", "operation": "Create or Update Index", - "description": "Create an index or modify its properties." + "provider": "Microsoft Search", + "resource": "Indexes" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexes/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Indexes", + "description": "Delete an index.", "operation": "Delete Index", - "description": "Delete an index." + "provider": "Microsoft Search", + "resource": "Indexes" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/synonymMaps/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Synonym Maps", + "description": "Return a synonym map or a list of synonym maps.", "operation": "Read Synonym Map", - "description": "Return a synonym map or a list of synonym maps." + "provider": "Microsoft Search", + "resource": "Synonym Maps" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/synonymMaps/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Synonym Maps", + "description": "Create a synonym map or modify its properties.", "operation": "Create or Update Synonym Map", - "description": "Create a synonym map or modify its properties." + "provider": "Microsoft Search", + "resource": "Synonym Maps" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/synonymMaps/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Synonym Maps", + "description": "Delete a synonym map.", "operation": "Delete Synonym Map", - "description": "Delete a synonym map." + "provider": "Microsoft Search", + "resource": "Synonym Maps" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/dataSources/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Data Sources", + "description": "Return a data source or a list of data sources.", "operation": "Read Data Source", - "description": "Return a data source or a list of data sources." + "provider": "Microsoft Search", + "resource": "Data Sources" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/dataSources/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Data Sources", + "description": "Create a data source or modify its properties.", "operation": "Create or Update Data Source", - "description": "Create a data source or modify its properties." + "provider": "Microsoft Search", + "resource": "Data Sources" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/dataSources/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Data Sources", + "description": "Delete a data source.", "operation": "Delete Data Source", - "description": "Delete a data source." + "provider": "Microsoft Search", + "resource": "Data Sources" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/skillsets/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Skillsets", + "description": "Return a skillset or a list of skillsets.", "operation": "Read Skillset", - "description": "Return a skillset or a list of skillsets." + "provider": "Microsoft Search", + "resource": "Skillsets" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/skillsets/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Skillsets", + "description": "Create a skillset or modify its properties.", "operation": "Create or Update Skillset", - "description": "Create a skillset or modify its properties." + "provider": "Microsoft Search", + "resource": "Skillsets" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/skillsets/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Skillsets", + "description": "Delete a skillset.", "operation": "Delete Skillset", - "description": "Delete a skillset." + "provider": "Microsoft Search", + "resource": "Skillsets" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexers/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Indexers", + "description": "Return an indexer or its status, or return a list of indexers or their statuses.", "operation": "Read Indexer", - "description": "Return an indexer or its status, or return a list of indexers or their statuses." + "provider": "Microsoft Search", + "resource": "Indexers" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexers/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Indexers", + "description": "Create an indexer, modify its properties, or manage its execution.", "operation": "Create or Manage Indexer", - "description": "Create an indexer, modify its properties, or manage its execution." + "provider": "Microsoft Search", + "resource": "Indexers" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexers/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Indexers", + "description": "Delete an indexer.", "operation": "Delete Indexer", - "description": "Delete an indexer." + "provider": "Microsoft Search", + "resource": "Indexers" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/debugSessions/read", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Debug Sessions", + "description": "Return a debug session or a list of debug sessions.", "operation": "Read Debug Session", - "description": "Return a debug session or a list of debug sessions." + "provider": "Microsoft Search", + "resource": "Debug Sessions" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/debugSessions/write", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Debug Sessions", + "description": "Create a debug session or modify its properties.", "operation": "Create or Update Debug Session", - "description": "Create a debug session or modify its properties." + "provider": "Microsoft Search", + "resource": "Debug Sessions" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/debugSessions/delete", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Debug Sessions", + "description": "Delete a debug session.", "operation": "Delete Debug Session", - "description": "Delete a debug session." + "provider": "Microsoft Search", + "resource": "Debug Sessions" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/debugSessions/execute/action", - "isDataAction": false, "display": { - "provider": "Microsoft Search", - "resource": "Debug Sessions", + "description": "Use a debug session, get execution data, or evaluate expressions on it.", "operation": "Execute Debug Session", - "description": "Use a debug session, get execution data, or evaluate expressions on it." + "provider": "Microsoft Search", + "resource": "Debug Sessions" }, + "isDataAction": false, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexes/documents/read", - "isDataAction": true, "display": { - "provider": "Microsoft Search", - "resource": "Documents", + "description": "Read documents or suggested query terms from an index.", "operation": "Read Documents", - "description": "Read documents or suggested query terms from an index." + "provider": "Microsoft Search", + "resource": "Documents" }, + "isDataAction": true, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexes/documents/write", - "isDataAction": true, "display": { - "provider": "Microsoft Search", - "resource": "Documents", + "description": "Upload documents to an index or modify existing documents.", "operation": "Write Documents", - "description": "Upload documents to an index or modify existing documents." + "provider": "Microsoft Search", + "resource": "Documents" }, + "isDataAction": true, "origin": "user,system" }, { "name": "Microsoft.Search/searchServices/indexes/documents/delete", - "isDataAction": true, "display": { - "provider": "Microsoft Search", - "resource": "Documents", + "description": "Delete documents from an index.", "operation": "Delete Documents", - "description": "Delete documents from an index." + "provider": "Microsoft Search", + "resource": "Documents" }, + "isDataAction": true, "origin": "user,system" } ] } } - } -} + }, + "operationId": "Operations_List", + "title": "SearchListOperations" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json index 38050f42f7b4..b1bff6c97cdf 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json @@ -1,8 +1,8 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { @@ -20,5 +20,7 @@ ] } } - } -} + }, + "operationId": "QueryKeys_ListBySearchService", + "title": "SearchListQueryKeysBySearchService" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json index 851b6444e9ff..b4ffcbae5991 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json @@ -1,7 +1,7 @@ { "parameters": { - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", "subscriptionId": "subid" }, "responses": { @@ -9,103 +9,105 @@ "body": { "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } }, { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", "name": "mysearchservice2", - "location": "eastus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "basic" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "location": "eastus", "properties": { - "replicaCount": 1, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "basic" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } ] } } - } -} + }, + "operationId": "Services_ListByResourceGroup", + "title": "SearchListServicesByResourceGroup" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json index 84f46eadae8f..d609bdc65b79 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json @@ -8,103 +8,105 @@ "body": { "value": [ { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } }, { - "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", "name": "mysearchservice2", - "location": "eastus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "basic" - }, + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "location": "eastus", "properties": { - "replicaCount": 1, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "basic" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app" } } ] } } - } -} + }, + "operationId": "Services_ListBySubscription", + "title": "SearchListServicesBySubscription" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json index 2af5bd6d9710..022b4ad4aa7b 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json @@ -1,9 +1,9 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "keyKind": "primary", "api-version": "2025-05-01", + "keyKind": "primary", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { @@ -13,5 +13,7 @@ "secondaryKey": "" } } - } -} + }, + "operationId": "AdminKeys_Regenerate", + "title": "SearchRegenerateAdminKey" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json index 302850c7826a..3bee46e004dd 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json @@ -1,70 +1,72 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { + "properties": { + "replicaCount": 2 + }, "tags": { "app-name": "My e-commerce app", "new-tag": "Adding a new tag" - }, - "properties": { - "replicaCount": 2 } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 2, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateService" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json index 566468931ba1..f5d23f027e39 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json @@ -1,76 +1,78 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, "properties": { - "replicaCount": 2, "authOptions": { "aadOrApiKey": { "aadAuthFailureMode": "http401WithBearerChallenge" } - } + }, + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 2, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, "authOptions": { "aadOrApiKey": { "aadAuthFailureMode": "http401WithBearerChallenge" } }, + "computeType": "Default", "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceAuthOptions" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json index e6e914e4c5be..efa9b7092345 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json @@ -1,69 +1,71 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { + "properties": { + "disableLocalAuth": true, + "replicaCount": 2 + }, "tags": { "app-name": "My e-commerce app", "new-tag": "Adding a new tag" - }, - "properties": { - "replicaCount": 2, - "disableLocalAuth": true } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 2, - "partitionCount": 1, + "authOptions": null, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": true, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": true, - "authOptions": null, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceDisableLocalAuth" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json index e701cf691adc..754754b96c2d 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -1,68 +1,70 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "properties": { - "replicaCount": 1, "partitionCount": 1, - "publicNetworkAccess": "Disabled" + "publicNetworkAccess": "Disabled", + "replicaCount": 1 } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "basic" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 1, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Disabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Disabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "basic" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToAllowAccessFromPrivateEndpoints" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json index 83c984cb8e72..2ddb65b9646e 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -1,14 +1,10 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "properties": { - "replicaCount": 3, - "partitionCount": 1, - "publicNetworkAccess": "Enabled", "networkRuleSet": { "ipRules": [ { @@ -18,34 +14,34 @@ "value": "123.4.6.0/18" } ] - } + }, + "partitionCount": 1, + "publicNetworkAccess": "Enabled", + "replicaCount": 3 } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { "ipRules": [ { @@ -53,29 +49,35 @@ } ] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPs" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json index 7728aee5dc65..8f8f48d58805 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -1,15 +1,12 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { "properties": { - "replicaCount": 3, - "partitionCount": 1, - "publicNetworkAccess": "Enabled", "networkRuleSet": { + "bypass": "AzureServices", "ipRules": [ { "value": "123.4.5.6" @@ -17,67 +14,72 @@ { "value": "123.4.6.0/18" } - ], - "bypass": "AzureServices" - } + ] + }, + "partitionCount": 1, + "publicNetworkAccess": "Enabled", + "replicaCount": 3 } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { + "bypass": "AzureServices", "ipRules": [ { "value": "10.2.3.4" } - ], - "bypass": "AzureServices" + ] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json index dabf502b9cb4..40bfae3c2a11 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json @@ -1,66 +1,68 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { - "sku": { - "name": "standard" - }, "identity": { "type": "None" + }, + "sku": { + "name": "standard" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": {}, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 3, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "running", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 3, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" - } + "lastModifiedByType": "User" + }, + "tags": {} } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceToRemoveIdentity" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json index 5992c024baca..4f3e77bc1d94 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json @@ -1,73 +1,75 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, "properties": { - "replicaCount": 2, "encryptionWithCmk": { "enforcement": "Enabled" - } + }, + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 2, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Enabled" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Enabled", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithCmkEnforcement" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json index 1c7eaa4aedad..446dc4a38006 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json @@ -1,75 +1,77 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, "properties": { - "replicaCount": 2, "dataExfiltrationProtections": [ "BlockAll" - ] + ], + "replicaCount": 2 + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 2, - "partitionCount": 1, - "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", - "networkRuleSet": { - "ipRules": [], - "bypass": "None" - }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, "authOptions": { "apiKeyOnly": {} }, + "computeType": "Default", "dataExfiltrationProtections": [ "BlockAll" ], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "endpoint": "https://mysearchservice.search.windows.net/", + "hostingMode": "Default", + "networkRuleSet": { + "bypass": "None", + "ipRules": [] + }, + "partitionCount": 1, + "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithDataExfiltration" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json index d15e212d312e..cb6272d8d6d3 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json @@ -1,72 +1,74 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, "properties": { "replicaCount": 2, "semanticSearch": "standard" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 2, - "partitionCount": 1, + "authOptions": { + "apiKeyOnly": {} + }, + "computeType": "Default", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, "endpoint": "https://mysearchservice.search.windows.net/", - "status": "provisioning", - "statusDetails": "", "hostingMode": "Default", - "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], - "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 2, "semanticSearch": "standard", - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "serviceUpgradedAt": null, + "sharedPrivateLinkResources": [], + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithSemanticSearch" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json index e3d12a28c0e0..ecc53bc52875 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json @@ -1,69 +1,71 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "service": { + "sku": { + "name": "standard2" + }, "tags": { "app-name": "My e-commerce app", "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard2" } - } + }, + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard2" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 1, - "partitionCount": 1, - "status": "provisioning", - "statusDetails": "", - "hostingMode": "Default", + "authOptions": { + "apiKeyOnly": {} + }, "computeType": "Default", - "provisioningState": "provisioning", - "publicNetworkAccess": "Enabled", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "hostingMode": "Default", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "provisioning", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": null, "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": null + "status": "provisioning", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard2" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } } - } -} + }, + "operationId": "Services_Update", + "title": "SearchUpdateServiceWithSku" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json index c95304675157..b8eec74e728e 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json @@ -1,36 +1,38 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", - "subscriptionId": "subid", - "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "privateEndpointConnection": { "properties": { "privateLinkServiceConnectionState": { - "status": "Rejected", - "description": "Rejected for some reason." + "description": "Rejected for some reason.", + "status": "Rejected" } } - } + }, + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { - "status": "Rejected", "description": "Rejected for some reason.", - "actionsRequired": "None" + "actionsRequired": "None", + "status": "Rejected" } } } } - } -} + }, + "operationId": "PrivateEndpointConnections_Update", + "title": "PrivateEndpointConnectionUpdate" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json index 17881d46412e..ec57704ba540 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json @@ -1,65 +1,67 @@ { "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", "api-version": "2025-05-01", + "resourceGroupName": "rg1", + "searchServiceName": "mysearchservice", "subscriptionId": "subid" }, "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/operationResults/11111111-1111-1111-1111-111111111111?api-version=2025-05-01" - } - }, "200": { "body": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "name": "mysearchservice", - "location": "westus", "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app", - "new-tag": "Adding a new tag" - }, - "sku": { - "name": "standard" - }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "location": "westus", "properties": { - "replicaCount": 1, - "partitionCount": 1, - "status": "running", - "statusDetails": "", - "hostingMode": "Default", + "authOptions": { + "apiKeyOnly": {} + }, "computeType": "Default", - "provisioningState": "succeeded", - "publicNetworkAccess": "Enabled", + "dataExfiltrationProtections": [], + "disableLocalAuth": false, + "encryptionWithCmk": { + "encryptionComplianceStatus": "Compliant", + "enforcement": "Unspecified" + }, + "hostingMode": "Default", "networkRuleSet": { - "ipRules": [], - "bypass": "None" + "bypass": "None", + "ipRules": [] }, + "partitionCount": 1, "privateEndpointConnections": [], + "provisioningState": "succeeded", + "publicNetworkAccess": "Enabled", + "replicaCount": 1, + "serviceUpgradedAt": "2025-05-01T00:00:00Z", "sharedPrivateLinkResources": [], - "encryptionWithCmk": { - "enforcement": "Unspecified", - "encryptionComplianceStatus": "Compliant" - }, - "disableLocalAuth": false, - "authOptions": { - "apiKeyOnly": {} - }, - "dataExfiltrationProtections": [], - "upgradeAvailable": "notAvailable", - "serviceUpgradedAt": "2025-05-01T00:00:00Z" + "status": "running", + "statusDetails": "", + "upgradeAvailable": "notAvailable" + }, + "sku": { + "name": "standard" }, "systemData": { + "createdAt": "2024-01-01T00:00:00Z", "createdBy": "My e-commerce app", "createdByType": "Application", - "createdAt": "2024-01-01T00:00:00Z", + "lastModifiedAt": "2024-11-01T00:00:00Z", "lastModifiedBy": "fakeuser@contoso.com", - "lastModifiedByType": "User", - "lastModifiedAt": "2024-11-01T00:00:00Z" + "lastModifiedByType": "User" + }, + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" } } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/operationResults/11111111-1111-1111-1111-111111111111?api-version=2025-05-01" + } } - } -} + }, + "operationId": "Services_Upgrade", + "title": "UpgradeSearchServiceToLatestVersion" +} \ No newline at end of file diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json index 38c2eb6b923c..9ce37813b418 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json @@ -2,17 +2,22 @@ "swagger": "2.0", "info": { "title": "SearchManagementClient", + "version": "2025-05-01", "description": "Client that can be used to manage Azure AI Search services and API keys.", - "version": "2025-05-01" + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], "security": [ @@ -25,1865 +30,2314 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", - "description": "Specifies an implicit grant flow, as supported on the Microsoft Identity platform.", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "SearchServices" + }, + { + "name": "PrivateEndpointConnections" + }, + { + "name": "SharedPrivateLinkResources" + }, + { + "name": "NetworkSecurityPerimeterConfigurations" + } + ], "paths": { "/providers/Microsoft.Search/operations": { "get": { + "operationId": "Operations_List", "tags": [ "Operations" ], "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", - "operationId": "Operations_List", - "x-ms-examples": { - "SearchListOperations": { - "$ref": "./examples/SearchListOperations.json" - } - }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "Success. The response describes the list of operations.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { - "description": "Operations API failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, + "x-ms-examples": { + "SearchListOperations": { + "$ref": "./examples/SearchListOperations.json" + } + }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { "post": { - "tags": [ - "AdminKeys" - ], - "operationId": "AdminKeys_Get", - "x-ms-examples": { - "SearchGetAdminKeys": { - "$ref": "./examples/SearchGetAdminKeys.json" - } - }, - "description": "Gets the primary and secondary admin API keys for the specified Azure AI Search service.", + "operationId": "Services_CheckNameAvailability", + "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "The request body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } } ], "responses": { "200": { - "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure AI Search service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/AdminKeyResult" + "$ref": "#/definitions/CheckNameAvailabilityOutput" } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "SearchCheckNameAvailability": { + "$ref": "./examples/SearchCheckNameAvailability.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { - "post": { - "tags": [ - "AdminKeys" - ], - "operationId": "AdminKeys_Regenerate", - "x-ms-examples": { - "SearchRegenerateAdminKey": { - "$ref": "./examples/SearchRegenerateAdminKey.json" - } - }, - "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages": { + "get": { + "operationId": "Usages_ListBySubscription", + "description": "Get a list of all Azure AI Search quota usages across the subscription.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "keyKind", - "in": "path", - "required": true, + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, "type": "string", - "enum": [ - "primary", - "secondary" - ], - "x-ms-enum": { - "name": "AdminKeyKind", - "modelAsString": false, - "values": [ - { - "value": "primary", - "name": "Primary", - "description": "The primary API key for the search service." - }, - { - "value": "secondary", - "name": "Secondary", - "description": "The secondary API key for the search service." - } - ] - }, - "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "format": "uuid", + "x-ms-client-name": "clientRequestId" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/AdminKeyResult" + "$ref": "#/definitions/QuotaUsagesListResult" } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { - "post": { - "tags": [ - "QueryKeys" - ], - "operationId": "QueryKeys_Create", + }, "x-ms-examples": { - "SearchCreateQueryKey": { - "$ref": "./examples/SearchCreateQueryKey.json" + "GetQuotaUsagesList": { + "$ref": "./examples/GetQuotaUsagesList.json" } }, - "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}": { + "get": { + "operationId": "UsageBySubscriptionSku", + "description": "Gets the quota usage for a search SKU in the given subscription.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "name": "name", - "in": "path", - "required": true, + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, "type": "string", - "description": "The name of the new query API key." + "format": "uuid", + "x-ms-client-name": "clientRequestId" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "skuName", + "in": "path", + "description": "The unique SKU name that identifies a billable tier.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure AI Search service REST API or SDK to perform read-only operations on your search indexes such as querying and looking up documents by ID.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/QueryKey" + "$ref": "#/definitions/QuotaUsageResult" } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "GetQuotaUsage": { + "$ref": "./examples/GetQuotaUsage.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { + "get": { + "operationId": "Services_ListBySubscription", "tags": [ - "QueryKeys" + "SearchServices" ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "QueryKeys_ListBySearchService", - "x-ms-examples": { - "SearchListQueryKeysBySearchService": { - "$ref": "./examples/SearchListQueryKeysBySearchService.json" - } - }, - "description": "Returns the list of query API keys for the given Azure AI Search service.", + "description": "Gets a list of all Search services in the given subscription.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure AI Search Service REST API or SDK to perform read-only operations on your search indexes such as querying and looking up documents by ID.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/ListQueryKeysResult" + "$ref": "#/definitions/SearchServiceListResult" } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "SearchListServicesBySubscription": { + "$ref": "./examples/SearchListServicesBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { - "delete": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": { + "get": { + "operationId": "Services_ListByResourceGroup", "tags": [ - "QueryKeys" + "SearchServices" ], - "operationId": "QueryKeys_Delete", - "x-ms-examples": { - "SearchDeleteQueryKey": { - "$ref": "./examples/SearchDeleteQueryKey.json" - } - }, - "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", + "description": "Gets a list of all Search services in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "name": "key", - "in": "path", - "required": true, - "type": "string", - "description": "The query key to be deleted. Query keys are identified by value, not by name." + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The query key was successfully deleted." - }, - "204": { - "description": "The query key was successfully deleted." - }, - "404": { - "description": "The subscription, resource group, search service, or query key could not be found." + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } }, "default": { - "description": "HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "SearchListServicesByResourceGroup": { + "$ref": "./examples/SearchListServicesByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}": { - "put": { + "get": { + "operationId": "Services_Get", "tags": [ - "Services" + "SearchServices" ], - "operationId": "Services_CreateOrUpdate", - "x-ms-examples": { - "SearchCreateOrUpdateService": { - "$ref": "./examples/SearchCreateOrUpdateService.json" - }, - "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { - "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" - }, - "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass": { - "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json" - }, - "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { - "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" - }, - "SearchCreateOrUpdateServiceWithIdentity": { - "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json" - }, - "SearchCreateOrUpdateServiceAuthOptions": { - "$ref": "./examples/SearchCreateOrUpdateServiceAuthOptions.json" - }, - "SearchCreateOrUpdateServiceDisableLocalAuth": { - "$ref": "./examples/SearchCreateOrUpdateServiceDisableLocalAuth.json" - }, - "SearchCreateOrUpdateServiceWithCmkEnforcement": { - "$ref": "./examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json" - }, - "SearchCreateOrUpdateServiceWithDataExfiltration": { - "$ref": "./examples/SearchCreateOrUpdateServiceWithDataExfiltration.json" - }, - "SearchCreateOrUpdateWithSemanticSearch": { - "$ref": "./examples/SearchCreateOrUpdateWithSemanticSearch.json" - } - }, - "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", + "description": "Gets the search service with the given name in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "searchServiceName", "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "required": true, "type": "string", - "description": "The name of the Azure AI Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created." + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "name": "service", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SearchService" - }, - "description": "The definition of the search service to create or update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can check the status of a scale operation through the provisioningState property returned in the response for a Get Service request.", - "schema": { - "$ref": "#/definitions/SearchService" - } - }, - "201": { - "description": "If you requested creation of a free search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can check the status of a scale operation through the provisioningState property returned in the response for a Get Service request.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SearchService" } }, "default": { - "description": "HTTP 400 (Bad Request): The given service name or service definition is invalid. See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "SearchGetService": { + "$ref": "./examples/SearchGetService.json" + } + } }, - "patch": { + "put": { + "operationId": "Services_CreateOrUpdate", "tags": [ - "Services" + "SearchServices" ], - "operationId": "Services_Update", - "x-ms-examples": { - "SearchUpdateService": { - "$ref": "./examples/SearchUpdateService.json" - }, - "SearchUpdateServiceToRemoveIdentity": { - "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json" - }, - "SearchUpdateServiceToAllowAccessFromPublicCustomIPs": { - "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" - }, - "SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass": { - "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json" - }, - "SearchUpdateServiceToAllowAccessFromPrivateEndpoints": { - "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" - }, - "SearchUpdateServiceAuthOptions": { - "$ref": "./examples/SearchUpdateServiceAuthOptions.json" - }, - "SearchUpdateServiceDisableLocalAuth": { - "$ref": "./examples/SearchUpdateServiceDisableLocalAuth.json" - }, - "SearchUpdateServiceWithCmkEnforcement": { - "$ref": "./examples/SearchUpdateServiceWithCmkEnforcement.json" - }, - "SearchUpdateServiceWithDataExfiltration": { - "$ref": "./examples/SearchUpdateServiceWithDataExfiltration.json" - }, - "SearchUpdateServiceWithSemanticSearch": { - "$ref": "./examples/SearchUpdateServiceWithSemanticSearch.json" - }, - "SearchUpdateServiceWithSku": { - "$ref": "./examples/SearchUpdateServiceWithSku.json" - } - }, - "description": "Updates an existing search service in the given resource group.", + "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "searchServiceName", "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "required": true, "type": "string", - "description": "The name of the Azure AI Search service to update." + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" }, { "name": "service", "in": "body", + "description": "The definition of the search service to create or update.", "required": true, "schema": { - "$ref": "#/definitions/SearchServiceUpdate" - }, - "description": "The definition of the search service to update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/definitions/SearchService" + } } ], "responses": { "200": { - "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can check the status of a scale operation through the provisioningState property returned in the response for a Get Service request.", + "description": "Resource 'SearchService' update operation succeeded", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "201": { + "description": "Resource 'SearchService' create operation succeeded", "schema": { "$ref": "#/definitions/SearchService" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable. See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } - }, - "get": { - "tags": [ - "Services" - ], - "operationId": "Services_Get", + }, "x-ms-examples": { - "SearchGetService": { - "$ref": "./examples/SearchGetService.json" + "SearchCreateOrUpdateService": { + "$ref": "./examples/SearchCreateOrUpdateService.json" + }, + "SearchCreateOrUpdateServiceAuthOptions": { + "$ref": "./examples/SearchCreateOrUpdateServiceAuthOptions.json" + }, + "SearchCreateOrUpdateServiceDisableLocalAuth": { + "$ref": "./examples/SearchCreateOrUpdateServiceDisableLocalAuth.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json" + }, + "SearchCreateOrUpdateServiceWithCmkEnforcement": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json" + }, + "SearchCreateOrUpdateServiceWithDataExfiltration": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithDataExfiltration.json" + }, + "SearchCreateOrUpdateServiceWithIdentity": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json" + }, + "SearchCreateOrUpdateWithSemanticSearch": { + "$ref": "./examples/SearchCreateOrUpdateWithSemanticSearch.json" } }, - "description": "Gets the search service with the given name in the given resource group.", + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/SearchService" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Services_Update", + "tags": [ + "SearchServices" + ], + "description": "Updates an existing search service in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "service", + "in": "body", + "description": "The definition of the search service to update.", + "required": true, + "schema": { + "$ref": "#/definitions/SearchServiceUpdate" + } } ], "responses": { "200": { - "description": "The search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SearchService" } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or search service name could not be found.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "SearchUpdateService": { + "$ref": "./examples/SearchUpdateService.json" + }, + "SearchUpdateServiceAuthOptions": { + "$ref": "./examples/SearchUpdateServiceAuthOptions.json" + }, + "SearchUpdateServiceDisableLocalAuth": { + "$ref": "./examples/SearchUpdateServiceDisableLocalAuth.json" + }, + "SearchUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" + }, + "SearchUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json" + }, + "SearchUpdateServiceToRemoveIdentity": { + "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json" + }, + "SearchUpdateServiceWithCmkEnforcement": { + "$ref": "./examples/SearchUpdateServiceWithCmkEnforcement.json" + }, + "SearchUpdateServiceWithDataExfiltration": { + "$ref": "./examples/SearchUpdateServiceWithDataExfiltration.json" + }, + "SearchUpdateServiceWithSemanticSearch": { + "$ref": "./examples/SearchUpdateServiceWithSemanticSearch.json" + }, + "SearchUpdateServiceWithSku": { + "$ref": "./examples/SearchUpdateServiceWithSku.json" + } } }, "delete": { + "operationId": "Services_Delete", "tags": [ - "Services" + "SearchServices" ], - "operationId": "Services_Delete", - "x-ms-examples": { - "SearchDeleteService": { - "$ref": "./examples/SearchDeleteService.json" - } - }, "description": "Deletes a search service in the given resource group, along with its associated resources.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The search service was successfully deleted." + "description": "The request has succeeded." }, "204": { - "description": "The search service was successfully deleted." + "description": "There is no content to send for this request, but the headers may be useful." }, "404": { - "description": "The subscription, resource group, or search service could not be found." + "description": "The server cannot find the requested resource." }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "SearchDeleteService": { + "$ref": "./examples/SearchDeleteService.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { + "post": { + "operationId": "AdminKeys_Get", "tags": [ - "Services" + "SearchServices" ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "Services_ListByResourceGroup", - "x-ms-examples": { - "SearchListServicesByResourceGroup": { - "$ref": "./examples/SearchListServicesByResourceGroup.json" - } - }, - "description": "Gets a list of all Search services in the given resource group.", + "description": "Gets the primary and secondary admin API keys for the specified Azure AI Search service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The operation succeeded. The response contains the list of all search service definitions for the given resource group.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SearchServiceListResult" + "$ref": "#/definitions/AdminKeyResult" } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "SearchGetAdminKeys": { + "$ref": "./examples/SearchGetAdminKeys.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": { + "post": { + "operationId": "QueryKeys_ListBySearchService", "tags": [ - "PrivateLinkResources" + "SearchServices" ], - "x-ms-pageable": { - "nextLinkName": null - }, - "operationId": "PrivateLinkResources_ListSupported", - "x-ms-examples": { - "ListSupportedPrivateLinkResources": { - "$ref": "./examples/ListSupportedPrivateLinkResources.json" - } - }, - "description": "Gets a list of all supported private link resource types for the given service.", + "description": "Returns the list of query API keys for the given Azure AI Search service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given service.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateLinkResourcesResult" + "$ref": "#/definitions/ListQueryKeysResult" } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { - "put": { - "tags": [ - "PrivateEndpointConnections" - ], - "operationId": "PrivateEndpointConnections_Update", + }, "x-ms-examples": { - "PrivateEndpointConnectionUpdate": { - "$ref": "./examples/UpdatePrivateEndpointConnection.json" + "SearchListQueryKeysBySearchService": { + "$ref": "./examples/SearchListQueryKeysBySearchService.json" } }, - "description": "Updates a private endpoint connection to the search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/networkSecurityPerimeterConfigurations": { + "get": { + "operationId": "NetworkSecurityPerimeterConfigurations_ListByService", + "tags": [ + "NetworkSecurityPerimeterConfigurations" + ], + "description": "Gets a list of network security perimeter configurations for a search service.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "privateEndpointConnection", - "in": "body", + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "required": true, - "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" - }, - "description": "The definition of the private endpoint connection to update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" } ], "responses": { "200": { - "description": "The existing private endpoint connection definition was successfully updated.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationListResult" } }, "default": { - "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid. See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "List NSP configs by search service": { + "$ref": "./examples/NetworkSecurityPerimeterConfigurationsListByService.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/networkSecurityPerimeterConfigurations/{nspConfigName}": { "get": { + "operationId": "NetworkSecurityPerimeterConfigurations_Get", "tags": [ - "PrivateEndpointConnections" + "NetworkSecurityPerimeterConfigurations" ], - "operationId": "PrivateEndpointConnections_Get", - "x-ms-examples": { - "PrivateEndpointConnectionGet": { - "$ref": "./examples/GetPrivateEndpointConnection.json" - } - }, - "description": "Gets the details of the private endpoint connection to the search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, + "description": "Gets a network security perimeter configuration.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "nspConfigName", + "in": "path", + "description": "The network security perimeter configuration name.", + "required": true, + "type": "string", + "minLength": 38, + "maxLength": 100, + "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$" } ], "responses": { "200": { - "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "Get an NSP config by name": { + "$ref": "./examples/NetworkSecurityPerimeterConfigurationsGet.json" + } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/networkSecurityPerimeterConfigurations/{nspConfigName}/reconcile": { + "post": { + "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", "tags": [ - "PrivateEndpointConnections" + "NetworkSecurityPerimeterConfigurations" ], - "operationId": "PrivateEndpointConnections_Delete", - "x-ms-examples": { - "PrivateEndpointConnectionDelete": { - "$ref": "./examples/DeletePrivateEndpointConnection.json" - } - }, - "description": "Disconnects the private endpoint connection and deletes it from the search service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, + "description": "Reconcile network security perimeter configuration for the Azure AI Search resource provider. This triggers a manual resync with network security perimeter configurations by ensuring the search service carries the latest configuration.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "nspConfigName", + "in": "path", + "description": "The network security perimeter configuration name.", + "required": true, + "type": "string", + "minLength": 38, + "maxLength": 100, + "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$" } ], "responses": { - "200": { - "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, - "404": { - "description": "The subscription, resource group, search service or private endpoint connection could not be found." - }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-examples": { + "Reconcile NSP Config": { + "$ref": "./examples/NetworkSecurityPerimeterConfigurationsReconcile.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections": { "get": { + "operationId": "PrivateEndpointConnections_ListByService", "tags": [ "PrivateEndpointConnections" ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "PrivateEndpointConnections_ListByService", - "x-ms-examples": { - "ListPrivateEndpointConnectionsByService": { - "$ref": "./examples/ListPrivateEndpointConnectionsByService.json" - } - }, "description": "Gets a list of all private endpoint connections in the given service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given service.", + "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/PrivateEndpointConnectionListResult" } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "ListPrivateEndpointConnectionsByService": { + "$ref": "./examples/ListPrivateEndpointConnectionsByService.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { - "put": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "operationId": "PrivateEndpointConnections_Get", "tags": [ - "SharedPrivateLinkResources" + "PrivateEndpointConnections" ], - "operationId": "SharedPrivateLinkResources_CreateOrUpdate", - "x-ms-examples": { - "SharedPrivateLinkResourceCreateOrUpdate": { - "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.", + "description": "Gets the details of the private endpoint connection to the search service in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "sharedPrivateLinkResource", - "in": "body", + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "required": true, - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The definition of the shared private link resource to create or update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection to the Azure AI Search service with the specified resource group.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The details of the shared private link resource that was created or updated.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" + "$ref": "#/definitions/PrivateEndpointConnection" } }, - "202": { - "description": "The shared private link resource create or update operation has been accepted and will complete asynchronously." - }, "default": { - "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } } }, - "get": { + "put": { + "operationId": "PrivateEndpointConnections_Update", "tags": [ - "SharedPrivateLinkResources" + "PrivateEndpointConnections" ], - "operationId": "SharedPrivateLinkResources_Get", - "x-ms-examples": { - "SharedPrivateLinkResourceGet": { - "$ref": "./examples/GetSharedPrivateLinkResource.json" - } - }, - "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.", + "description": "Updates a private endpoint connection to the search service in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection to the Azure AI Search service with the specified resource group.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "privateEndpointConnection", + "in": "body", + "description": "The definition of the private endpoint connection to update.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } } ], "responses": { "200": { - "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", + "description": "Resource 'PrivateEndpointConnection' update operation succeeded", "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "PrivateEndpointConnectionUpdate": { + "$ref": "./examples/UpdatePrivateEndpointConnection.json" + } } }, "delete": { + "operationId": "PrivateEndpointConnections_Delete", "tags": [ - "SharedPrivateLinkResources" + "PrivateEndpointConnections" ], - "operationId": "SharedPrivateLinkResources_Delete", - "x-ms-examples": { - "SharedPrivateLinkResourceDelete": { - "$ref": "./examples/DeleteSharedPrivateLinkResource.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "description": "Initiates the deletion of the shared private link resource from the search service.", + "description": "Disconnects the private endpoint connection and deletes it from the search service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection to the Azure AI Search service with the specified resource group.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { - "202": { - "description": "The shared private link resource deletion operation was accepted and will complete asynchronously." - }, - "204": { - "description": "The backing private endpoint for the shared private link resource could not be found." + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } }, "404": { - "description": "The subscription, resource group, search service or shared private link resource could not be found." + "description": "The server cannot find the requested resource." }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": { "get": { + "operationId": "PrivateLinkResources_ListSupported", "tags": [ - "SharedPrivateLinkResources" + "SearchServices" ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "SharedPrivateLinkResources_ListByService", - "x-ms-examples": { - "ListSharedPrivateLinkResourcesByService": { - "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" - } - }, - "description": "Gets a list of all shared private link resources managed by the given service.", + "description": "Gets a list of all supported private link resource types for the given service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SharedPrivateLinkResourceListResult" + "$ref": "#/definitions/PrivateLinkResourcesResult" } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "ListSupportedPrivateLinkResources": { + "$ref": "./examples/ListSupportedPrivateLinkResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { "get": { + "operationId": "SharedPrivateLinkResources_ListByService", "tags": [ - "Services" + "SharedPrivateLinkResources" ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "Services_ListBySubscription", - "x-ms-examples": { - "SearchListServicesBySubscription": { - "$ref": "./examples/SearchListServicesBySubscription.json" - } - }, - "description": "Gets a list of all Search services in the given subscription.", + "description": "Gets a list of all shared private link resources managed by the given service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The operation succeeded. The response contains the list of all search service definitions for the given subscription.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/SearchServiceListResult" + "$ref": "#/definitions/SharedPrivateLinkResourceListResult" } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "ListSharedPrivateLinkResourcesByService": { + "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "operationId": "SharedPrivateLinkResources_Get", "tags": [ - "Services" + "SharedPrivateLinkResources" ], - "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", + "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, - "operationId": "Services_CheckNameAvailability", - "x-ms-examples": { - "SearchCheckNameAvailability": { - "$ref": "./examples/SearchCheckNameAvailability.json" - } - }, "parameters": [ { - "name": "checkNameAvailabilityInput", - "in": "body", - "description": "The resource name and type to check.", - "x-ms-client-flatten": true, - "required": true, - "schema": { - "$ref": "#/definitions/CheckNameAvailabilityInput" - } + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource managed by the Azure AI Search service within the specified resource group.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CheckNameAvailabilityOutput" + "$ref": "#/definitions/SharedPrivateLinkResource" } }, "default": { - "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages": { - "get": { - "tags": [ - "Usages" - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" }, - "operationId": "Usages_ListBySubscription", "x-ms-examples": { - "GetQuotaUsagesList": { - "$ref": "./examples/GetQuotaUsagesList.json" + "SharedPrivateLinkResourceGet": { + "$ref": "./examples/GetSharedPrivateLinkResource.json" } - }, - "description": "Get a list of all Azure AI Search quota usages across the subscription.", + } + }, + "put": { + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "tags": [ + "SharedPrivateLinkResources" + ], + "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/LocationParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource managed by the Azure AI Search service within the specified resource group.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "sharedPrivateLinkResource", + "in": "body", + "description": "The definition of the shared private link resource to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } } ], "responses": { "200": { - "description": "The operation succeeded. The response contains the list of all search service quota usages for the given subscription.", + "description": "Resource 'SharedPrivateLinkResource' update operation succeeded", "schema": { - "$ref": "#/definitions/QuotaUsagesListResult" + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + } } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}": { - "get": { - "tags": [ - "Usages" - ], - "operationId": "UsageBySubscriptionSku", + }, "x-ms-examples": { - "GetQuotaUsage": { - "$ref": "./examples/GetQuotaUsage.json" + "SharedPrivateLinkResourceCreateOrUpdate": { + "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" } }, - "description": "Gets the quota usage for a search SKU in the given subscription.", + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/SharedPrivateLinkResource" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "SharedPrivateLinkResources_Delete", + "tags": [ + "SharedPrivateLinkResources" + ], + "description": "Initiates the deletion of the shared private link resource from the search service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ClientRequestIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/LocationParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource managed by the Azure AI Search service within the specified resource group.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SkuNameParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { - "200": { - "description": "The operation succeeded. The response contains the quota usage of a search service SKU for the given subscription.", - "schema": { - "$ref": "#/definitions/QuotaUsageResult" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, + "404": { + "description": "The server cannot find the requested resource." + }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/networkSecurityPerimeterConfigurations": { - "get": { - "tags": [ - "NetworkSecurityPerimeterConfigurations" - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" }, - "description": "Gets a list of network security perimeter configurations for a search service.", - "operationId": "NetworkSecurityPerimeterConfigurations_ListByService", "x-ms-examples": { - "List NSP configs by search service": { - "$ref": "./examples/NetworkSecurityPerimeterConfigurationsListByService.json" + "SharedPrivateLinkResourceDelete": { + "$ref": "./examples/DeleteSharedPrivateLinkResource.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/upgrade": { + "post": { + "operationId": "Services_Upgrade", + "tags": [ + "SearchServices" + ], + "description": "Upgrades the Azure AI Search service to the latest version available.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" } ], "responses": { "200": { - "description": "Successfully retrieved the list of configurations.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfigurationListResult" + "$ref": "#/definitions/SearchService" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-examples": { + "UpgradeSearchServiceToLatestVersion": { + "$ref": "./examples/UpgradeSearchServiceToLatestVersion.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/SearchService" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/networkSecurityPerimeterConfigurations/{nspConfigName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { + "post": { + "operationId": "QueryKeys_Create", "tags": [ - "NetworkSecurityPerimeterConfigurations" + "SearchServices" ], - "description": "Gets a network security perimeter configuration.", - "operationId": "NetworkSecurityPerimeterConfigurations_Get", - "x-ms-examples": { - "Get an NSP config by name": { - "$ref": "./examples/NetworkSecurityPerimeterConfigurationsGet.json" - } + "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/NspConfigNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "name", + "in": "path", + "description": "The name of the new query API key.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "Successfully retrieved the configuration.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" + "$ref": "#/definitions/QueryKey" } }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "SearchCreateQueryKey": { + "$ref": "./examples/SearchCreateQueryKey.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/networkSecurityPerimeterConfigurations/{nspConfigName}/reconcile": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { + "delete": { + "operationId": "QueryKeys_Delete", "tags": [ - "NetworkSecurityPerimeterConfigurations" + "SearchServices" ], - "description": "Reconcile network security perimeter configuration for the Azure AI Search resource provider. This triggers a manual resync with network security perimeter configurations by ensuring the search service carries the latest configuration.", - "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", + "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/NspConfigNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "key", + "in": "path", + "description": "The query key to be deleted. Query keys are identified by value, not by name.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { - "202": { - "description": "Reconcile network security perimeter configuration operation accepted.", - "headers": { - "Location": { - "type": "string" - } - } + "200": { + "description": "The request has succeeded." + }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, + "404": { + "description": "The server cannot find the requested resource." }, "default": { - "description": "An unexpected error occurred during the operation.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Reconcile NSP Config": { - "$ref": "./examples/NetworkSecurityPerimeterConfigurationsReconcile.json" + "SearchDeleteQueryKey": { + "$ref": "./examples/SearchDeleteQueryKey.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/upgrade": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { "post": { + "operationId": "AdminKeys_Regenerate", "tags": [ - "Services" + "SearchServices" ], - "operationId": "Services_Upgrade", - "x-ms-examples": { - "UpgradeSearchServiceToLatestVersion": { - "$ref": "./examples/UpgradeSearchServiceToLatestVersion.json" - } + "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", + "externalDocs": { + "url": "https://aka.ms/search-manage" }, - "description": "Upgrades the Azure AI Search service to the latest version available.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SearchServiceNameParameter" + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "keyKind", + "in": "path", + "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'.", + "required": true, + "type": "string", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "AdminKeyKind", + "modelAsString": false, + "values": [ + { + "name": "Primary", + "value": "primary", + "description": "The primary API key for the search service." + }, + { + "name": "Secondary", + "value": "secondary", + "description": "The secondary API key for the search service." + } + ] + } }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" } ], "responses": { "200": { - "description": "Search service has been upgraded to the latest version.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SearchService" - } - }, - "202": { - "description": "The long running operation for upgrading the service to the latest version was queued successfully. You can check the status of the operation through the provisioningState property returned in the response for a Get Service request.", - "headers": { - "Location": { - "type": "string" - } + "$ref": "#/definitions/AdminKeyResult" } }, "default": { - "description": "HTTP 400 (Bad Request): There is not upgrade available for the current service. HTTP 404 (Not Found): The subscription or resource group could not be found.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" + "x-ms-examples": { + "SearchRegenerateAdminKey": { + "$ref": "./examples/SearchRegenerateAdminKey.json" + } } } } }, "definitions": { - "CheckNameAvailabilityInput": { + "AadAuthFailureMode": { + "type": "string", + "description": "Describes what response the data plane API of a search service would send for requests that failed authentication.", + "enum": [ + "http403", + "http401WithBearerChallenge" + ], + "x-ms-enum": { + "name": "AadAuthFailureMode", + "modelAsString": false, + "values": [ + { + "name": "Http403", + "value": "http403", + "description": "Indicates that requests that failed authentication should be presented with an HTTP status code of 403 (Forbidden)." + }, + { + "name": "Http401WithBearerChallenge", + "value": "http401WithBearerChallenge", + "description": "Indicates that requests that failed authentication should be presented with an HTTP status code of 401 (Unauthorized) and present a Bearer Challenge." + } + ] + } + }, + "AccessRulePropertiesSubscriptionsItem": { "type": "object", - "required": [ - "name", - "type" + "description": "Subscription identifiers", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The fully qualified Azure resource ID of the subscription e.g. ('/subscriptions/00000000-0000-0000-0000-000000000000')" + } + } + }, + "ActionType": { + "type": "string", + "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true, + "values": [ + { + "name": "Internal", + "value": "Internal" + } + ] + } + }, + "AdminKeyKind": { + "type": "string", + "enum": [ + "primary", + "secondary" ], + "x-ms-enum": { + "name": "AdminKeyKind", + "modelAsString": false, + "values": [ + { + "name": "Primary", + "value": "primary", + "description": "The primary API key for the search service." + }, + { + "name": "Secondary", + "value": "secondary", + "description": "The secondary API key for the search service." + } + ] + } + }, + "AdminKeyResult": { + "type": "object", + "description": "Response containing the primary and secondary admin API keys for a given Azure AI Search service.", + "properties": { + "primaryKey": { + "type": "string", + "description": "The primary admin API key of the search service.", + "readOnly": true + }, + "secondaryKey": { + "type": "string", + "description": "The secondary admin API key of the search service.", + "readOnly": true + } + } + }, + "AsyncOperationResult": { + "type": "object", + "description": "The details of a long running asynchronous shared private link resource operation.", + "properties": { + "status": { + "$ref": "#/definitions/SharedPrivateLinkResourceAsyncOperationResult", + "description": "The current status of the long running asynchronous shared private link resource operation." + } + } + }, + "CheckNameAvailabilityInput": { + "type": "object", + "description": "Input of check name availability API.", "properties": { "name": { - "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.", - "type": "string" + "type": "string", + "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length." }, "type": { - "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", "type": "string", + "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", "enum": [ "searchServices" ], "x-ms-enum": { - "name": "ResourceType", - "modelAsString": false, - "values": [ - { - "value": "searchServices", - "name": "SearchServices", - "description": "'searchServices' is the only resource type whose name can be validated." - } - ] + "modelAsString": false } } }, - "description": "Input of check name availability API." + "required": [ + "name", + "type" + ] }, "CheckNameAvailabilityOutput": { "type": "object", + "description": "Output of check name availability API.", "properties": { "nameAvailable": { - "x-ms-client-name": "IsNameAvailable", - "description": "A value indicating whether the name is available.", "type": "boolean", - "readOnly": true + "description": "A value indicating whether the name is available.", + "readOnly": true, + "x-ms-client-name": "IsNameAvailable" }, "reason": { + "$ref": "#/definitions/UnavailableNameReason", "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.", - "type": "string", - "readOnly": true, - "enum": [ - "Invalid", - "AlreadyExists" - ], - "x-ms-enum": { - "name": "UnavailableNameReason", - "modelAsString": true, - "values": [ - { - "value": "Invalid", - "name": "Invalid", - "description": "The search service name doesn't match naming requirements." - }, - { - "value": "AlreadyExists", - "name": "AlreadyExists", - "description": "The search service name is already assigned to a different search service." - } - ] - } + "readOnly": true }, "message": { - "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", "type": "string", + "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", "readOnly": true } - }, - "description": "Output of check name availability API." + } }, - "AdminKeyResult": { + "CloudError": { + "type": "object", + "description": "Contains information about an API error.", "properties": { - "primaryKey": { - "readOnly": true, - "type": "string", - "description": "The primary admin API key of the search service." + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." }, - "secondaryKey": { - "readOnly": true, + "message": { "type": "string", - "description": "The secondary admin API key of the search service." + "description": "A brief description of the error that hints at what went wrong (for details/debugging information refer to the 'error.message' property)." } }, - "description": "Response containing the primary and secondary admin API keys for a given Azure AI Search service." + "x-ms-external": true }, - "QueryKey": { + "CloudErrorBody": { + "type": "object", + "description": "Describes a particular API error with an error code and a message.", "properties": { - "name": { - "readOnly": true, + "code": { "type": "string", - "description": "The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used." + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." }, - "key": { - "readOnly": true, + "message": { "type": "string", - "description": "The value of the query API key." - } - }, - "description": "Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index." - }, - "ListQueryKeysResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/QueryKey" - }, - "description": "The query keys for the Azure AI Search service." + "description": "A message that describes the error in detail and provides debugging information." }, - "nextLink": { - "readOnly": true, + "target": { "type": "string", - "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size." + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "description": "Contains nested errors that are related to this error.", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } } }, - "description": "Response containing the query API keys for a given Azure AI Search service.", "x-ms-external": true }, - "Sku": { - "properties": { - "name": { - "type": "string", - "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'", - "enum": [ - "free", - "basic", - "standard", - "standard2", - "standard3", - "storage_optimized_l1", - "storage_optimized_l2" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": true, - "values": [ - { - "value": "free", - "name": "Free", - "description": "Free tier, with no SLA guarantees and a subset of the features offered on billable tiers." - }, - { - "value": "basic", - "name": "Basic", - "description": "Billable tier for a dedicated service having up to 3 replicas." - }, - { - "value": "standard", - "name": "Standard", - "description": "Billable tier for a dedicated service having up to 12 partitions and 12 replicas." - }, - { - "value": "standard2", - "name": "Standard2", - "description": "Similar to 'standard', but with more capacity per search unit." - }, - { - "value": "standard3", - "name": "Standard3", - "description": " The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity')." - }, - { - "value": "storage_optimized_l1", - "name": "StorageOptimizedL1", - "description": "Billable tier for a dedicated service that supports 1TB per partition, up to 12 partitions." - }, - { - "value": "storage_optimized_l2", - "name": "StorageOptimizedL2", - "description": "Billable tier for a dedicated service that supports 2TB per partition, up to 12 partitions." - } - ] + "ComputeType": { + "type": "string", + "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute.", + "enum": [ + "Default", + "Confidential" + ], + "x-ms-enum": { + "name": "ComputeType", + "modelAsString": true, + "values": [ + { + "name": "Default", + "value": "Default", + "description": "Create the service with the Default Compute." + }, + { + "name": "Confidential", + "value": "Confidential", + "description": "Create the service with Azure Confidential Compute." + } + ] + } + }, + "CreatedByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "CreatedByType", + "modelAsString": true, + "values": [ + { + "name": "User", + "value": "User" + }, + { + "name": "Application", + "value": "Application" + }, + { + "name": "ManagedIdentity", + "value": "ManagedIdentity" + }, + { + "name": "Key", + "value": "Key" } + ] + } + }, + "DataPlaneAadOrApiKeyAuthOption": { + "type": "object", + "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication.", + "properties": { + "aadAuthFailureMode": { + "$ref": "#/definitions/AadAuthFailureMode", + "description": "Describes what response the data plane API of a search service would send for requests that failed authentication." } - }, - "description": "Defines the SKU of a search service, which determines billing rate and capacity limits.", - "externalDocs": { - "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" } }, "DataPlaneAuthOptions": { "type": "object", + "description": "Defines the options for how the search service authenticates a data plane request. This cannot be set if 'disableLocalAuth' is set to true.", "properties": { "apiKeyOnly": { - "type": "object", - "properties": {}, "description": "Indicates that only the API key can be used for authentication." }, "aadOrApiKey": { "$ref": "#/definitions/DataPlaneAadOrApiKeyAuthOption", "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication." } - }, - "description": "Defines the options for how the search service authenticates a data plane request. This cannot be set if 'disableLocalAuth' is set to true." + } }, - "DataPlaneAadOrApiKeyAuthOption": { + "EncryptionWithCmk": { "type": "object", + "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys.", "properties": { - "aadAuthFailureMode": { - "type": "string", - "description": "Describes what response the data plane API of a search service would send for requests that failed authentication.", - "enum": [ - "http403", - "http401WithBearerChallenge" - ], - "x-ms-enum": { - "name": "AadAuthFailureMode", - "modelAsString": false, - "values": [ - { - "value": "http403", - "name": "Http403", - "description": "Indicates that requests that failed authentication should be presented with an HTTP status code of 403 (Forbidden)." - }, - { - "value": "http401WithBearerChallenge", - "name": "Http401WithBearerChallenge", - "description": "Indicates that requests that failed authentication should be presented with an HTTP status code of 401 (Unauthorized) and present a Bearer Challenge." - } - ] - } + "enforcement": { + "$ref": "#/definitions/SearchEncryptionWithCmk", + "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key." + }, + "encryptionComplianceStatus": { + "$ref": "#/definitions/SearchEncryptionComplianceStatus", + "description": "Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant.", + "readOnly": true } - }, - "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication." + } }, - "DataExfiltrationProtection": { + "HostingMode": { "type": "string", + "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'.", "enum": [ - "BlockAll" + "Default", + "HighDensity" ], "x-ms-enum": { - "name": "SearchDataExfiltrationProtection", - "modelAsString": true, + "name": "HostingMode", + "modelAsString": false, "values": [ { - "value": "BlockAll", - "name": "BlockAll", - "description": "Indicates that all data exfiltration scenarios are disabled." + "name": "Default", + "value": "Default", + "description": "The limit on number of indexes is determined by the default limits for the SKU." + }, + { + "name": "HighDensity", + "value": "HighDensity", + "description": "Only application for standard3 SKU, where the search service can have up to 1000 indexes." } ] - }, - "description": "A specific data exfiltration scenario that is disabled for the service." + } }, - "EncryptionWithCmk": { + "Identity": { "type": "object", + "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned.", "properties": { - "enforcement": { - "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key.", + "principalId": { "type": "string", - "enum": [ - "Disabled", - "Enabled", - "Unspecified" - ], - "x-ms-enum": { - "name": "SearchEncryptionWithCmk", - "modelAsString": false, - "values": [ - { - "value": "Disabled", - "name": "Disabled", - "description": "No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used." - }, - { - "value": "Enabled", - "name": "Enabled", - "description": "Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key." - }, - { - "value": "Unspecified", - "name": "Unspecified", - "description": "Enforcement policy is not explicitly specified, with the behavior being the same as if it were set to 'Disabled'." - } - ] - } + "description": "The principal ID of the system-assigned identity of the search service.", + "readOnly": true }, - "encryptionComplianceStatus": { - "readOnly": true, - "description": "Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant.", + "tenantId": { "type": "string", - "enum": [ - "Compliant", - "NonCompliant" - ], - "x-ms-enum": { - "name": "SearchEncryptionComplianceStatus", - "modelAsString": false, - "values": [ - { - "value": "Compliant", - "name": "Compliant", - "description": "Indicates that the search service is compliant, either because the number of non-CMK-encrypted objects is zero or enforcement is disabled." - }, - { - "value": "NonCompliant", - "name": "NonCompliant", - "description": "Indicates that the search service has more than one non-CMK-encrypted objects." - } - ] - } + "description": "The tenant ID of the system-assigned identity of the search service.", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service." + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedManagedIdentities", + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } }, - "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys." + "required": [ + "type" + ] }, - "PrivateEndpointConnection": { + "IdentityType": { + "type": "string", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "Indicates that any identity associated with the search service needs to be removed." + }, + { + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "Indicates that system-assigned identity for the search service will be enabled." + }, + { + "name": "UserAssigned", + "value": "UserAssigned", + "description": "Indicates that one or more user assigned identities will be assigned to the search service." + }, + { + "name": "SystemAssigned, UserAssigned", + "value": "SystemAssigned, UserAssigned", + "description": "Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities." + } + ] + } + }, + "IpRule": { + "type": "object", + "description": "The IP restriction rule of the Azure AI Search service.", "properties": { - "properties": { - "$ref": "#/definitions/PrivateEndpointConnectionProperties", - "description": "Describes the properties of an existing private endpoint connection to the Azure AI Search service." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + "value": { + "type": "string", + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." } + } + }, + "IssueType": { + "type": "string", + "description": "Type of issue", + "enum": [ + "Unknown", + "ConfigurationPropagationFailure", + "MissingPerimeterConfiguration", + "MissingIdentityConfiguration" ], - "description": "Describes an existing private endpoint connection to the Azure AI Search service." + "x-ms-enum": { + "name": "IssueType", + "modelAsString": true, + "values": [ + { + "name": "Unknown", + "value": "Unknown", + "description": "Unknown issue type" + }, + { + "name": "ConfigurationPropagationFailure", + "value": "ConfigurationPropagationFailure", + "description": "An error occurred while applying the network security perimeter (NSP) configuration." + }, + { + "name": "MissingPerimeterConfiguration", + "value": "MissingPerimeterConfiguration", + "description": "A network connectivity issue is happening on the resource which could be addressed either by adding new resources to the network security perimeter (NSP) or by modifying access rules." + }, + { + "name": "MissingIdentityConfiguration", + "value": "MissingIdentityConfiguration", + "description": "An managed identity hasn't been associated with the resource. The resource will still be able to validate inbound traffic from the network security perimeter (NSP) or matching inbound access rules, but it won't be able to perform outbound access as a member of the NSP." + } + ] + } + }, + "ListQueryKeysResult": { + "type": "object", + "description": "Response containing the query API keys for a given Azure AI Search service.", + "properties": { + "value": { + "type": "array", + "description": "The query keys for the Azure AI Search service.", + "items": { + "$ref": "#/definitions/QueryKey" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size.", + "readOnly": true + } + }, + "x-ms-external": true }, "NetworkRuleSet": { + "type": "object", + "description": "Network specific rules that determine how the Azure AI Search service may be reached.", "properties": { "ipRules": { "type": "array", @@ -1893,537 +2347,655 @@ } }, "bypass": { - "type": "string", - "enum": [ - "None", - "AzureServices" - ], - "x-ms-enum": { - "name": "SearchBypass", - "modelAsString": true, - "values": [ - { - "value": "None", - "name": "None", - "description": "Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default." - }, - { - "value": "AzureServices", - "name": "AzureServices", - "description": "Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section." - } - ] - }, + "$ref": "#/definitions/SearchBypass", "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section." } - }, - "description": "Network specific rules that determine how the Azure AI Search service may be reached." + } }, - "IpRule": { + "NetworkSecurityPerimeterConfiguration": { + "type": "object", + "description": "Network security perimeter (NSP) configuration resource", "properties": { - "value": { - "type": "string", - "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." + "properties": { + "type": "object", + "description": "Network security configuration properties." } }, - "description": "The IP restriction rule of the Azure AI Search service." + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "PrivateEndpointConnectionProperties": { + "NetworkSecurityPerimeterConfigurationListResult": { + "type": "object", + "description": "The response of a NetworkSecurityPerimeterConfiguration list operation.", "properties": { - "privateEndpoint": { - "properties": { - "id": { - "type": "string", - "description": "The resource ID of the private endpoint resource from Microsoft.Network provider." - } - }, - "description": "The private endpoint resource from Microsoft.Network provider." - }, - "privateLinkServiceConnectionState": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected.", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], - "x-ms-enum": { - "name": "PrivateLinkServiceConnectionStatus", - "modelAsString": false, - "values": [ - { - "value": "Pending", - "name": "Pending", - "description": "The private endpoint connection has been created and is pending approval." - }, - { - "value": "Approved", - "name": "Approved", - "description": "The private endpoint connection is approved and is ready for use." - }, - { - "value": "Rejected", - "name": "Rejected", - "description": "The private endpoint connection has been rejected and cannot be used." - }, - { - "value": "Disconnected", - "name": "Disconnected", - "description": "The private endpoint connection has been removed from the service." - } - ] - } - }, - "description": { - "type": "string", - "description": "The description for the private link service connection state." - }, - "actionsRequired": { - "type": "string", - "description": "A description of any extra actions that may be required.", - "default": "None" - } - }, - "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint." - }, - "groupId": { - "type": "string", - "description": "The group ID of the Azure resource for which the private link service is for." + "value": { + "type": "array", + "description": "The NetworkSecurityPerimeterConfiguration items on this page", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + } }, - "provisioningState": { + "nextLink": { "type": "string", - "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled.", - "enum": [ - "Updating", - "Deleting", - "Failed", - "Succeeded", - "Incomplete", - "Canceled" - ], - "x-ms-enum": { - "name": "PrivateLinkServiceConnectionProvisioningState", - "modelAsString": true, - "values": [ - { - "value": "Updating", - "name": "Updating", - "description": "The private link service connection is in the process of being created along with other resources for it to be fully functional." - }, - { - "value": "Deleting", - "name": "Deleting", - "description": "The private link service connection is in the process of being deleted." - }, - { - "value": "Failed", - "name": "Failed", - "description": "The private link service connection has failed to be provisioned or deleted." - }, - { - "value": "Succeeded", - "name": "Succeeded", - "description": "The private link service connection has finished provisioning and is ready for approval." - }, - { - "value": "Incomplete", - "name": "Incomplete", - "description": "Provisioning request for the private link service connection resource has been accepted but the process of creation has not commenced yet." - }, - { - "value": "Canceled", - "name": "Canceled", - "description": "Provisioning request for the private link service connection resource has been canceled." - } - ] - } + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Describes the properties of an existing private endpoint connection to the search service." + "required": [ + "value" + ] }, - "PrivateEndpointConnectionListResult": { + "OperationListResult": { + "type": "object", + "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", "properties": { "value": { - "readOnly": true, "type": "array", + "description": "The list of operations by Azure AI Search, some supported by the resource provider and others by data plane APIs.", "items": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Operation" }, - "description": "The list of private endpoint connections." + "readOnly": true }, "nextLink": { - "readOnly": true, "type": "string", - "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size." + "description": "The URL to get the next set of operation list results, if any.", + "readOnly": true } - }, - "description": "Response containing a list of private endpoint connections.", - "x-ms-external": true + } }, - "SemanticSearch": { + "Origin": { "type": "string", + "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"", "enum": [ - "disabled", - "free", - "standard" + "user", + "system", + "user,system" ], "x-ms-enum": { - "name": "SearchSemanticSearch", + "name": "Origin", "modelAsString": true, "values": [ { - "value": "disabled", - "name": "disabled", - "description": "Indicates that semantic reranker is disabled for the search service. This is the default." + "name": "user", + "value": "user" }, { - "value": "free", - "name": "free", - "description": "Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services." + "name": "system", + "value": "system" }, { - "value": "standard", - "name": "standard", - "description": "Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries." + "name": "user,system", + "value": "user,system" } ] - }, - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations." + } }, - "SharedPrivateLinkResource": { + "PrivateEndpointConnection": { + "type": "object", + "description": "Describes an existing private endpoint connection to the Azure AI Search service.", "properties": { "properties": { - "$ref": "#/definitions/SharedPrivateLinkResourceProperties", - "description": "Describes the properties of a shared private link resource managed by the Azure AI Search service." + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Describes the properties of an existing private endpoint connection to the Azure AI Search service." } }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } - ], - "description": "Describes a shared private link resource managed by the Azure AI Search service." + ] }, - "SharedPrivateLinkResourceProperties": { + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "Response containing a list of private endpoint connections.", "properties": { - "privateLinkResourceId": { - "type": "string", - "description": "The resource ID of the resource the shared private link resource is for." - }, - "groupId": { - "type": "string", - "description": "The group ID from the provider of resource the shared private link resource is for." + "value": { + "type": "array", + "description": "The list of private endpoint connections.", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true }, - "requestMessage": { + "nextLink": { "type": "string", - "description": "The message for requesting approval of the shared private link resource." + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size.", + "readOnly": true + } + }, + "x-ms-external": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Describes the properties of an existing private endpoint connection to the search service.", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesPrivateEndpoint", + "description": "The private endpoint resource from Microsoft.Network provider." }, - "resourceRegion": { - "type": "string", - "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", - "externalDocs": { - "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", - "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" - } + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState", + "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint." }, - "status": { + "groupId": { "type": "string", - "description": "Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected.", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceStatus", - "modelAsString": true, - "values": [ - { - "value": "Pending", - "name": "Pending", - "description": "The shared private link resource has been created and is pending approval." - }, - { - "value": "Approved", - "name": "Approved", - "description": "The shared private link resource is approved and is ready for use." - }, - { - "value": "Rejected", - "name": "Rejected", - "description": "The shared private link resource has been rejected and cannot be used." - }, - { - "value": "Disconnected", - "name": "Disconnected", - "description": "The shared private link resource has been removed from the service." - } - ] - } + "description": "The group ID of the Azure resource for which the private link service is for." }, "provisioningState": { - "type": "string", - "description": "The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete.", - "enum": [ - "Updating", - "Deleting", - "Failed", - "Succeeded", - "Incomplete" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceProvisioningState", - "modelAsString": true, - "values": [ - { - "value": "Updating", - "name": "Updating", - "description": "The shared private link resource is in the process of being created along with other resources for it to be fully functional." - }, - { - "value": "Deleting", - "name": "Deleting", - "description": "The shared private link resource is in the process of being deleted." - }, - { - "value": "Failed", - "name": "Failed", - "description": "The shared private link resource has failed to be provisioned or deleted." - }, - { - "value": "Succeeded", - "name": "Succeeded", - "description": "The shared private link resource has finished provisioning and is ready for approval." - }, - { - "value": "Incomplete", - "name": "Incomplete", - "description": "Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet." - } - ] - } + "$ref": "#/definitions/PrivateLinkServiceConnectionProvisioningState", + "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled." } - }, - "description": "Describes the properties of an existing shared private link resource managed by the Azure AI Search service." + } }, - "SharedPrivateLinkResourceListResult": { + "PrivateEndpointConnectionPropertiesPrivateEndpoint": { + "type": "object", + "description": "The private endpoint resource from Microsoft.Network provider.", "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources." - }, - "nextLink": { + "id": { "type": "string", - "description": "The URL to get the next set of shared private link resources, if there are any." + "description": "The resource ID of the private endpoint resource from Microsoft.Network provider." } - }, - "description": "Response containing a list of shared private link resources.", - "x-ms-external": true + } }, - "PrivateLinkResourcesResult": { + "PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState": { + "type": "object", + "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint.", "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/PrivateLinkResource" - }, - "description": "The list of supported Private Link Resources." + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "description": "Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected." + }, + "description": { + "type": "string", + "description": "The description for the private link service connection state." + }, + "actionsRequired": { + "type": "string", + "description": "A description of any extra actions that may be required.", + "default": "None" } - }, - "description": "Response containing a list of supported Private Link Resources.", - "x-ms-external": true + } }, "PrivateLinkResource": { + "type": "object", + "description": "Describes a supported private link resource for the Azure AI Search service.", "properties": { "properties": { "$ref": "#/definitions/PrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a supported private link resource for the Azure AI Search service." + "description": "Describes the properties of a supported private link resource for the Azure AI Search service.", + "readOnly": true } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" } - ], - "description": "Describes a supported private link resource for the Azure AI Search service." + ] }, "PrivateLinkResourceProperties": { + "type": "object", + "description": "Describes the properties of a supported private link resource for the Azure AI Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource.", "properties": { "groupId": { - "readOnly": true, "type": "string", - "description": "The group ID of the private link resource." + "description": "The group ID of the private link resource.", + "readOnly": true }, "requiredMembers": { - "readOnly": true, "type": "array", + "description": "The list of required members of the private link resource.", "items": { "type": "string" }, - "description": "The list of required members of the private link resource." + "readOnly": true }, "requiredZoneNames": { - "readOnly": true, "type": "array", + "description": "The list of required DNS zone names of the private link resource.", "items": { "type": "string" }, - "description": "The list of required DNS zone names of the private link resource." + "readOnly": true }, "shareablePrivateLinkResourceTypes": { - "readOnly": true, "type": "array", + "description": "The list of resources that are onboarded to private link service, that are supported by Azure AI Search.", "items": { "$ref": "#/definitions/ShareablePrivateLinkResourceType" }, - "description": "The list of resources that are onboarded to private link service, that are supported by Azure AI Search." - } - }, - "description": "Describes the properties of a supported private link resource for the Azure AI Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." - }, - "ShareablePrivateLinkResourceType": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource type that has been onboarded to private link service, supported by Azure AI Search." - }, - "properties": { - "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search." + "readOnly": true } - }, - "description": "Describes an resource type that has been onboarded to private link service, supported by Azure AI Search." + } }, - "ShareablePrivateLinkResourceProperties": { + "PrivateLinkResourcesResult": { + "type": "object", + "description": "Response containing a list of supported Private Link Resources.", "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure AI Search." - }, - "groupId": { - "readOnly": true, - "type": "string", - "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure AI Search." + "value": { + "type": "array", + "description": "The list of supported Private Link Resources.", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "readOnly": true }, - "description": { - "readOnly": true, + "nextLink": { "type": "string", - "description": "The description of the resource type that has been onboarded to private link service, supported by Azure AI Search." + "description": "The URL to get the next set of private link resources, if there are any." } }, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search." + "x-ms-external": true }, - "SearchService": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SearchServiceProperties", - "description": "Properties of the search service." - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", - "externalDocs": { - "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" - } - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." - }, - "systemData": { - "readOnly": true, - "description": "Azure Resource Manager metadata of the search service containing createdBy and modifiedBy information.", - "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/systemData" - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" - } + "PrivateLinkServiceConnectionProvisioningState": { + "type": "string", + "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled.", + "enum": [ + "Updating", + "Deleting", + "Failed", + "Succeeded", + "Incomplete", + "Canceled" ], - "description": "Describes an Azure AI Search service and its current state." + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Updating", + "value": "Updating", + "description": "The private link service connection is in the process of being created along with other resources for it to be fully functional." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The private link service connection is in the process of being deleted." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The private link service connection has failed to be provisioned or deleted." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The private link service connection has finished provisioning and is ready for approval." + }, + { + "name": "Incomplete", + "value": "Incomplete", + "description": "Provisioning request for the private link service connection resource has been accepted but the process of creation has not commenced yet." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Provisioning request for the private link service connection resource has been canceled." + } + ] + } }, - "SearchServiceUpdate": { + "PrivateLinkServiceConnectionStatus": { + "type": "string", + "description": "Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false, + "values": [ + { + "name": "Pending", + "value": "Pending", + "description": "The private endpoint connection has been created and is pending approval." + }, + { + "name": "Approved", + "value": "Approved", + "description": "The private endpoint connection is approved and is ready for use." + }, + { + "name": "Rejected", + "value": "Rejected", + "description": "The private endpoint connection has been rejected and cannot be used." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The private endpoint connection has been removed from the service." + } + ] + } + }, + "ProvisioningState": { + "type": "string", + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", + "enum": [ + "succeeded", + "provisioning", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false, + "values": [ + { + "name": "Succeeded", + "value": "succeeded", + "description": "The last provisioning operation has completed successfully." + }, + { + "name": "Provisioning", + "value": "provisioning", + "description": "The search service is being provisioned or scaled up or down." + }, + { + "name": "Failed", + "value": "failed", + "description": "The last provisioning operation has failed." + } + ] + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "This value can be set to 'Enabled' to avoid breaking changes on existing customer resources and templates. If set to 'Disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "The search service is accessible from traffic originating from the public internet." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections." + } + ] + } + }, + "QueryKey": { + "type": "object", + "description": "Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SearchServiceProperties", - "description": "Properties of the search service." + "name": { + "type": "string", + "description": "The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used.", + "readOnly": true }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", - "externalDocs": { - "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" - } + "key": { + "type": "string", + "description": "The value of the query API key.", + "readOnly": true + } + } + }, + "QuotaUsageResult": { + "type": "object", + "description": "Describes the quota usage for a particular SKU.", + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the quota usage SKU endpoint for Microsoft.Search provider." }, - "location": { + "unit": { "type": "string", - "description": "The geographic location of the resource. This must be one of the supported and registered Azure geo regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", - "externalDocs": { - "url": "https://aka.ms/search-rp-info" + "description": "The unit of measurement for the search SKU." + }, + "currentValue": { + "type": "integer", + "format": "int32", + "description": "The currently used up value for the particular search SKU." + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The quota limit for the particular search SKU." + }, + "name": { + "$ref": "#/definitions/QuotaUsageResultName", + "description": "The name of the SKU supported by Azure AI Search.", + "readOnly": true + } + } + }, + "QuotaUsageResultName": { + "type": "object", + "description": "The name of the SKU supported by Azure AI Search.", + "properties": { + "value": { + "type": "string", + "description": "The SKU name supported by Azure AI Search." + }, + "localizedValue": { + "type": "string", + "description": "The localized string value for the SKU name." + } + } + }, + "QuotaUsagesListResult": { + "type": "object", + "description": "Response containing the quota usage information for all the supported SKUs of Azure AI Search.", + "properties": { + "value": { + "type": "array", + "description": "The quota usages for the SKUs supported by Azure AI Search.", + "items": { + "$ref": "#/definitions/QuotaUsageResult" }, - "x-ms-mutability": [ - "create", - "read" - ] + "readOnly": true }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of quota usages. Returned when the total number of requested quota usages exceed maximum page size.", + "readOnly": true + } + }, + "x-ms-external": true + }, + "SearchBypass": { + "type": "string", + "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section.", + "enum": [ + "None", + "AzureServices" + ], + "x-ms-enum": { + "name": "SearchBypass", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default." }, - "description": "Tags to help categorize the resource in the Azure portal." + { + "name": "AzureServices", + "value": "AzureServices", + "description": "Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section." + } + ] + } + }, + "SearchDataExfiltrationProtection": { + "type": "string", + "description": "A specific data exfiltration scenario that is disabled for the service.", + "enum": [ + "BlockAll" + ], + "x-ms-enum": { + "name": "SearchDataExfiltrationProtection", + "modelAsString": true, + "values": [ + { + "name": "BlockAll", + "value": "BlockAll", + "description": "Indicates that all data exfiltration scenarios are disabled." + } + ] + } + }, + "SearchEncryptionComplianceStatus": { + "type": "string", + "description": "Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant.", + "enum": [ + "Compliant", + "NonCompliant" + ], + "x-ms-enum": { + "name": "SearchEncryptionComplianceStatus", + "modelAsString": false, + "values": [ + { + "name": "Compliant", + "value": "Compliant", + "description": "Indicates that the search service is compliant, either because the number of non-CMK-encrypted objects is zero or enforcement is disabled." + }, + { + "name": "NonCompliant", + "value": "NonCompliant", + "description": "Indicates that the search service has more than one non-CMK-encrypted objects." + } + ] + } + }, + "SearchEncryptionWithCmk": { + "type": "string", + "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key.", + "enum": [ + "Disabled", + "Enabled", + "Unspecified" + ], + "x-ms-enum": { + "name": "SearchEncryptionWithCmk", + "modelAsString": false, + "values": [ + { + "name": "Disabled", + "value": "Disabled", + "description": "No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used." + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key." + }, + { + "name": "Unspecified", + "value": "Unspecified", + "description": "Enforcement policy is not explicitly specified, with the behavior being the same as if it were set to 'Disabled'." + } + ] + } + }, + "SearchSemanticSearch": { + "type": "string", + "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations.", + "enum": [ + "disabled", + "free", + "standard" + ], + "x-ms-enum": { + "name": "SearchSemanticSearch", + "modelAsString": true, + "values": [ + { + "name": "disabled", + "value": "disabled", + "description": "Indicates that semantic reranker is disabled for the search service. This is the default." + }, + { + "name": "free", + "value": "free", + "description": "Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services." + }, + { + "name": "standard", + "value": "standard", + "description": "Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries." + } + ] + } + }, + "SearchService": { + "type": "object", + "description": "Describes an Azure AI Search service and its current state.", + "properties": { + "properties": { + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service.", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." }, "identity": { "$ref": "#/definitions/Identity", - "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned." - }, - "systemData": { - "readOnly": true, - "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", - "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/systemData" + "description": "The identity of the resource." } }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } - ], - "description": "The parameters used to update an Azure AI Search service." + ] + }, + "SearchServiceListResult": { + "type": "object", + "description": "Response containing a list of Azure AI Search services.", + "properties": { + "value": { + "type": "array", + "description": "The list of search services.", + "items": { + "$ref": "#/definitions/SearchService" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size.", + "readOnly": true + } + }, + "x-ms-external": true }, "SearchServiceProperties": { + "type": "object", + "description": "Properties of the search service.", "properties": { "replicaCount": { "type": "integer", "format": "int32", - "minimum": 1, - "maximum": 12, + "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU.", "default": 1, - "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." + "minimum": 1, + "maximum": 12 }, "partitionCount": { "type": "integer", "format": "int32", - "minimum": 1, - "maximum": 12, + "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3.", "default": 1, - "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." + "minimum": 1, + "maximum": 12 }, "endpoint": { "type": "string", @@ -2432,8 +3004,8 @@ }, "hostingMode": { "type": "string", - "default": "Default", "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'.", + "default": "Default", "enum": [ "Default", "HighDensity" @@ -2443,46 +3015,26 @@ "modelAsString": false, "values": [ { - "value": "Default", "name": "Default", + "value": "Default", "description": "The limit on number of indexes is determined by the default limits for the SKU." }, { - "value": "HighDensity", "name": "HighDensity", + "value": "HighDensity", "description": "Only application for standard3 SKU, where the search service can have up to 1000 indexes." } ] } }, "computeType": { - "type": "string", - "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute.", - "enum": [ - "Default", - "Confidential" - ], - "x-ms-enum": { - "name": "ComputeType", - "modelAsString": true, - "values": [ - { - "value": "Default", - "name": "Default", - "description": "Create the service with the Default Compute." - }, - { - "value": "Confidential", - "name": "Confidential", - "description": "Create the service with Azure Confidential Compute." - } - ] - } + "$ref": "#/definitions/ComputeType", + "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute." }, "publicNetworkAccess": { "type": "string", - "default": "Enabled", "description": "This value can be set to 'Enabled' to avoid breaking changes on existing customer resources and templates. If set to 'Disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", + "default": "Enabled", "enum": [ "Enabled", "Disabled" @@ -2492,113 +3044,32 @@ "modelAsString": true, "values": [ { - "value": "Enabled", "name": "Enabled", + "value": "Enabled", "description": "The search service is accessible from traffic originating from the public internet." }, { - "value": "Disabled", "name": "Disabled", + "value": "Disabled", "description": "The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections." - }, - { - "value": "SecuredByPerimeter", - "name": "SecuredByPerimeter", - "description": "The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter." } ] } }, "status": { - "readOnly": true, - "type": "string", + "$ref": "#/definitions/SearchServiceStatus", "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", - "enum": [ - "running", - "provisioning", - "deleting", - "degraded", - "disabled", - "error", - "stopped" - ], - "x-ms-enum": { - "name": "SearchServiceStatus", - "modelAsString": false, - "values": [ - { - "value": "running", - "name": "Running", - "description": "The search service is running and no provisioning operations are underway." - }, - { - "value": "provisioning", - "name": "Provisioning", - "description": "The search service is being provisioned or scaled up or down." - }, - { - "value": "deleting", - "name": "Deleting", - "description": "The search service is being deleted." - }, - { - "value": "degraded", - "name": "Degraded", - "description": "The search service is degraded because underlying search units are not healthy." - }, - { - "value": "disabled", - "name": "Disabled", - "description": "The search service is disabled and all API requests will be rejected." - }, - { - "value": "error", - "name": "Error", - "description": "The search service is in error state, indicating either a failure to provision or to be deleted." - }, - { - "value": "stopped", - "name": "Stopped", - "description": "The search service is in a subscription that's disabled." - } - ] - } + "readOnly": true }, "statusDetails": { - "readOnly": true, "type": "string", - "description": "The details of the search service status." + "description": "The details of the search service status.", + "readOnly": true }, "provisioningState": { - "readOnly": true, - "type": "string", + "$ref": "#/definitions/ProvisioningState", "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", - "enum": [ - "succeeded", - "provisioning", - "failed" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false, - "values": [ - { - "value": "succeeded", - "name": "Succeeded", - "description": "The last provisioning operation has completed successfully." - }, - { - "value": "provisioning", - "name": "Provisioning", - "description": "The search service is being provisioned or scaled up or down." - }, - { - "value": "failed", - "name": "Failed", - "description": "The last provisioning operation has failed." - } - ] - } + "readOnly": true }, "networkRuleSet": { "$ref": "#/definitions/NetworkRuleSet", @@ -2606,10 +3077,10 @@ }, "dataExfiltrationProtections": { "type": "array", + "description": "A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future.", "items": { - "$ref": "#/definitions/DataExfiltrationProtection" - }, - "description": "A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future." + "$ref": "#/definitions/SearchDataExfiltrationProtection" + } }, "encryptionWithCmk": { "$ref": "#/definitions/EncryptionWithCmk", @@ -2617,390 +3088,494 @@ }, "disableLocalAuth": { "type": "boolean", - "x-nullable": true, - "description": "When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined." + "description": "When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined.", + "x-nullable": true }, "authOptions": { "$ref": "#/definitions/DataPlaneAuthOptions", "description": "Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true." }, "semanticSearch": { - "$ref": "#/definitions/SemanticSearch", - "x-nullable": true, - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations." + "$ref": "#/definitions/SearchSemanticSearch", + "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations.", + "x-nullable": true }, "privateEndpointConnections": { - "readOnly": true, "type": "array", + "description": "The list of private endpoint connections to the Azure AI Search service.", "items": { "$ref": "#/definitions/PrivateEndpointConnection" }, - "description": "The list of private endpoint connections to the Azure AI Search service." + "readOnly": true }, "sharedPrivateLinkResources": { - "readOnly": true, "type": "array", + "description": "The list of shared private link resources managed by the Azure AI Search service.", "items": { "$ref": "#/definitions/SharedPrivateLinkResource" }, - "description": "The list of shared private link resources managed by the Azure AI Search service." + "readOnly": true }, "eTag": { - "readOnly": true, "type": "string", - "description": "A system generated property representing the service's etag that can be for optimistic concurrency control during updates." + "description": "A system generated property representing the service's etag that can be for optimistic concurrency control during updates.", + "readOnly": true }, "upgradeAvailable": { - "type": "string", - "description": "Indicates if the search service has an upgrade available.", - "enum": [ - "notAvailable", - "available" - ], - "x-ms-enum": { - "name": "UpgradeAvailable", - "modelAsString": true, - "values": [ - { - "value": "notAvailable", - "name": "NotAvailable", - "description": "An upgrade is currently not available for the service." - }, - { - "value": "available", - "name": "Available", - "description": "There is an upgrade available for the service." - } - ] - } + "$ref": "#/definitions/UpgradeAvailable", + "description": "Indicates if the search service has an upgrade available." }, "serviceUpgradedAt": { - "readOnly": true, "type": "string", "format": "date-time", - "description": "The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time." + "description": "The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time.", + "readOnly": true } - }, - "description": "Properties of the search service." + } }, - "SearchServiceListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SearchService" + "SearchServiceStatus": { + "type": "string", + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", + "enum": [ + "running", + "provisioning", + "deleting", + "degraded", + "disabled", + "error", + "stopped" + ], + "x-ms-enum": { + "name": "SearchServiceStatus", + "modelAsString": false, + "values": [ + { + "name": "Running", + "value": "running", + "description": "The search service is running and no provisioning operations are underway." }, - "description": "The list of search services." - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size." - } - }, - "description": "Response containing a list of Azure AI Search services.", - "x-ms-external": true - }, - "AsyncOperationResult": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "The current status of the long running asynchronous shared private link resource operation.", - "enum": [ - "Running", - "Succeeded", - "Failed" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceAsyncOperationResult", - "modelAsString": true + { + "name": "Provisioning", + "value": "provisioning", + "description": "The search service is being provisioned or scaled up or down." + }, + { + "name": "Deleting", + "value": "deleting", + "description": "The search service is being deleted." + }, + { + "name": "Degraded", + "value": "degraded", + "description": "The search service is degraded because underlying search units are not healthy." + }, + { + "name": "Disabled", + "value": "disabled", + "description": "The search service is disabled and all API requests will be rejected." + }, + { + "name": "Error", + "value": "error", + "description": "The search service is in error state, indicating either a failure to provision or to be deleted." + }, + { + "name": "Stopped", + "value": "stopped", + "description": "The search service is in a subscription that's disabled." } - } - }, - "description": "The details of a long running asynchronous shared private link resource operation." + ] + } }, - "CloudError": { + "SearchServiceUpdate": { "type": "object", + "description": "The parameters used to update an Azure AI Search service.", "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody", - "description": "Describes a particular API error with an error code and a message." + "properties": { + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service.", + "x-ms-client-flatten": true }, - "message": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." + }, + "location": { "type": "string", - "description": "A brief description of the error that hints at what went wrong (for details/debugging information refer to the 'error.message' property)." + "description": "The geographic location of the resource. This must be one of the supported and registered Azure geo regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "description": "Tags to help categorize the resource in the Azure portal.", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned." } }, - "description": "Contains information about an API error.", - "x-ms-external": true + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ] + }, + "Severity": { + "type": "string", + "description": "Severity of the issue.", + "enum": [ + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true, + "values": [ + { + "name": "Warning", + "value": "Warning" + }, + { + "name": "Error", + "value": "Error" + } + ] + } }, - "CloudErrorBody": { + "ShareablePrivateLinkResourceProperties": { "type": "object", - "description": "Describes a particular API error with an error code and a message.", + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search.", "properties": { - "code": { + "type": { "type": "string", - "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure AI Search.", + "readOnly": true }, - "message": { + "groupId": { "type": "string", - "description": "A message that describes the error in detail and provides debugging information." + "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure AI Search.", + "readOnly": true }, - "target": { + "description": { "type": "string", - "description": "The target of the particular error (for example, the name of the property in error)." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "description": "Contains nested errors that are related to this error." + "description": "The description of the resource type that has been onboarded to private link service, supported by Azure AI Search.", + "readOnly": true } - }, - "x-ms-external": true + } }, - "OperationListResult": { - "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", + "ShareablePrivateLinkResourceType": { + "type": "object", + "description": "Describes an resource type that has been onboarded to private link service, supported by Azure AI Search.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Operation" - }, - "readOnly": true, - "description": "The list of operations by Azure AI Search, some supported by the resource provider and others by data plane APIs." - }, - "nextLink": { + "name": { "type": "string", - "readOnly": true, - "description": "The URL to get the next set of operation list results, if any." + "description": "The name of the resource type that has been onboarded to private link service, supported by Azure AI Search.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search.", + "readOnly": true } } }, - "Identity": { + "SharedPrivateLinkResource": { + "type": "object", + "description": "Describes a shared private link resource managed by the Azure AI Search service.", "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal ID of the system-assigned identity of the search service." - }, - "tenantId": { - "readOnly": true, - "type": "string", - "description": "The tenant ID of the system-assigned identity of the search service." - }, - "type": { - "type": "string", - "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service.", - "enum": [ - "None", - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned" - ], - "x-ms-enum": { - "name": "IdentityType", - "modelAsString": true, - "values": [ - { - "value": "None", - "name": "None", - "description": "Indicates that any identity associated with the search service needs to be removed." - }, - { - "value": "SystemAssigned", - "name": "SystemAssigned", - "description": "Indicates that system-assigned identity for the search service will be enabled." - }, - { - "value": "UserAssigned", - "name": "UserAssigned", - "description": "Indicates that one or more user assigned identities will be assigned to the search service." - }, - { - "value": "SystemAssigned, UserAssigned", - "name": "SystemAssigned, UserAssigned", - "description": "Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities." - } - ] - } - }, - "userAssignedIdentities": { - "$ref": "#/definitions/UserAssignedManagedIdentities", - "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a shared private link resource managed by the Azure AI Search service." } }, - "required": [ - "type" - ], - "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned." + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "UserAssignedManagedIdentities": { - "type": "object", - "description": "The list of user identities associated with the search service. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", - "additionalProperties": { - "$ref": "../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/UserAssignedIdentity" + "SharedPrivateLinkResourceAsyncOperationResult": { + "type": "string", + "description": "The current status of the long running asynchronous shared private link resource operation.", + "enum": [ + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceAsyncOperationResult", + "modelAsString": true, + "values": [ + { + "name": "Running", + "value": "Running" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed" + } + ] } }, - "QuotaUsagesListResult": { + "SharedPrivateLinkResourceListResult": { "type": "object", + "description": "Response containing a list of shared private link resources.", "properties": { "value": { - "readOnly": true, "type": "array", + "description": "The list of shared private link resources.", "items": { - "$ref": "#/definitions/QuotaUsageResult" + "$ref": "#/definitions/SharedPrivateLinkResource" }, - "description": "The quota usages for the SKUs supported by Azure AI Search." + "readOnly": true }, "nextLink": { - "readOnly": true, "type": "string", - "description": "Request URL that can be used to query next page of quota usages. Returned when the total number of requested quota usages exceed maximum page size." + "description": "The URL to get the next set of shared private link resources, if there are any." } }, - "description": "Response containing the quota usage information for all the supported SKUs of Azure AI Search.", "x-ms-external": true }, - "QuotaUsageResult": { + "SharedPrivateLinkResourceProperties": { "type": "object", + "description": "Describes the properties of an existing shared private link resource managed by the Azure AI Search service.", "properties": { - "id": { + "privateLinkResourceId": { "type": "string", - "description": "The resource ID of the quota usage SKU endpoint for Microsoft.Search provider." + "description": "The resource ID of the resource the shared private link resource is for." }, - "unit": { + "groupId": { "type": "string", - "description": "The unit of measurement for the search SKU." + "description": "The group ID from the provider of resource the shared private link resource is for." }, - "currentValue": { - "type": "integer", - "format": "int32", - "description": "The currently used up value for the particular search SKU." + "requestMessage": { + "type": "string", + "description": "The message for requesting approval of the shared private link resource." }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The quota limit for the particular search SKU." + "resourceRegion": { + "type": "string", + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service)." }, - "name": { - "readOnly": true, - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The SKU name supported by Azure AI Search." - }, - "localizedValue": { - "type": "string", - "description": "The localized string value for the SKU name." - } - }, - "description": "The name of the SKU supported by Azure AI Search." + "status": { + "$ref": "#/definitions/SharedPrivateLinkResourceStatus", + "description": "Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected." + }, + "provisioningState": { + "$ref": "#/definitions/SharedPrivateLinkResourceProvisioningState", + "description": "The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete." } - }, - "description": "Describes the quota usage for a particular SKU." - } - }, - "parameters": { - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.", - "x-ms-parameter-location": "method" + } }, - "SearchServiceNameParameter": { - "name": "searchServiceName", - "in": "path", - "required": true, + "SharedPrivateLinkResourceProvisioningState": { "type": "string", - "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$", - "description": "The name of the Azure AI Search service associated with the specified resource group.", - "x-ms-parameter-location": "method" - }, - "PrivateEndpointConnectionNameParameter": { - "name": "privateEndpointConnectionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the private endpoint connection to the Azure AI Search service with the specified resource group.", - "x-ms-parameter-location": "method" + "description": "The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete.", + "enum": [ + "Updating", + "Deleting", + "Failed", + "Succeeded", + "Incomplete" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Updating", + "value": "Updating", + "description": "The shared private link resource is in the process of being created along with other resources for it to be fully functional." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The shared private link resource is in the process of being deleted." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The shared private link resource has failed to be provisioned or deleted." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The shared private link resource has finished provisioning and is ready for approval." + }, + { + "name": "Incomplete", + "value": "Incomplete", + "description": "Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet." + } + ] + } }, - "SharedPrivateLinkResourceNameParameter": { - "name": "sharedPrivateLinkResourceName", - "in": "path", - "required": true, + "SharedPrivateLinkResourceStatus": { "type": "string", - "description": "The name of the shared private link resource managed by the Azure AI Search service within the specified resource group.", - "x-ms-parameter-location": "method" + "description": "Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": true, + "values": [ + { + "name": "Pending", + "value": "Pending", + "description": "The shared private link resource has been created and is pending approval." + }, + { + "name": "Approved", + "value": "Approved", + "description": "The shared private link resource is approved and is ready for use." + }, + { + "name": "Rejected", + "value": "Rejected", + "description": "The shared private link resource has been rejected and cannot be used." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The shared private link resource has been removed from the service." + } + ] + } }, - "OperationNameParameter": { - "name": "operationName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of a shared private link resource operation.", - "x-ms-parameter-location": "method" - }, - "ClientRequestIdParameter": { - "name": "x-ms-client-request-id", - "x-ms-client-name": "clientRequestId", - "in": "header", - "required": false, - "type": "string", - "format": "uuid", - "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", - "x-ms-client-request-id": true, - "x-ms-parameter-grouping": { - "name": "search-management-request-options" + "Sku": { + "type": "object", + "description": "Defines the SKU of a search service, which determines billing rate and capacity limits.", + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'" + } }, - "x-ms-parameter-location": "method" - }, - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal." + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, + "SkuName": { "type": "string", - "description": "The API version to use for each request." + "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'", + "enum": [ + "free", + "basic", + "standard", + "standard2", + "standard3", + "storage_optimized_l1", + "storage_optimized_l2" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true, + "values": [ + { + "name": "Free", + "value": "free", + "description": "Free tier, with no SLA guarantees and a subset of the features offered on billable tiers." + }, + { + "name": "Basic", + "value": "basic", + "description": "Billable tier for a dedicated service having up to 3 replicas." + }, + { + "name": "Standard", + "value": "standard", + "description": "Billable tier for a dedicated service having up to 12 partitions and 12 replicas." + }, + { + "name": "Standard2", + "value": "standard2", + "description": "Similar to 'standard', but with more capacity per search unit." + }, + { + "name": "Standard3", + "value": "standard3", + "description": "The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity')." + }, + { + "name": "StorageOptimizedL1", + "value": "storage_optimized_l1", + "description": "Billable tier for a dedicated service that supports 1TB per partition, up to 12 partitions." + }, + { + "name": "StorageOptimizedL2", + "value": "storage_optimized_l2", + "description": "Billable tier for a dedicated service that supports 2TB per partition, up to 12 partitions." + } + ] + } }, - "LocationParameter": { - "name": "location", - "in": "path", - "required": true, + "UnavailableNameReason": { "type": "string", - "description": "The unique location name for a Microsoft Azure geographic region.", - "x-ms-parameter-location": "method" + "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "UnavailableNameReason", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid", + "description": "The search service name doesn't match naming requirements." + }, + { + "name": "AlreadyExists", + "value": "AlreadyExists", + "description": "The search service name is already assigned to a different search service." + } + ] + } }, - "SkuNameParameter": { - "name": "skuName", - "in": "path", - "required": true, + "UpgradeAvailable": { "type": "string", - "description": "The unique SKU name that identifies a billable tier.", - "x-ms-parameter-location": "method" + "description": "Indicates if the search service has an upgrade available.", + "enum": [ + "notAvailable", + "available" + ], + "x-ms-enum": { + "name": "UpgradeAvailable", + "modelAsString": true, + "values": [ + { + "name": "NotAvailable", + "value": "notAvailable", + "description": "An upgrade is currently not available for the service." + }, + { + "name": "Available", + "value": "available", + "description": "There is an upgrade available for the service." + } + ] + } }, - "NspConfigNameParameter": { - "name": "nspConfigName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$", - "minLength": 38, - "maxLength": 100, - "description": "The network security perimeter configuration name.", - "x-ms-parameter-location": "method" + "UserAssignedManagedIdentities": { + "type": "object", + "description": "The list of user identities associated with the search service. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "additionalProperties": { + "$ref": "../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/UserAssignedIdentity" + } } - } + }, + "parameters": {} } From a87373a7df10ac977f05807b598896db6c78ca1f Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 14:28:57 +0800 Subject: [PATCH 03/37] Delete unnecessary decorators --- .../search/Search.Management/SearchService.tsp | 13 ------------- specification/search/Search.Management/models.tsp | 1 - specification/search/Search.Management/routes.tsp | 2 -- 3 files changed, 16 deletions(-) diff --git a/specification/search/Search.Management/SearchService.tsp b/specification/search/Search.Management/SearchService.tsp index 53657baa2cb8..e98d20c65bee 100644 --- a/specification/search/Search.Management/SearchService.tsp +++ b/specification/search/Search.Management/SearchService.tsp @@ -131,7 +131,6 @@ interface SearchServices { * Gets the search service with the given name in the given resource group. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Services_Get") @externalDocs("https://aka.ms/search-manage") get is ArmResourceRead< SearchService, @@ -151,7 +150,6 @@ interface SearchServices { * Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Services_CreateOrUpdate") @externalDocs("https://aka.ms/search-manage") createOrUpdate is ArmResourceCreateOrReplaceAsync< SearchService, @@ -173,7 +171,6 @@ interface SearchServices { * Updates an existing search service in the given resource group. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Services_Update") @patch(#{ implicitOptionality: false }) @externalDocs("https://aka.ms/search-manage") update is ArmCustomPatchSync< @@ -196,7 +193,6 @@ interface SearchServices { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Services_Delete") @externalDocs("https://aka.ms/search-manage") delete is ArmResourceDeleteSync< SearchService, @@ -217,7 +213,6 @@ interface SearchServices { * Gets a list of all Search services in the given resource group. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Services_ListByResourceGroup") @externalDocs("https://aka.ms/search-manage") listByResourceGroup is ArmResourceListByParent< SearchService, @@ -239,7 +234,6 @@ interface SearchServices { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") - @operationId("Services_ListBySubscription") listBySubscription is ArmListBySubscription< SearchService, Parameters = { @@ -259,7 +253,6 @@ interface SearchServices { * Gets the primary and secondary admin API keys for the specified Azure AI Search service. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("AdminKeys_Get") @action("listAdminKeys") @externalDocs("https://aka.ms/search-manage") adminKeysGet is ArmResourceActionSync< @@ -282,7 +275,6 @@ interface SearchServices { * Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("AdminKeys_Regenerate") @externalDocs("https://aka.ms/search-manage") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}") regenerate is AdminKeysOps.ActionSync< @@ -305,7 +297,6 @@ interface SearchServices { * Generates a new query key for the specified search service. You can create up to 50 query keys per service. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("QueryKeys_Create") @post @externalDocs("https://aka.ms/search-manage") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}") @@ -329,7 +320,6 @@ interface SearchServices { * Returns the list of query API keys for the given Azure AI Search service. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("QueryKeys_ListBySearchService") @action("listQueryKeys") @externalDocs("https://aka.ms/search-manage") @list @@ -353,7 +343,6 @@ interface SearchServices { * Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("QueryKeys_Delete") @delete @externalDocs("https://aka.ms/search-manage") queryKeysDelete is QueryKeysDeleteOps.ActionSync< @@ -375,8 +364,6 @@ interface SearchServices { /** * Upgrades the Azure AI Search service to the latest version available. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Services_Upgrade") upgrade is ArmResourceActionAsync< SearchService, void, diff --git a/specification/search/Search.Management/models.tsp b/specification/search/Search.Management/models.tsp index a281ee3a3756..008ac8c4d63f 100644 --- a/specification/search/Search.Management/models.tsp +++ b/specification/search/Search.Management/models.tsp @@ -991,7 +991,6 @@ model SearchServiceUpdate extends Azure.ResourceManager.CommonTypes.Resource { * Properties of the search service. */ #suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @Azure.ResourceManager.Private.conditionalClientFlatten properties?: SearchServiceProperties; /** diff --git a/specification/search/Search.Management/routes.tsp b/specification/search/Search.Management/routes.tsp index d0800df6dfc6..27b4aec92304 100644 --- a/specification/search/Search.Management/routes.tsp +++ b/specification/search/Search.Management/routes.tsp @@ -19,7 +19,6 @@ interface ServicesOperationGroup { * Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Services_CheckNameAvailability") @externalDocs("https://aka.ms/search-manage") @autoRoute checkNameAvailability is ArmProviderActionSync< @@ -45,7 +44,6 @@ interface UsagesOperationGroup { * Get a list of all Azure AI Search quota usages across the subscription. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Usages_ListBySubscription") @autoRoute @get @action("usages") From 373890c43d3086460007524893b2c4853a39727d Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:12:07 +0800 Subject: [PATCH 04/37] Fix Swagger Model Validation Errors --- .../CreateOrUpdateSharedPrivateLinkResource.json | 14 +++++++------- .../DeletePrivateEndpointConnection.json | 8 ++++---- .../DeleteSharedPrivateLinkResource.json | 8 ++++---- .../2025-05-01/GetPrivateEndpointConnection.json | 8 ++++---- .../examples/2025-05-01/GetQuotaUsage.json | 4 ++-- .../examples/2025-05-01/GetQuotaUsagesList.json | 4 ++-- .../2025-05-01/GetSharedPrivateLinkResource.json | 8 ++++---- .../ListPrivateEndpointConnectionsByService.json | 8 ++++---- .../ListSharedPrivateLinkResourcesByService.json | 8 ++++---- .../ListSupportedPrivateLinkResources.json | 6 +++--- .../NetworkSecurityPerimeterConfigurationsGet.json | 8 ++++---- ...curityPerimeterConfigurationsListByService.json | 8 ++++---- ...rkSecurityPerimeterConfigurationsReconcile.json | 6 +++--- .../2025-05-01/SearchCheckNameAvailability.json | 4 ++-- .../2025-05-01/SearchCreateOrUpdateService.json | 8 ++++---- .../SearchCreateOrUpdateServiceAuthOptions.json | 8 ++++---- ...earchCreateOrUpdateServiceDisableLocalAuth.json | 8 ++++---- ...teServiceToAllowAccessFromPrivateEndpoints.json | 8 ++++---- ...ateServiceToAllowAccessFromPublicCustomIPs.json | 8 ++++---- ...eToAllowAccessFromPublicCustomIPsAndBypass.json | 8 ++++---- ...rchCreateOrUpdateServiceWithCmkEnforcement.json | 8 ++++---- ...hCreateOrUpdateServiceWithDataExfiltration.json | 8 ++++---- .../SearchCreateOrUpdateServiceWithIdentity.json | 8 ++++---- .../SearchCreateOrUpdateWithSemanticSearch.json | 8 ++++---- .../examples/2025-05-01/SearchCreateQueryKey.json | 4 ++-- .../examples/2025-05-01/SearchDeleteQueryKey.json | 4 ++-- .../examples/2025-05-01/SearchDeleteService.json | 4 ++-- .../examples/2025-05-01/SearchGetAdminKeys.json | 4 ++-- .../examples/2025-05-01/SearchGetService.json | 6 +++--- .../examples/2025-05-01/SearchListOperations.json | 2 +- .../SearchListQueryKeysBySearchService.json | 4 ++-- .../SearchListServicesByResourceGroup.json | 8 ++++---- .../SearchListServicesBySubscription.json | 8 ++++---- .../2025-05-01/SearchRegenerateAdminKey.json | 4 ++-- .../examples/2025-05-01/SearchUpdateService.json | 6 +++--- .../2025-05-01/SearchUpdateServiceAuthOptions.json | 6 +++--- .../SearchUpdateServiceDisableLocalAuth.json | 6 +++--- ...teServiceToAllowAccessFromPrivateEndpoints.json | 6 +++--- ...ateServiceToAllowAccessFromPublicCustomIPs.json | 6 +++--- ...eToAllowAccessFromPublicCustomIPsAndBypass.json | 6 +++--- .../SearchUpdateServiceToRemoveIdentity.json | 6 +++--- .../SearchUpdateServiceWithCmkEnforcement.json | 6 +++--- .../SearchUpdateServiceWithDataExfiltration.json | 6 +++--- .../SearchUpdateServiceWithSemanticSearch.json | 6 +++--- .../2025-05-01/SearchUpdateServiceWithSku.json | 6 +++--- .../UpdatePrivateEndpointConnection.json | 8 ++++---- .../UpgradeSearchServiceToLatestVersion.json | 8 ++++---- .../CreateOrUpdateSharedPrivateLinkResource.json | 14 +++++++------- .../examples/DeletePrivateEndpointConnection.json | 8 ++++---- .../examples/DeleteSharedPrivateLinkResource.json | 8 ++++---- .../examples/GetPrivateEndpointConnection.json | 8 ++++---- .../stable/2025-05-01/examples/GetQuotaUsage.json | 4 ++-- .../2025-05-01/examples/GetQuotaUsagesList.json | 4 ++-- .../examples/GetSharedPrivateLinkResource.json | 8 ++++---- .../ListPrivateEndpointConnectionsByService.json | 8 ++++---- .../ListSharedPrivateLinkResourcesByService.json | 8 ++++---- .../ListSupportedPrivateLinkResources.json | 6 +++--- .../NetworkSecurityPerimeterConfigurationsGet.json | 8 ++++---- ...curityPerimeterConfigurationsListByService.json | 8 ++++---- ...rkSecurityPerimeterConfigurationsReconcile.json | 6 +++--- .../examples/SearchCheckNameAvailability.json | 4 ++-- .../examples/SearchCreateOrUpdateService.json | 8 ++++---- .../SearchCreateOrUpdateServiceAuthOptions.json | 8 ++++---- ...earchCreateOrUpdateServiceDisableLocalAuth.json | 8 ++++---- ...teServiceToAllowAccessFromPrivateEndpoints.json | 8 ++++---- ...ateServiceToAllowAccessFromPublicCustomIPs.json | 8 ++++---- ...eToAllowAccessFromPublicCustomIPsAndBypass.json | 8 ++++---- ...rchCreateOrUpdateServiceWithCmkEnforcement.json | 8 ++++---- ...hCreateOrUpdateServiceWithDataExfiltration.json | 8 ++++---- .../SearchCreateOrUpdateServiceWithIdentity.json | 8 ++++---- .../SearchCreateOrUpdateWithSemanticSearch.json | 8 ++++---- .../2025-05-01/examples/SearchCreateQueryKey.json | 4 ++-- .../2025-05-01/examples/SearchDeleteQueryKey.json | 4 ++-- .../2025-05-01/examples/SearchDeleteService.json | 4 ++-- .../2025-05-01/examples/SearchGetAdminKeys.json | 4 ++-- .../2025-05-01/examples/SearchGetService.json | 6 +++--- .../2025-05-01/examples/SearchListOperations.json | 2 +- .../SearchListQueryKeysBySearchService.json | 4 ++-- .../SearchListServicesByResourceGroup.json | 8 ++++---- .../examples/SearchListServicesBySubscription.json | 8 ++++---- .../examples/SearchRegenerateAdminKey.json | 4 ++-- .../2025-05-01/examples/SearchUpdateService.json | 6 +++--- .../examples/SearchUpdateServiceAuthOptions.json | 6 +++--- .../SearchUpdateServiceDisableLocalAuth.json | 6 +++--- ...teServiceToAllowAccessFromPrivateEndpoints.json | 6 +++--- ...ateServiceToAllowAccessFromPublicCustomIPs.json | 6 +++--- ...eToAllowAccessFromPublicCustomIPsAndBypass.json | 6 +++--- .../SearchUpdateServiceToRemoveIdentity.json | 6 +++--- .../SearchUpdateServiceWithCmkEnforcement.json | 6 +++--- .../SearchUpdateServiceWithDataExfiltration.json | 6 +++--- .../SearchUpdateServiceWithSemanticSearch.json | 6 +++--- .../examples/SearchUpdateServiceWithSku.json | 6 +++--- .../examples/UpdatePrivateEndpointConnection.json | 8 ++++---- .../UpgradeSearchServiceToLatestVersion.json | 8 ++++---- 94 files changed, 312 insertions(+), 312 deletions(-) diff --git a/specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json index d552d14b0533..53d1dfbf71c9 100644 --- a/specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json +++ b/specification/search/Search.Management/examples/2025-05-01/CreateOrUpdateSharedPrivateLinkResource.json @@ -6,23 +6,23 @@ "sharedPrivateLinkResource": { "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null } }, "sharedPrivateLinkResourceName": "testResource", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testResource", "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null, "status": "Pending" @@ -31,11 +31,11 @@ }, "202": { "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01", - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01" } } }, "operationId": "SharedPrivateLinkResources_CreateOrUpdate", "title": "SharedPrivateLinkResourceCreateOrUpdate" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json b/specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json index ccc21c08b7f4..a016a5ecf64b 100644 --- a/specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json +++ b/specification/search/Search.Management/examples/2025-05-01/DeletePrivateEndpointConnection.json @@ -4,17 +4,17 @@ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "", @@ -28,4 +28,4 @@ }, "operationId": "PrivateEndpointConnections_Delete", "title": "PrivateEndpointConnectionDelete" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json b/specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json index 21d47abbfbe3..f04f71e7a288 100644 --- a/specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json +++ b/specification/search/Search.Management/examples/2025-05-01/DeleteSharedPrivateLinkResource.json @@ -4,13 +4,13 @@ "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", "sharedPrivateLinkResourceName": "testResource", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01", - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01" } }, "204": {}, @@ -18,4 +18,4 @@ }, "operationId": "SharedPrivateLinkResources_Delete", "title": "SharedPrivateLinkResourceDelete" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json b/specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json index 6531765952c8..936f6c5d7947 100644 --- a/specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json +++ b/specification/search/Search.Management/examples/2025-05-01/GetPrivateEndpointConnection.json @@ -4,17 +4,17 @@ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "", @@ -27,4 +27,4 @@ }, "operationId": "PrivateEndpointConnections_Get", "title": "PrivateEndpointConnectionGet" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json index ed098391ff2f..430dc7e40ea8 100644 --- a/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json +++ b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsage.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "location": "westus", "skuName": "free", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -21,4 +21,4 @@ }, "operationId": "UsageBySubscriptionSku", "title": "GetQuotaUsage" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json index f93334d380cb..626bd353dd43 100644 --- a/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json +++ b/specification/search/Search.Management/examples/2025-05-01/GetQuotaUsagesList.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2025-05-01", "location": "westus", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -85,4 +85,4 @@ }, "operationId": "Usages_ListBySubscription", "title": "GetQuotaUsagesList" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json b/specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json index c8d524a9d6b9..8b94116a60a0 100644 --- a/specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json +++ b/specification/search/Search.Management/examples/2025-05-01/GetSharedPrivateLinkResource.json @@ -4,17 +4,17 @@ "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", "sharedPrivateLinkResourceName": "testResource", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testResource", "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null, "status": "Pending" @@ -24,4 +24,4 @@ }, "operationId": "SharedPrivateLinkResources_Get", "title": "SharedPrivateLinkResourceGet" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json b/specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json index 1a42c33a8297..599b574c56cf 100644 --- a/specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json +++ b/specification/search/Search.Management/examples/2025-05-01/ListPrivateEndpointConnectionsByService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -12,10 +12,10 @@ { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "", @@ -30,4 +30,4 @@ }, "operationId": "PrivateEndpointConnections_ListByService", "title": "ListPrivateEndpointConnectionsByService" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json b/specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json index 2efa89570792..d2bf526c554d 100644 --- a/specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json +++ b/specification/search/Search.Management/examples/2025-05-01/ListSharedPrivateLinkResourcesByService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -12,10 +12,10 @@ { "name": "testResource", "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null, "status": "Pending" @@ -27,4 +27,4 @@ }, "operationId": "SharedPrivateLinkResources_ListByService", "title": "ListSharedPrivateLinkResourcesByService" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json b/specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json index 1d0821f7154b..ced639c3ac44 100644 --- a/specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json +++ b/specification/search/Search.Management/examples/2025-05-01/ListSupportedPrivateLinkResources.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -12,7 +12,7 @@ { "name": "searchService", "type": "Microsoft.Search/searchServices/privateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", "properties": { "groupId": "searchService", "requiredMembers": [ @@ -87,4 +87,4 @@ }, "operationId": "PrivateLinkResources_ListSupported", "title": "ListSupportedPrivateLinkResources" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json index 3d971225f7db..6128dbc85ba7 100644 --- a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json +++ b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsGet.json @@ -4,17 +4,17 @@ "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "00000001-2222-3333-4444-111144444444.assoc1", "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "properties": { "networkSecurityPerimeter": { - "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", "location": "westus" }, "profile": { @@ -44,4 +44,4 @@ }, "operationId": "NetworkSecurityPerimeterConfigurations_Get", "title": "Get an NSP config by name" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json index d4bbd391f4d0..bbbd6a2ecb21 100644 --- a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json +++ b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsListByService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -13,10 +13,10 @@ { "name": "00000001-2222-3333-4444-111144444444.assoc1", "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "properties": { "networkSecurityPerimeter": { - "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", "location": "westus" }, "profile": { @@ -48,4 +48,4 @@ }, "operationId": "NetworkSecurityPerimeterConfigurations_ListByService", "title": "List NSP configs by search service" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json index 4f9204ed745e..57f06f03409b 100644 --- a/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json +++ b/specification/search/Search.Management/examples/2025-05-01/NetworkSecurityPerimeterConfigurationsReconcile.json @@ -4,15 +4,15 @@ "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { "headers": { - "Location": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/AsyncOperationResults/11111111-1111-1111-1111-111111111111" + "Location": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/AsyncOperationResults/11111111-1111-1111-1111-111111111111" } } }, "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", "title": "Reconcile NSP Config" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json b/specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json index 34c3a8d3d47c..16bf80a7b2fb 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCheckNameAvailability.json @@ -5,7 +5,7 @@ "name": "mysearchservice", "type": "searchServices" }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -18,4 +18,4 @@ }, "operationId": "Services_CheckNameAvailability", "title": "SearchCheckNameAvailability" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json index 53e5fbf76cfa..1c0491356bbb 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateService.json @@ -18,14 +18,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -75,7 +75,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -124,4 +124,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateService" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json index eac1b2ba23fe..715d31b29984 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceAuthOptions.json @@ -23,14 +23,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -81,7 +81,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -131,4 +131,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceAuthOptions" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json index 0c17767e292c..cc32457da2ae 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceDisableLocalAuth.json @@ -19,14 +19,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": null, @@ -74,7 +74,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": null, @@ -121,4 +121,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceDisableLocalAuth" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json index 932139afbcdd..41cdf9d70093 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -19,14 +19,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -76,7 +76,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -125,4 +125,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json index 05578585e37c..48c608e35467 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -28,14 +28,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -91,7 +91,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -146,4 +146,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json index 1aa4a899c2f5..a5c6fb1c70cd 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -29,14 +29,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -93,7 +93,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -149,4 +149,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json index 13e20ad23b2c..efa4772374e9 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithCmkEnforcement.json @@ -21,14 +21,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -78,7 +78,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -127,4 +127,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceWithCmkEnforcement" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json index d60dc822414d..5cb1a5613bbc 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithDataExfiltration.json @@ -21,14 +21,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -80,7 +80,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -131,4 +131,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceWithDataExfiltration" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json index b23e882fe612..d2518ef52f37 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateServiceWithIdentity.json @@ -24,14 +24,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "identity": { "type": "SystemAssigned, UserAssigned", "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", @@ -92,7 +92,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "identity": { "type": "SystemAssigned, UserAssigned", "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", @@ -152,4 +152,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceWithIdentity" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json index aeaadaa2a807..3f2175f72604 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateOrUpdateWithSemanticSearch.json @@ -19,14 +19,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -77,7 +77,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -127,4 +127,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateWithSemanticSearch" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json b/specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json index 03ac3d554e4b..46b1db5afb22 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchCreateQueryKey.json @@ -4,7 +4,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,4 +16,4 @@ }, "operationId": "QueryKeys_Create", "title": "SearchCreateQueryKey" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json index 385de1a5b566..2645551008c0 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteQueryKey.json @@ -4,7 +4,7 @@ "key": "", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -13,4 +13,4 @@ }, "operationId": "QueryKeys_Delete", "title": "SearchDeleteQueryKey" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json index b538617bf7e8..b2ba7279a69f 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchDeleteService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -12,4 +12,4 @@ }, "operationId": "Services_Delete", "title": "SearchDeleteService" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json b/specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json index 80112739e201..a1e3402500ce 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchGetAdminKeys.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -15,4 +15,4 @@ }, "operationId": "AdminKeys_Get", "title": "SearchGetAdminKeys" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchGetService.json b/specification/search/Search.Management/examples/2025-05-01/SearchGetService.json index 19105690af9b..330d48d1a9c1 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchGetService.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchGetService.json @@ -3,14 +3,14 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -59,4 +59,4 @@ }, "operationId": "Services_Get", "title": "SearchGetService" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json b/specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json index 4bcce96f1a49..a65a717a9eb5 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListOperations.json @@ -559,4 +559,4 @@ }, "operationId": "Operations_List", "title": "SearchListOperations" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json b/specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json index b1bff6c97cdf..c8bd27ec4cee 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListQueryKeysBySearchService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -23,4 +23,4 @@ }, "operationId": "QueryKeys_ListBySearchService", "title": "SearchListQueryKeysBySearchService" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json index b4ffcbae5991..6bc5d69ac69e 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesByResourceGroup.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2025-05-01", "resourceGroupName": "rg1", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -11,7 +11,7 @@ { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -59,7 +59,7 @@ { "name": "mysearchservice2", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", "location": "eastus", "properties": { "authOptions": { @@ -110,4 +110,4 @@ }, "operationId": "Services_ListByResourceGroup", "title": "SearchListServicesByResourceGroup" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json index d609bdc65b79..987f2882caa3 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchListServicesBySubscription.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2025-05-01", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -10,7 +10,7 @@ { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -58,7 +58,7 @@ { "name": "mysearchservice2", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", "location": "eastus", "properties": { "authOptions": { @@ -109,4 +109,4 @@ }, "operationId": "Services_ListBySubscription", "title": "SearchListServicesBySubscription" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json b/specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json index 022b4ad4aa7b..23482dfd9734 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchRegenerateAdminKey.json @@ -4,7 +4,7 @@ "keyKind": "primary", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,4 +16,4 @@ }, "operationId": "AdminKeys_Regenerate", "title": "SearchRegenerateAdminKey" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json index 3bee46e004dd..492ab548ef0c 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateService.json @@ -12,14 +12,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -69,4 +69,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateService" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json index f5d23f027e39..801240c04c77 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceAuthOptions.json @@ -17,14 +17,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -75,4 +75,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceAuthOptions" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json index efa9b7092345..bab84a85a782 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceDisableLocalAuth.json @@ -13,14 +13,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": null, @@ -68,4 +68,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceDisableLocalAuth" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json index 754754b96c2d..df897b43b370 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -10,14 +10,14 @@ "replicaCount": 1 } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -67,4 +67,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToAllowAccessFromPrivateEndpoints" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json index 2ddb65b9646e..0196391625a5 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -20,14 +20,14 @@ "replicaCount": 3 } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -80,4 +80,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPs" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json index 8f8f48d58805..e0478fe22ace 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -21,14 +21,14 @@ "replicaCount": 3 } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -82,4 +82,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json index 40bfae3c2a11..550363095c33 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceToRemoveIdentity.json @@ -11,14 +11,14 @@ "name": "standard" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -65,4 +65,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToRemoveIdentity" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json index 4f3e77bc1d94..cf4fea7210a1 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithCmkEnforcement.json @@ -15,14 +15,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -72,4 +72,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithCmkEnforcement" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json index 446dc4a38006..b35421570e42 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithDataExfiltration.json @@ -15,14 +15,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -74,4 +74,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithDataExfiltration" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json index cb6272d8d6d3..2766d6a6d713 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSemanticSearch.json @@ -13,14 +13,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -71,4 +71,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithSemanticSearch" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json index ecc53bc52875..1ce95e67c435 100644 --- a/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json +++ b/specification/search/Search.Management/examples/2025-05-01/SearchUpdateServiceWithSku.json @@ -12,14 +12,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -68,4 +68,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithSku" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json b/specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json index b8eec74e728e..438062df56fb 100644 --- a/specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json +++ b/specification/search/Search.Management/examples/2025-05-01/UpdatePrivateEndpointConnection.json @@ -12,17 +12,17 @@ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "Rejected for some reason.", @@ -35,4 +35,4 @@ }, "operationId": "PrivateEndpointConnections_Update", "title": "PrivateEndpointConnectionUpdate" -} \ No newline at end of file +} diff --git a/specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json b/specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json index ec57704ba540..62c918d98c12 100644 --- a/specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json +++ b/specification/search/Search.Management/examples/2025-05-01/UpgradeSearchServiceToLatestVersion.json @@ -3,14 +3,14 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -58,10 +58,10 @@ }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/operationResults/11111111-1111-1111-1111-111111111111?api-version=2025-05-01" + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/operationResults/11111111-1111-1111-1111-111111111111?api-version=2025-05-01" } } }, "operationId": "Services_Upgrade", "title": "UpgradeSearchServiceToLatestVersion" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json index d552d14b0533..53d1dfbf71c9 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/CreateOrUpdateSharedPrivateLinkResource.json @@ -6,23 +6,23 @@ "sharedPrivateLinkResource": { "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null } }, "sharedPrivateLinkResourceName": "testResource", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testResource", "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null, "status": "Pending" @@ -31,11 +31,11 @@ }, "202": { "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01", - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2025-05-01" } } }, "operationId": "SharedPrivateLinkResources_CreateOrUpdate", "title": "SharedPrivateLinkResourceCreateOrUpdate" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json index ccc21c08b7f4..a016a5ecf64b 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeletePrivateEndpointConnection.json @@ -4,17 +4,17 @@ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "", @@ -28,4 +28,4 @@ }, "operationId": "PrivateEndpointConnections_Delete", "title": "PrivateEndpointConnectionDelete" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json index 21d47abbfbe3..f04f71e7a288 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/DeleteSharedPrivateLinkResource.json @@ -4,13 +4,13 @@ "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", "sharedPrivateLinkResourceName": "testResource", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01", - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2025-05-01" } }, "204": {}, @@ -18,4 +18,4 @@ }, "operationId": "SharedPrivateLinkResources_Delete", "title": "SharedPrivateLinkResourceDelete" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json index 6531765952c8..936f6c5d7947 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetPrivateEndpointConnection.json @@ -4,17 +4,17 @@ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "", @@ -27,4 +27,4 @@ }, "operationId": "PrivateEndpointConnections_Get", "title": "PrivateEndpointConnectionGet" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json index ed098391ff2f..430dc7e40ea8 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsage.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "location": "westus", "skuName": "free", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -21,4 +21,4 @@ }, "operationId": "UsageBySubscriptionSku", "title": "GetQuotaUsage" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json index f93334d380cb..626bd353dd43 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetQuotaUsagesList.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2025-05-01", "location": "westus", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -85,4 +85,4 @@ }, "operationId": "Usages_ListBySubscription", "title": "GetQuotaUsagesList" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json index c8d524a9d6b9..8b94116a60a0 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/GetSharedPrivateLinkResource.json @@ -4,17 +4,17 @@ "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", "sharedPrivateLinkResourceName": "testResource", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testResource", "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null, "status": "Pending" @@ -24,4 +24,4 @@ }, "operationId": "SharedPrivateLinkResources_Get", "title": "SharedPrivateLinkResourceGet" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json index 1a42c33a8297..599b574c56cf 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListPrivateEndpointConnectionsByService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -12,10 +12,10 @@ { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "", @@ -30,4 +30,4 @@ }, "operationId": "PrivateEndpointConnections_ListByService", "title": "ListPrivateEndpointConnectionsByService" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json index 2efa89570792..d2bf526c554d 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSharedPrivateLinkResourcesByService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -12,10 +12,10 @@ { "name": "testResource", "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", "properties": { "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", "requestMessage": "please approve", "resourceRegion": null, "status": "Pending" @@ -27,4 +27,4 @@ }, "operationId": "SharedPrivateLinkResources_ListByService", "title": "ListSharedPrivateLinkResourcesByService" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json index 1d0821f7154b..ced639c3ac44 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/ListSupportedPrivateLinkResources.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -12,7 +12,7 @@ { "name": "searchService", "type": "Microsoft.Search/searchServices/privateLinkResources", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", "properties": { "groupId": "searchService", "requiredMembers": [ @@ -87,4 +87,4 @@ }, "operationId": "PrivateLinkResources_ListSupported", "title": "ListSupportedPrivateLinkResources" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json index 3d971225f7db..6128dbc85ba7 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsGet.json @@ -4,17 +4,17 @@ "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "00000001-2222-3333-4444-111144444444.assoc1", "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "properties": { "networkSecurityPerimeter": { - "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", "location": "westus" }, "profile": { @@ -44,4 +44,4 @@ }, "operationId": "NetworkSecurityPerimeterConfigurations_Get", "title": "Get an NSP config by name" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json index d4bbd391f4d0..bbbd6a2ecb21 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsListByService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -13,10 +13,10 @@ { "name": "00000001-2222-3333-4444-111144444444.assoc1", "type": "Microsoft.Search/searchServices/networkSecurityPerimeterConfigurations", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/networkSecurityPerimeterConfigurations/00000001-2222-3333-4444-111144444444.assoc1", "properties": { "networkSecurityPerimeter": { - "id": "/subscriptions/subid/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/networkRG/providers/Microsoft.Network/networkSecurityPerimeters/perimeter1", "location": "westus" }, "profile": { @@ -48,4 +48,4 @@ }, "operationId": "NetworkSecurityPerimeterConfigurations_ListByService", "title": "List NSP configs by search service" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json index 4f9204ed745e..57f06f03409b 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/NetworkSecurityPerimeterConfigurationsReconcile.json @@ -4,15 +4,15 @@ "nspConfigName": "00000001-2222-3333-4444-111144444444.assoc1", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { "headers": { - "Location": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/AsyncOperationResults/11111111-1111-1111-1111-111111111111" + "Location": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/AsyncOperationResults/11111111-1111-1111-1111-111111111111" } } }, "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", "title": "Reconcile NSP Config" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json index 34c3a8d3d47c..16bf80a7b2fb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCheckNameAvailability.json @@ -5,7 +5,7 @@ "name": "mysearchservice", "type": "searchServices" }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -18,4 +18,4 @@ }, "operationId": "Services_CheckNameAvailability", "title": "SearchCheckNameAvailability" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json index 53e5fbf76cfa..1c0491356bbb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateService.json @@ -18,14 +18,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -75,7 +75,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -124,4 +124,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateService" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json index eac1b2ba23fe..715d31b29984 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceAuthOptions.json @@ -23,14 +23,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -81,7 +81,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -131,4 +131,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceAuthOptions" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json index 0c17767e292c..cc32457da2ae 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceDisableLocalAuth.json @@ -19,14 +19,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": null, @@ -74,7 +74,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": null, @@ -121,4 +121,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceDisableLocalAuth" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json index 932139afbcdd..41cdf9d70093 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -19,14 +19,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -76,7 +76,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -125,4 +125,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json index 05578585e37c..48c608e35467 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -28,14 +28,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -91,7 +91,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -146,4 +146,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json index 1aa4a899c2f5..a5c6fb1c70cd 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -29,14 +29,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -93,7 +93,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -149,4 +149,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json index 13e20ad23b2c..efa4772374e9 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithCmkEnforcement.json @@ -21,14 +21,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -78,7 +78,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -127,4 +127,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceWithCmkEnforcement" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json index d60dc822414d..5cb1a5613bbc 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithDataExfiltration.json @@ -21,14 +21,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -80,7 +80,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -131,4 +131,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceWithDataExfiltration" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json index b23e882fe612..d2518ef52f37 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -24,14 +24,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "identity": { "type": "SystemAssigned, UserAssigned", "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", @@ -92,7 +92,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "identity": { "type": "SystemAssigned, UserAssigned", "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", @@ -152,4 +152,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateServiceWithIdentity" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json index aeaadaa2a807..3f2175f72604 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateOrUpdateWithSemanticSearch.json @@ -19,14 +19,14 @@ "app-name": "My e-commerce app" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -77,7 +77,7 @@ "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -127,4 +127,4 @@ }, "operationId": "Services_CreateOrUpdate", "title": "SearchCreateOrUpdateWithSemanticSearch" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json index 03ac3d554e4b..46b1db5afb22 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchCreateQueryKey.json @@ -4,7 +4,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,4 +16,4 @@ }, "operationId": "QueryKeys_Create", "title": "SearchCreateQueryKey" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json index 385de1a5b566..2645551008c0 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteQueryKey.json @@ -4,7 +4,7 @@ "key": "", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -13,4 +13,4 @@ }, "operationId": "QueryKeys_Delete", "title": "SearchDeleteQueryKey" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json index b538617bf7e8..b2ba7279a69f 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchDeleteService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -12,4 +12,4 @@ }, "operationId": "Services_Delete", "title": "SearchDeleteService" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json index 80112739e201..a1e3402500ce 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetAdminKeys.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -15,4 +15,4 @@ }, "operationId": "AdminKeys_Get", "title": "SearchGetAdminKeys" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json index 19105690af9b..330d48d1a9c1 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchGetService.json @@ -3,14 +3,14 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -59,4 +59,4 @@ }, "operationId": "Services_Get", "title": "SearchGetService" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json index 4bcce96f1a49..a65a717a9eb5 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListOperations.json @@ -559,4 +559,4 @@ }, "operationId": "Operations_List", "title": "SearchListOperations" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json index b1bff6c97cdf..c8bd27ec4cee 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListQueryKeysBySearchService.json @@ -3,7 +3,7 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -23,4 +23,4 @@ }, "operationId": "QueryKeys_ListBySearchService", "title": "SearchListQueryKeysBySearchService" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json index b4ffcbae5991..6bc5d69ac69e 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesByResourceGroup.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2025-05-01", "resourceGroupName": "rg1", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -11,7 +11,7 @@ { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -59,7 +59,7 @@ { "name": "mysearchservice2", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", "location": "eastus", "properties": { "authOptions": { @@ -110,4 +110,4 @@ }, "operationId": "Services_ListByResourceGroup", "title": "SearchListServicesByResourceGroup" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json index d609bdc65b79..987f2882caa3 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchListServicesBySubscription.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2025-05-01", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -10,7 +10,7 @@ { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -58,7 +58,7 @@ { "name": "mysearchservice2", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", "location": "eastus", "properties": { "authOptions": { @@ -109,4 +109,4 @@ }, "operationId": "Services_ListBySubscription", "title": "SearchListServicesBySubscription" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json index 022b4ad4aa7b..23482dfd9734 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchRegenerateAdminKey.json @@ -4,7 +4,7 @@ "keyKind": "primary", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,4 +16,4 @@ }, "operationId": "AdminKeys_Regenerate", "title": "SearchRegenerateAdminKey" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json index 3bee46e004dd..492ab548ef0c 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateService.json @@ -12,14 +12,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -69,4 +69,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateService" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json index f5d23f027e39..801240c04c77 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceAuthOptions.json @@ -17,14 +17,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -75,4 +75,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceAuthOptions" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json index efa9b7092345..bab84a85a782 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceDisableLocalAuth.json @@ -13,14 +13,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": null, @@ -68,4 +68,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceDisableLocalAuth" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json index 754754b96c2d..df897b43b370 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -10,14 +10,14 @@ "replicaCount": 1 } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -67,4 +67,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToAllowAccessFromPrivateEndpoints" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json index 2ddb65b9646e..0196391625a5 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -20,14 +20,14 @@ "replicaCount": 3 } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -80,4 +80,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPs" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json index 8f8f48d58805..e0478fe22ace 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -21,14 +21,14 @@ "replicaCount": 3 } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -82,4 +82,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json index 40bfae3c2a11..550363095c33 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceToRemoveIdentity.json @@ -11,14 +11,14 @@ "name": "standard" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -65,4 +65,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceToRemoveIdentity" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json index 4f3e77bc1d94..cf4fea7210a1 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithCmkEnforcement.json @@ -15,14 +15,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -72,4 +72,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithCmkEnforcement" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json index 446dc4a38006..b35421570e42 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithDataExfiltration.json @@ -15,14 +15,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -74,4 +74,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithDataExfiltration" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json index cb6272d8d6d3..2766d6a6d713 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSemanticSearch.json @@ -13,14 +13,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -71,4 +71,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithSemanticSearch" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json index ecc53bc52875..1ce95e67c435 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/SearchUpdateServiceWithSku.json @@ -12,14 +12,14 @@ "new-tag": "Adding a new tag" } }, - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -68,4 +68,4 @@ }, "operationId": "Services_Update", "title": "SearchUpdateServiceWithSku" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json index b8eec74e728e..438062df56fb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpdatePrivateEndpointConnection.json @@ -12,17 +12,17 @@ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "type": "Microsoft.Search/searchServices/privateEndpointConnections", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateEndpoint": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" }, "privateLinkServiceConnectionState": { "description": "Rejected for some reason.", @@ -35,4 +35,4 @@ }, "operationId": "PrivateEndpointConnections_Update", "title": "PrivateEndpointConnectionUpdate" -} \ No newline at end of file +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json index ec57704ba540..62c918d98c12 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/examples/UpgradeSearchServiceToLatestVersion.json @@ -3,14 +3,14 @@ "api-version": "2025-05-01", "resourceGroupName": "rg1", "searchServiceName": "mysearchservice", - "subscriptionId": "subid" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "mysearchservice", "type": "Microsoft.Search/searchServices", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", "location": "westus", "properties": { "authOptions": { @@ -58,10 +58,10 @@ }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/operationResults/11111111-1111-1111-1111-111111111111?api-version=2025-05-01" + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Search/locations/westus/operationResults/11111111-1111-1111-1111-111111111111?api-version=2025-05-01" } } }, "operationId": "Services_Upgrade", "title": "UpgradeSearchServiceToLatestVersion" -} \ No newline at end of file +} From 6b50135159fd9b8015133349974f4d83b753a658 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:25:44 +0800 Subject: [PATCH 05/37] Test whether TSMV will report errors --- specification/search/Search.Management/SearchService.tsp | 1 + specification/search/Search.Management/models.tsp | 6 ------ .../Microsoft.Search/stable/2025-05-01/search.json | 4 ---- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/specification/search/Search.Management/SearchService.tsp b/specification/search/Search.Management/SearchService.tsp index e98d20c65bee..bb7353e4b4e7 100644 --- a/specification/search/Search.Management/SearchService.tsp +++ b/specification/search/Search.Management/SearchService.tsp @@ -380,6 +380,7 @@ interface SearchServices { @get @action("privateLinkResources") @list + @OpenAPI.extension("x-ms-pageable", #{ nextLinkName: "nextLink" }) listSupported is ArmResourceActionSync< SearchService, void, diff --git a/specification/search/Search.Management/models.tsp b/specification/search/Search.Management/models.tsp index 008ac8c4d63f..4921358a3504 100644 --- a/specification/search/Search.Management/models.tsp +++ b/specification/search/Search.Management/models.tsp @@ -1028,12 +1028,6 @@ model PrivateLinkResourcesResult { @visibility(Lifecycle.Read) @pageItems value?: PrivateLinkResource[]; - - /** - * The URL to get the next set of private link resources, if there are any. - */ - @nextLink - nextLink?: string; } /** diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json index 9ce37813b418..15d2a7677de3 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json @@ -2582,10 +2582,6 @@ "$ref": "#/definitions/PrivateLinkResource" }, "readOnly": true - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of private link resources, if there are any." } }, "x-ms-external": true From 6d62c7478fcd0f0e093797f05e7f0bacf5ed67af Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:30:00 +0800 Subject: [PATCH 06/37] Revert "Test whether TSMV will report errors" This reverts commit 6b50135159fd9b8015133349974f4d83b753a658. --- specification/search/Search.Management/SearchService.tsp | 1 - specification/search/Search.Management/models.tsp | 6 ++++++ .../Microsoft.Search/stable/2025-05-01/search.json | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/specification/search/Search.Management/SearchService.tsp b/specification/search/Search.Management/SearchService.tsp index bb7353e4b4e7..e98d20c65bee 100644 --- a/specification/search/Search.Management/SearchService.tsp +++ b/specification/search/Search.Management/SearchService.tsp @@ -380,7 +380,6 @@ interface SearchServices { @get @action("privateLinkResources") @list - @OpenAPI.extension("x-ms-pageable", #{ nextLinkName: "nextLink" }) listSupported is ArmResourceActionSync< SearchService, void, diff --git a/specification/search/Search.Management/models.tsp b/specification/search/Search.Management/models.tsp index 4921358a3504..008ac8c4d63f 100644 --- a/specification/search/Search.Management/models.tsp +++ b/specification/search/Search.Management/models.tsp @@ -1028,6 +1028,12 @@ model PrivateLinkResourcesResult { @visibility(Lifecycle.Read) @pageItems value?: PrivateLinkResource[]; + + /** + * The URL to get the next set of private link resources, if there are any. + */ + @nextLink + nextLink?: string; } /** diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json index 15d2a7677de3..9ce37813b418 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json @@ -2582,6 +2582,10 @@ "$ref": "#/definitions/PrivateLinkResource" }, "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of private link resources, if there are any." } }, "x-ms-external": true From c23b1fe7b7e684e49ad3e11152577031e887de3f Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:47:39 +0800 Subject: [PATCH 07/37] Add SecuredByPerimeter back --- .../search/Search.Management/models.tsp | 5 +++++ .../stable/2025-05-01/search.json | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/specification/search/Search.Management/models.tsp b/specification/search/Search.Management/models.tsp index 008ac8c4d63f..6db9de82ffcb 100644 --- a/specification/search/Search.Management/models.tsp +++ b/specification/search/Search.Management/models.tsp @@ -65,6 +65,11 @@ union PublicNetworkAccess { * The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections. */ Disabled: "Disabled", + + /** + * The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter. + */ + SecuredByPerimeter: "SecuredByPerimeter", } /** diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json index 9ce37813b418..9801b9588d1e 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json @@ -2709,7 +2709,8 @@ "description": "This value can be set to 'Enabled' to avoid breaking changes on existing customer resources and templates. If set to 'Disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", "enum": [ "Enabled", - "Disabled" + "Disabled", + "SecuredByPerimeter" ], "x-ms-enum": { "name": "PublicNetworkAccess", @@ -2724,6 +2725,11 @@ "name": "Disabled", "value": "Disabled", "description": "The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections." + }, + { + "name": "SecuredByPerimeter", + "value": "SecuredByPerimeter", + "description": "The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter." } ] } @@ -3037,7 +3043,8 @@ "default": "Enabled", "enum": [ "Enabled", - "Disabled" + "Disabled", + "SecuredByPerimeter" ], "x-ms-enum": { "name": "PublicNetworkAccess", @@ -3052,6 +3059,11 @@ "name": "Disabled", "value": "Disabled", "description": "The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections." + }, + { + "name": "SecuredByPerimeter", + "value": "SecuredByPerimeter", + "description": "The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter." } ] } From eebd45291f6d3abb695fbc898f13ada40fe7f1ce Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 17:00:28 +0800 Subject: [PATCH 08/37] Update NetworkSecurityPerimeterConfiguration.tsp --- .../Search.Management/NetworkSecurityPerimeterConfiguration.tsp | 2 +- .../Microsoft.Search/stable/2025-05-01/search.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp index 7c6f9be14a57..c45d41151f3f 100644 --- a/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp +++ b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp @@ -18,7 +18,7 @@ namespace Microsoft.Search; #suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(SearchService) model NetworkSecurityPerimeterConfiguration - is Azure.ResourceManager.ProxyResource<{}> { + is Azure.ResourceManager.ProxyResource { ...ResourceNameParameter< Resource = NetworkSecurityPerimeterConfiguration, KeyName = "nspConfigName", diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json index 9801b9588d1e..9c600e65318e 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json @@ -2357,7 +2357,7 @@ "description": "Network security perimeter (NSP) configuration resource", "properties": { "properties": { - "type": "object", + "$ref": "../../../../../common-types/resource-management/v6/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfigurationProperties", "description": "Network security configuration properties." } }, From 3cf172bec2deb089de40928b45eb7cd62b5112eb Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 3 Nov 2025 17:10:24 +0800 Subject: [PATCH 09/37] Revert "Update NetworkSecurityPerimeterConfiguration.tsp" This reverts commit eebd45291f6d3abb695fbc898f13ada40fe7f1ce. --- .../Search.Management/NetworkSecurityPerimeterConfiguration.tsp | 2 +- .../Microsoft.Search/stable/2025-05-01/search.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp index c45d41151f3f..7c6f9be14a57 100644 --- a/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp +++ b/specification/search/Search.Management/NetworkSecurityPerimeterConfiguration.tsp @@ -18,7 +18,7 @@ namespace Microsoft.Search; #suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(SearchService) model NetworkSecurityPerimeterConfiguration - is Azure.ResourceManager.ProxyResource { + is Azure.ResourceManager.ProxyResource<{}> { ...ResourceNameParameter< Resource = NetworkSecurityPerimeterConfiguration, KeyName = "nspConfigName", diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json index 9c600e65318e..9801b9588d1e 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json @@ -2357,7 +2357,7 @@ "description": "Network security perimeter (NSP) configuration resource", "properties": { "properties": { - "$ref": "../../../../../common-types/resource-management/v6/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfigurationProperties", + "type": "object", "description": "Network security configuration properties." } }, From 5dc3180da5d3c8d9f3127af28d210bfd5127cfde Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 10 Nov 2025 13:39:54 +0800 Subject: [PATCH 10/37] Add missing x-ms-parameter-grouping --- .../search/Search.Management/client.tsp | 722 ++++++++++++++++++ .../search/Search.Management/routes.tsp | 2 +- .../stable/2025-05-01/search.json | 2 +- 3 files changed, 724 insertions(+), 2 deletions(-) create mode 100644 specification/search/Search.Management/client.tsp diff --git a/specification/search/Search.Management/client.tsp b/specification/search/Search.Management/client.tsp new file mode 100644 index 000000000000..141f5afc7287 --- /dev/null +++ b/specification/search/Search.Management/client.tsp @@ -0,0 +1,722 @@ +// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually + +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "./routes.tsp"; +import "@azure-tools/typespec-client-generator-core"; +import "./main.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.Search; + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model `search-management-request-options` { + /** + * A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request. + */ + @header("x-ms-client-request-id") + clientRequestId?: string; +} + +/** + * Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@action("servicesCheckNameAvailability") +op servicesCheckNameAvailabilityCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + name: string, + ...Azure.ResourceManager.Legacy.Provider, + + /** + * The resource name and type to check. + */ + body: CheckNameAvailabilityInput, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Get a list of all Azure AI Search quota usages across the subscription. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@action("usagesListBySubscription") +op usagesListBySubscriptionCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + name: string, + ...Azure.ResourceManager.Legacy.Provider, + ...LocationParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + body: void, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Gets the quota usage for a search SKU in the given subscription. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +op usageBySubscriptionSkuCustomization( + ...ApiVersionParameter, + ...LocationResourceParameter, + ...SubscriptionIdParameter, + + /** + * The unique SKU name that identifies a billable tier. + */ + @path + skuName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Gets a list of all Search services in the given subscription. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@action("searchServicesListBySubscription") +op searchServicesListBySubscriptionCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Gets a list of all Search services in the given resource group. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +op searchServicesListByResourceGroupCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Gets the search service with the given name in the given resource group. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@get +@action("searchGetCustomization") +op searchGetCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@put +@action("searchCreateOrUpdateCustomization") +op searchCreateOrUpdateCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The definition of the search service to create or update. + */ + resource: SearchService, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Updates an existing search service in the given resource group. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-patch" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@patch(#{ implicitOptionality: true }) +@action("searchUpdateCustomization") +op searchUpdateCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The definition of the search service to update. + */ + properties: SearchServiceUpdate, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Deletes a search service in the given resource group, along with its associated resources. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@delete +@action("searchDeleteCustomization") +op searchDeleteCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): OkResponse | NoContentResponse | NotFoundResponse | CloudError; + +/** + * Generates a new query key for the specified search service. You can create up to 50 query keys per service. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@post +op queryKeysCreateCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The name of the new query API key. + */ + @path + name: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + resource: void, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@delete +op queryKeysDeleteCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The query key to be deleted. Query keys are identified by value, not by name. + */ + @path + key: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + body: void, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): OkResponse | NoContentResponse | NotFoundResponse | CloudError; + +/** + * Gets the primary and secondary admin API keys for the specified Azure AI Search service. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@post +op adminKeysGetCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + body: void, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Returns the list of query API keys for the given Azure AI Search service. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@post +@action("queryKeysListBySearchService") +op queryKeysListBySearchServiceCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + body: void, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Gets a list of all private endpoint connections in the given service. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@get +@action("privateEndpointConnectionsListByService") +op privateEndpointConnectionsListByServiceCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): PrivateEndpointConnectionListResult | CloudError; + +/** + * Gets the details of the private endpoint connection to the search service in the given resource group. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@get +op privateEndpointConnectionsGetCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The name of the private endpoint connection to the Azure AI Search service with the specified resource group. + */ + @path + privateEndpointConnectionName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Updates a private endpoint connection to the search service in the given resource group. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@put +op privateEndpointConnectionsUpdateCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The name of the private endpoint connection to the Azure AI Search service with the specified resource group. + */ + @path + privateEndpointConnectionName: string, + + /** + * The definition of the private endpoint connection to update. + */ + resource: Microsoft.Search.PrivateEndpointConnection, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResourceUpdatedResponse | CloudError; + +/** + * Disconnects the private endpoint connection and deletes it from the search service. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@delete +op privateEndpointConnectionsDeleteCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The name of the private endpoint connection to the Azure AI Search service with the specified resource group. + */ + @path + privateEndpointConnectionName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | NotFoundResponse | CloudError; + +/** + * Gets a list of all supported private link resource types for the given service. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@get +@action("privateLinkResourcesCustomization") +op privateLinkResourcesListSupportedCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + body: void, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@post +op privateLinkResourcesRegenerateCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * Specifies which key to regenerate. Valid values include 'primary' and 'secondary'. + */ + @path + keyKind: AdminKeyKind, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + body: void, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Gets a list of all shared private link resources managed by the given service. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@get +@action("sharedPrivateLinkResourcesCustomization") +op SharedPrivateLinkResourcesListByServiceCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): SharedPrivateLinkResourceListResult | CloudError; + +/** + * Gets the details of the shared private link resource managed by the search service in the given resource group. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@get +op SharedPrivateLinkResourcesGetCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. + */ + @path + sharedPrivateLinkResourceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResponse | CloudError; + +/** + * Initiates the creation or update of a shared private link resource managed by the search service in the given resource group. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@put +op SharedPrivateLinkResourcesCreateOrUpdateCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. + */ + @path + sharedPrivateLinkResourceName: string, + + /** + * The definition of the shared private link resource to create or update. + */ + resource: SharedPrivateLinkResource, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): ArmResourceUpdatedResponse | ArmAcceptedLroResponse< + "Resource operation accepted.", + ArmAsyncOperationHeader< + ArmOperationStatus, + string, + SharedPrivateLinkResource + > +> | CloudError; + +/** + * Initiates the deletion of the shared private link resource from the search service. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@autoRoute +@delete +op SharedPrivateLinkResourcesDeleteCustomization( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...CommonTypes.ResourceGroupNameParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** The name of the Azure AI Search service associated with the specified resource group. */ + @path + @segment("searchServices") + @key + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + + /** + * The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. + */ + @path + sharedPrivateLinkResourceName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + params: `search-management-request-options`, +): + | ArmAcceptedLroResponse< + "Resource operation accepted.", + { + azureAsyncOperation: string; + retryAfter: int32; + } + > + | NoContentResponse + | NotFoundResponse + | CloudError; + +@@Azure.ClientGenerator.Core.override(ServicesOperationGroup.checkNameAvailability, + servicesCheckNameAvailabilityCustomization +); +@@Azure.ClientGenerator.Core.override(UsagesOperationGroup.listBySubscription, + usagesListBySubscriptionCustomization +); +@@Azure.ClientGenerator.Core.override(usageBySubscriptionSku, + usageBySubscriptionSkuCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.listBySubscription, + searchServicesListBySubscriptionCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.listByResourceGroup, + searchServicesListByResourceGroupCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.get, + searchGetCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.createOrUpdate, + searchCreateOrUpdateCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.update, + searchUpdateCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.delete, + searchDeleteCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.create, + queryKeysCreateCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.queryKeysDelete, + queryKeysDeleteCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.adminKeysGet, + adminKeysGetCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.listBySearchService, + queryKeysListBySearchServiceCustomization +); +@@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.listByService, + privateEndpointConnectionsListByServiceCustomization +); +@@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.get, + privateEndpointConnectionsGetCustomization +); +@@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.update, + privateEndpointConnectionsUpdateCustomization +); +@@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.delete, + privateEndpointConnectionsDeleteCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.listSupported, + privateLinkResourcesListSupportedCustomization +); +@@Azure.ClientGenerator.Core.override(SearchServices.regenerate, + privateLinkResourcesRegenerateCustomization +); +@@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.listByService, + SharedPrivateLinkResourcesListByServiceCustomization +); +@@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.get, + SharedPrivateLinkResourcesGetCustomization +); +@@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.createOrUpdate, + SharedPrivateLinkResourcesCreateOrUpdateCustomization +); +@@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.delete, + SharedPrivateLinkResourcesDeleteCustomization +); diff --git a/specification/search/Search.Management/routes.tsp b/specification/search/Search.Management/routes.tsp index 27b4aec92304..8e719a8b1c02 100644 --- a/specification/search/Search.Management/routes.tsp +++ b/specification/search/Search.Management/routes.tsp @@ -31,7 +31,7 @@ interface ServicesOperationGroup { */ #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") - @header + @header("x-ms-client-request-id") clientRequestId?: string; }, Error = CloudError diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json index 9801b9588d1e..f52352457b71 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json @@ -107,7 +107,7 @@ "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "client-request-id", + "name": "x-ms-client-request-id", "in": "header", "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", "required": false, From 269463e127e68b0b8e889ec097583b6c61e2ebc8 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Tue, 23 Dec 2025 14:54:56 +0800 Subject: [PATCH 11/37] run tsp compile command --- .../Search/stable/2025-05-01/search.json | 1305 +++-------------- 1 file changed, 172 insertions(+), 1133 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index 4db77dbdac96..89b53c9b7255 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -853,33 +853,8 @@ "$ref": "./examples/NetworkSecurityPerimeterConfigurationsListByService.json" } }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of configurations.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfigurationListResult" - } - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -923,7 +898,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" } }, "default": { @@ -2072,1167 +2047,228 @@ } } }, - "DataPlaneAuthOptions": { + "CloudError": { "type": "object", + "description": "Contains information about an API error.", "properties": { - "apiKeyOnly": { - "type": "object", - "properties": {}, - "description": "Indicates that only the API key can be used for authentication." + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." }, - "aadOrApiKey": { - "$ref": "#/definitions/DataPlaneAadOrApiKeyAuthOption", - "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication." + "message": { + "type": "string", + "description": "A brief description of the error that hints at what went wrong (for details/debugging information refer to the 'error.message' property)." } }, - "description": "Defines the options for how the search service authenticates a data plane request. This cannot be set if 'disableLocalAuth' is set to true." + "x-ms-external": true }, - "DataPlaneAadOrApiKeyAuthOption": { + "CloudErrorBody": { "type": "object", + "description": "Describes a particular API error with an error code and a message.", "properties": { - "aadAuthFailureMode": { + "code": { "type": "string", - "description": "Describes what response the data plane API of a search service would send for requests that failed authentication.", - "enum": [ - "http403", - "http401WithBearerChallenge" - ], - "x-ms-enum": { - "name": "AadAuthFailureMode", - "modelAsString": false, - "values": [ - { - "value": "http403", - "name": "Http403", - "description": "Indicates that requests that failed authentication should be presented with an HTTP status code of 403 (Forbidden)." - }, - { - "value": "http401WithBearerChallenge", - "name": "Http401WithBearerChallenge", - "description": "Indicates that requests that failed authentication should be presented with an HTTP status code of 401 (Unauthorized) and present a Bearer Challenge." - } - ] + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + }, + "message": { + "type": "string", + "description": "A message that describes the error in detail and provides debugging information." + }, + "target": { + "type": "string", + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "description": "Contains nested errors that are related to this error.", + "items": { + "$ref": "#/definitions/CloudErrorBody" } } }, - "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication." + "x-ms-external": true }, - "DataExfiltrationProtection": { + "ComputeType": { "type": "string", + "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute.", "enum": [ - "BlockAll" + "Default", + "Confidential" ], "x-ms-enum": { - "name": "SearchDataExfiltrationProtection", + "name": "ComputeType", "modelAsString": true, "values": [ { - "value": "BlockAll", - "name": "BlockAll", - "description": "Indicates that all data exfiltration scenarios are disabled." + "name": "Default", + "value": "Default", + "description": "Create the service with the Default Compute." + }, + { + "name": "Confidential", + "value": "Confidential", + "description": "Create the service with Azure Confidential Compute." } ] - }, - "description": "A specific data exfiltration scenario that is disabled for the service." + } + }, + "CreatedByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "CreatedByType", + "modelAsString": true, + "values": [ + { + "name": "User", + "value": "User" + }, + { + "name": "Application", + "value": "Application" + }, + { + "name": "ManagedIdentity", + "value": "ManagedIdentity" + }, + { + "name": "Key", + "value": "Key" + } + ] + } + }, + "DataPlaneAadOrApiKeyAuthOption": { + "type": "object", + "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication.", + "properties": { + "aadAuthFailureMode": { + "$ref": "#/definitions/AadAuthFailureMode", + "description": "Describes what response the data plane API of a search service would send for requests that failed authentication." + } + } + }, + "DataPlaneAuthOptions": { + "type": "object", + "description": "Defines the options for how the search service authenticates a data plane request. This cannot be set if 'disableLocalAuth' is set to true.", + "properties": { + "apiKeyOnly": { + "description": "Indicates that only the API key can be used for authentication." + }, + "aadOrApiKey": { + "$ref": "#/definitions/DataPlaneAadOrApiKeyAuthOption", + "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication." + } + } }, "EncryptionWithCmk": { "type": "object", + "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys.", "properties": { "enforcement": { - "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key.", - "type": "string", - "enum": [ - "Disabled", - "Enabled", - "Unspecified" - ], - "x-ms-enum": { - "name": "SearchEncryptionWithCmk", - "modelAsString": false, - "values": [ - { - "value": "Disabled", - "name": "Disabled", - "description": "No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used." - }, - { - "value": "Enabled", - "name": "Enabled", - "description": "Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key." - }, - { - "value": "Unspecified", - "name": "Unspecified", - "description": "Enforcement policy is not explicitly specified, with the behavior being the same as if it were set to 'Disabled'." - } - ] - } + "$ref": "#/definitions/SearchEncryptionWithCmk", + "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key." }, "encryptionComplianceStatus": { - "readOnly": true, + "$ref": "#/definitions/SearchEncryptionComplianceStatus", "description": "Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant.", - "type": "string", - "enum": [ - "Compliant", - "NonCompliant" - ], - "x-ms-enum": { - "name": "SearchEncryptionComplianceStatus", - "modelAsString": false, - "values": [ - { - "value": "Compliant", - "name": "Compliant", - "description": "Indicates that the search service is compliant, either because the number of non-CMK-encrypted objects is zero or enforcement is disabled." - }, - { - "value": "NonCompliant", - "name": "NonCompliant", - "description": "Indicates that the search service has more than one non-CMK-encrypted objects." - } - ] - } + "readOnly": true } - }, - "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys." + } }, - "PrivateEndpointConnection": { - "properties": { - "properties": { - "$ref": "#/definitions/PrivateEndpointConnectionProperties", - "description": "Describes the properties of an existing private endpoint connection to the Azure AI Search service." - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" - } + "HostingMode": { + "type": "string", + "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'.", + "enum": [ + "Default", + "HighDensity" ], - "description": "Describes an existing private endpoint connection to the Azure AI Search service." + "x-ms-enum": { + "name": "HostingMode", + "modelAsString": false, + "values": [ + { + "name": "Default", + "value": "Default", + "description": "The limit on number of indexes is determined by the default limits for the SKU." + }, + { + "name": "HighDensity", + "value": "HighDensity", + "description": "Only application for standard3 SKU, where the search service can have up to 1000 indexes." + } + ] + } }, - "NetworkRuleSet": { + "Identity": { + "type": "object", + "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned.", "properties": { - "ipRules": { - "type": "array", - "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.", - "items": { - "$ref": "#/definitions/IpRule" - } + "principalId": { + "type": "string", + "description": "The principal ID of the system-assigned identity of the search service.", + "readOnly": true }, - "bypass": { + "tenantId": { "type": "string", - "enum": [ - "None", - "AzureServices" - ], - "x-ms-enum": { - "name": "SearchBypass", - "modelAsString": true, - "values": [ - { - "value": "None", - "name": "None", - "description": "Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default." - }, - { - "value": "AzureServices", - "name": "AzureServices", - "description": "Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section." - } - ] - }, - "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section." + "description": "The tenant ID of the system-assigned identity of the search service.", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service." + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedManagedIdentities", + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } }, - "description": "Network specific rules that determine how the Azure AI Search service may be reached." + "required": [ + "type" + ] }, - "IpRule": { - "properties": { - "value": { - "type": "string", - "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." - } - }, - "description": "The IP restriction rule of the Azure AI Search service." - }, - "PrivateEndpointConnectionProperties": { - "properties": { - "privateEndpoint": { - "properties": { - "id": { - "type": "string", - "description": "The resource ID of the private endpoint resource from Microsoft.Network provider." - } - }, - "description": "The private endpoint resource from Microsoft.Network provider." - }, - "privateLinkServiceConnectionState": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected.", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], - "x-ms-enum": { - "name": "PrivateLinkServiceConnectionStatus", - "modelAsString": false, - "values": [ - { - "value": "Pending", - "name": "Pending", - "description": "The private endpoint connection has been created and is pending approval." - }, - { - "value": "Approved", - "name": "Approved", - "description": "The private endpoint connection is approved and is ready for use." - }, - { - "value": "Rejected", - "name": "Rejected", - "description": "The private endpoint connection has been rejected and cannot be used." - }, - { - "value": "Disconnected", - "name": "Disconnected", - "description": "The private endpoint connection has been removed from the service." - } - ] - } - }, - "description": { - "type": "string", - "description": "The description for the private link service connection state." - }, - "actionsRequired": { - "type": "string", - "description": "A description of any extra actions that may be required.", - "default": "None" - } - }, - "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint." - }, - "groupId": { - "type": "string", - "description": "The group ID of the Azure resource for which the private link service is for." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled.", - "enum": [ - "Updating", - "Deleting", - "Failed", - "Succeeded", - "Incomplete", - "Canceled" - ], - "x-ms-enum": { - "name": "PrivateLinkServiceConnectionProvisioningState", - "modelAsString": true, - "values": [ - { - "value": "Updating", - "name": "Updating", - "description": "The private link service connection is in the process of being created along with other resources for it to be fully functional." - }, - { - "value": "Deleting", - "name": "Deleting", - "description": "The private link service connection is in the process of being deleted." - }, - { - "value": "Failed", - "name": "Failed", - "description": "The private link service connection has failed to be provisioned or deleted." - }, - { - "value": "Succeeded", - "name": "Succeeded", - "description": "The private link service connection has finished provisioning and is ready for approval." - }, - { - "value": "Incomplete", - "name": "Incomplete", - "description": "Provisioning request for the private link service connection resource has been accepted but the process of creation has not commenced yet." - }, - { - "value": "Canceled", - "name": "Canceled", - "description": "Provisioning request for the private link service connection resource has been canceled." - } - ] - } - } - }, - "description": "Describes the properties of an existing private endpoint connection to the search service." - }, - "PrivateEndpointConnectionListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/PrivateEndpointConnection" - }, - "description": "The list of private endpoint connections." - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size." - } - }, - "description": "Response containing a list of private endpoint connections.", - "x-ms-external": true - }, - "SemanticSearch": { - "type": "string", - "enum": [ - "disabled", - "free", - "standard" - ], - "x-ms-enum": { - "name": "SearchSemanticSearch", - "modelAsString": true, - "values": [ - { - "value": "disabled", - "name": "disabled", - "description": "Indicates that semantic reranker is disabled for the search service. This is the default." - }, - { - "value": "free", - "name": "free", - "description": "Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services." - }, - { - "value": "standard", - "name": "standard", - "description": "Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries." - } - ] - }, - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations." - }, - "SharedPrivateLinkResource": { - "properties": { - "properties": { - "$ref": "#/definitions/SharedPrivateLinkResourceProperties", - "description": "Describes the properties of a shared private link resource managed by the Azure AI Search service." - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" - } - ], - "description": "Describes a shared private link resource managed by the Azure AI Search service." - }, - "SharedPrivateLinkResourceProperties": { - "properties": { - "privateLinkResourceId": { - "type": "string", - "description": "The resource ID of the resource the shared private link resource is for." - }, - "groupId": { - "type": "string", - "description": "The group ID from the provider of resource the shared private link resource is for." - }, - "requestMessage": { - "type": "string", - "description": "The message for requesting approval of the shared private link resource." - }, - "resourceRegion": { - "type": "string", - "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", - "externalDocs": { - "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", - "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" - } - }, - "status": { - "type": "string", - "description": "Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected.", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceStatus", - "modelAsString": true, - "values": [ - { - "value": "Pending", - "name": "Pending", - "description": "The shared private link resource has been created and is pending approval." - }, - { - "value": "Approved", - "name": "Approved", - "description": "The shared private link resource is approved and is ready for use." - }, - { - "value": "Rejected", - "name": "Rejected", - "description": "The shared private link resource has been rejected and cannot be used." - }, - { - "value": "Disconnected", - "name": "Disconnected", - "description": "The shared private link resource has been removed from the service." - } - ] - } - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete.", - "enum": [ - "Updating", - "Deleting", - "Failed", - "Succeeded", - "Incomplete" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceProvisioningState", - "modelAsString": true, - "values": [ - { - "value": "Updating", - "name": "Updating", - "description": "The shared private link resource is in the process of being created along with other resources for it to be fully functional." - }, - { - "value": "Deleting", - "name": "Deleting", - "description": "The shared private link resource is in the process of being deleted." - }, - { - "value": "Failed", - "name": "Failed", - "description": "The shared private link resource has failed to be provisioned or deleted." - }, - { - "value": "Succeeded", - "name": "Succeeded", - "description": "The shared private link resource has finished provisioning and is ready for approval." - }, - { - "value": "Incomplete", - "name": "Incomplete", - "description": "Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet." - } - ] - } - } - }, - "description": "Describes the properties of an existing shared private link resource managed by the Azure AI Search service." - }, - "SharedPrivateLinkResourceListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of shared private link resources, if there are any." - } - }, - "description": "Response containing a list of shared private link resources.", - "x-ms-external": true - }, - "PrivateLinkResourcesResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/PrivateLinkResource" - }, - "description": "The list of supported Private Link Resources." - } - }, - "description": "Response containing a list of supported Private Link Resources.", - "x-ms-external": true - }, - "PrivateLinkResource": { - "properties": { - "properties": { - "$ref": "#/definitions/PrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a supported private link resource for the Azure AI Search service." - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" - } - ], - "description": "Describes a supported private link resource for the Azure AI Search service." - }, - "PrivateLinkResourceProperties": { - "properties": { - "groupId": { - "readOnly": true, - "type": "string", - "description": "The group ID of the private link resource." - }, - "requiredMembers": { - "readOnly": true, - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of required members of the private link resource." - }, - "requiredZoneNames": { - "readOnly": true, - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of required DNS zone names of the private link resource." - }, - "shareablePrivateLinkResourceTypes": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ShareablePrivateLinkResourceType" - }, - "description": "The list of resources that are onboarded to private link service, that are supported by Azure AI Search." - } - }, - "description": "Describes the properties of a supported private link resource for the Azure AI Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." - }, - "ShareablePrivateLinkResourceType": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource type that has been onboarded to private link service, supported by Azure AI Search." - }, - "properties": { - "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search." - } - }, - "description": "Describes an resource type that has been onboarded to private link service, supported by Azure AI Search." - }, - "ShareablePrivateLinkResourceProperties": { - "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure AI Search." - }, - "groupId": { - "readOnly": true, - "type": "string", - "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure AI Search." - }, - "description": { - "readOnly": true, - "type": "string", - "description": "The description of the resource type that has been onboarded to private link service, supported by Azure AI Search." - } - }, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search." - }, - "SearchService": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SearchServiceProperties", - "description": "Properties of the search service." - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", - "externalDocs": { - "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" - } - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." - }, - "systemData": { - "readOnly": true, - "description": "Azure Resource Manager metadata of the search service containing createdBy and modifiedBy information.", - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData" - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" - } - ], - "description": "Describes an Azure AI Search service and its current state." - }, - "SearchServiceUpdate": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SearchServiceProperties", - "description": "Properties of the search service." - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", - "externalDocs": { - "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" - } - }, - "location": { - "type": "string", - "description": "The geographic location of the resource. This must be one of the supported and registered Azure geo regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", - "externalDocs": { - "url": "https://aka.ms/search-rp-info" - }, - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Tags to help categorize the resource in the Azure portal." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned." - }, - "systemData": { - "readOnly": true, - "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/systemData" - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" - } - ], - "description": "The parameters used to update an Azure AI Search service." - }, - "SearchServiceProperties": { - "properties": { - "replicaCount": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 12, - "default": 1, - "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." - }, - "partitionCount": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 12, - "default": 1, - "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." - }, - "endpoint": { - "type": "string", - "format": "uri", - "description": "The endpoint of the Azure AI Search service." - }, - "hostingMode": { - "type": "string", - "default": "Default", - "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'.", - "enum": [ - "Default", - "HighDensity" - ], - "x-ms-enum": { - "name": "HostingMode", - "modelAsString": false, - "values": [ - { - "value": "Default", - "name": "Default", - "description": "The limit on number of indexes is determined by the default limits for the SKU." - }, - { - "value": "HighDensity", - "name": "HighDensity", - "description": "Only application for standard3 SKU, where the search service can have up to 1000 indexes." - } - ] - } - }, - "computeType": { - "type": "string", - "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute.", - "enum": [ - "Default", - "Confidential" - ], - "x-ms-enum": { - "name": "ComputeType", - "modelAsString": true, - "values": [ - { - "value": "Default", - "name": "Default", - "description": "Create the service with the Default Compute." - }, - { - "value": "Confidential", - "name": "Confidential", - "description": "Create the service with Azure Confidential Compute." - } - ] - } - }, - "publicNetworkAccess": { - "type": "string", - "default": "Enabled", - "description": "This value can be set to 'Enabled' to avoid breaking changes on existing customer resources and templates. If set to 'Disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "PublicNetworkAccess", - "modelAsString": true, - "values": [ - { - "value": "Enabled", - "name": "Enabled", - "description": "The search service is accessible from traffic originating from the public internet." - }, - { - "value": "Disabled", - "name": "Disabled", - "description": "The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections." - }, - { - "value": "SecuredByPerimeter", - "name": "SecuredByPerimeter", - "description": "The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter." - } - ] - } - }, - "status": { - "readOnly": true, - "type": "string", - "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", - "enum": [ - "running", - "provisioning", - "deleting", - "degraded", - "disabled", - "error", - "stopped" - ], - "x-ms-enum": { - "name": "SearchServiceStatus", - "modelAsString": false, - "values": [ - { - "value": "running", - "name": "Running", - "description": "The search service is running and no provisioning operations are underway." - }, - { - "value": "provisioning", - "name": "Provisioning", - "description": "The search service is being provisioned or scaled up or down." - }, - { - "value": "deleting", - "name": "Deleting", - "description": "The search service is being deleted." - }, - { - "value": "degraded", - "name": "Degraded", - "description": "The search service is degraded because underlying search units are not healthy." - }, - { - "value": "disabled", - "name": "Disabled", - "description": "The search service is disabled and all API requests will be rejected." - }, - { - "value": "error", - "name": "Error", - "description": "The search service is in error state, indicating either a failure to provision or to be deleted." - }, - { - "value": "stopped", - "name": "Stopped", - "description": "The search service is in a subscription that's disabled." - } - ] - } - }, - "statusDetails": { - "readOnly": true, - "type": "string", - "description": "The details of the search service status." - }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", - "enum": [ - "succeeded", - "provisioning", - "failed" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false, - "values": [ - { - "value": "succeeded", - "name": "Succeeded", - "description": "The last provisioning operation has completed successfully." - }, - { - "value": "provisioning", - "name": "Provisioning", - "description": "The search service is being provisioned or scaled up or down." - }, - { - "value": "failed", - "name": "Failed", - "description": "The last provisioning operation has failed." - } - ] - } - }, - "networkRuleSet": { - "$ref": "#/definitions/NetworkRuleSet", - "description": "Network specific rules that determine how the Azure AI Search service may be reached." - }, - "dataExfiltrationProtections": { - "type": "array", - "items": { - "$ref": "#/definitions/DataExfiltrationProtection" - }, - "description": "A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future." - }, - "encryptionWithCmk": { - "$ref": "#/definitions/EncryptionWithCmk", - "description": "Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service." - }, - "disableLocalAuth": { - "type": "boolean", - "x-nullable": true, - "description": "When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined." - }, - "authOptions": { - "$ref": "#/definitions/DataPlaneAuthOptions", - "description": "Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true." - }, - "semanticSearch": { - "$ref": "#/definitions/SemanticSearch", - "x-nullable": true, - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations." - }, - "privateEndpointConnections": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/PrivateEndpointConnection" - }, - "description": "The list of private endpoint connections to the Azure AI Search service." - }, - "sharedPrivateLinkResources": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources managed by the Azure AI Search service." - }, - "eTag": { - "readOnly": true, - "type": "string", - "description": "A system generated property representing the service's etag that can be for optimistic concurrency control during updates." - }, - "upgradeAvailable": { - "type": "string", - "description": "Indicates if the search service has an upgrade available.", - "enum": [ - "notAvailable", - "available" - ], - "x-ms-enum": { - "name": "UpgradeAvailable", - "modelAsString": true, - "values": [ - { - "value": "notAvailable", - "name": "NotAvailable", - "description": "An upgrade is currently not available for the service." - }, - { - "value": "available", - "name": "Available", - "description": "There is an upgrade available for the service." - } - ] - } - }, - "serviceUpgradedAt": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time." - } - }, - "description": "Properties of the search service." - }, - "SearchServiceListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SearchService" - }, - "description": "The list of search services." - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size." - } - }, - "description": "Response containing a list of Azure AI Search services.", - "x-ms-external": true - }, - "AsyncOperationResult": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "The current status of the long running asynchronous shared private link resource operation.", - "enum": [ - "Running", - "Succeeded", - "Failed" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceAsyncOperationResult", - "modelAsString": true - } - } - }, - "description": "The details of a long running asynchronous shared private link resource operation." - }, - "CloudError": { - "type": "object", - "description": "Contains information about an API error.", - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody", - "description": "Describes a particular API error with an error code and a message." - }, - "message": { - "type": "string", - "description": "A brief description of the error that hints at what went wrong (for details/debugging information refer to the 'error.message' property)." - } - }, - "x-ms-external": true - }, - "CloudErrorBody": { - "type": "object", - "description": "Describes a particular API error with an error code and a message.", - "properties": { - "code": { - "type": "string", - "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." - }, - "message": { - "type": "string", - "description": "A message that describes the error in detail and provides debugging information." - }, - "target": { - "type": "string", - "description": "The target of the particular error (for example, the name of the property in error)." - }, - "details": { - "type": "array", - "description": "Contains nested errors that are related to this error.", - "items": { - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "x-ms-external": true - }, - "OperationListResult": { - "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Operation" - }, - { - "name": "Confidential", - "value": "Confidential", - "description": "Create the service with Azure Confidential Compute." - } - ] - } - }, - "CreatedByType": { + "IdentityType": { "type": "string", - "description": "The type of identity that created the resource.", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service.", "enum": [ - "User", - "Application", - "ManagedIdentity", - "Key" + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" ], "x-ms-enum": { - "name": "CreatedByType", + "name": "IdentityType", "modelAsString": true, "values": [ { - "name": "User", - "value": "User" - }, - { - "name": "Application", - "value": "Application" + "name": "None", + "value": "None", + "description": "Indicates that any identity associated with the search service needs to be removed." }, { - "name": "ManagedIdentity", - "value": "ManagedIdentity" + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "Indicates that system-assigned identity for the search service will be enabled." }, { - "name": "Key", - "value": "Key" - } - ] - } - }, - "DataPlaneAadOrApiKeyAuthOption": { - "type": "object", - "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication.", - "properties": { - "aadAuthFailureMode": { - "$ref": "#/definitions/AadAuthFailureMode", - "description": "Describes what response the data plane API of a search service would send for requests that failed authentication." - } - } - }, - "DataPlaneAuthOptions": { - "type": "object", - "description": "Defines the options for how the search service authenticates a data plane request. This cannot be set if 'disableLocalAuth' is set to true.", - "properties": { - "apiKeyOnly": { - "description": "Indicates that only the API key can be used for authentication." - }, - "aadOrApiKey": { - "$ref": "#/definitions/DataPlaneAadOrApiKeyAuthOption", - "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication." - } - } - }, - "EncryptionWithCmk": { - "type": "object", - "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys.", - "properties": { - "enforcement": { - "$ref": "#/definitions/SearchEncryptionWithCmk", - "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key." - }, - "encryptionComplianceStatus": { - "$ref": "#/definitions/SearchEncryptionComplianceStatus", - "description": "Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant.", - "readOnly": true - } - } - }, - "HostingMode": { - "type": "string", - "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'Default' or 'HighDensity'. For all other SKUs, this value must be 'Default'.", - "enum": [ - "Default", - "HighDensity" - ], - "x-ms-enum": { - "name": "HostingMode", - "modelAsString": false, - "values": [ - { - "name": "Default", - "value": "Default", - "description": "The limit on number of indexes is determined by the default limits for the SKU." + "name": "UserAssigned", + "value": "UserAssigned", + "description": "Indicates that one or more user assigned identities will be assigned to the search service." }, { - "name": "HighDensity", - "value": "HighDensity", - "description": "Only application for standard3 SKU, where the search service can have up to 1000 indexes." + "name": "SystemAssigned, UserAssigned", + "value": "SystemAssigned, UserAssigned", + "description": "Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities." } ] } }, - "Identity": { - "type": "object", - "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned.", - "properties": { - "principalId": { - "type": "string", - "description": "The principal ID of the system-assigned identity of the search service.", - "readOnly": true - }, - "tenantId": { - "type": "string", - "description": "The tenant ID of the system-assigned identity of the search service.", - "readOnly": true - }, - "type": { - "$ref": "#/definitions/IdentityType", - "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service." - }, - "userAssignedIdentities": { - "$ref": "#/definitions/UserAssignedManagedIdentities", - "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." - } - }, - "required": [ - "type" - ] - }, - "UserAssignedManagedIdentities": { - "type": "object", - "description": "The list of user identities associated with the search service. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", - "additionalProperties": { - "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/UserAssignedIdentity" - } - }, "IpRule": { "type": "object", "description": "The IP restriction rule of the Azure AI Search service.", @@ -3914,7 +2950,10 @@ }, "sku": { "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } }, "identity": { "$ref": "#/definitions/Identity", From 1f6682f4d16f87eeb01c56a7fc952b80edd1bf68 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Wed, 24 Dec 2025 10:34:03 +0800 Subject: [PATCH 12/37] Replace custom NSPC resource model with CommonTypes.NspConfigurationResource --- .../NetworkSecurityPerimeterConfiguration.tsp | 68 +++++++++++++------ .../Search/back-compatible.tsp | 16 +++++ .../Microsoft.Search/Search/models.tsp | 3 + .../Search/stable/2025-05-01/search.json | 24 +------ 4 files changed, 69 insertions(+), 42 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp index 7c6f9be14a57..887ee756f1fa 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp @@ -16,52 +16,80 @@ namespace Microsoft.Search; */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -@parentResource(SearchService) model NetworkSecurityPerimeterConfiguration - is Azure.ResourceManager.ProxyResource<{}> { - ...ResourceNameParameter< - Resource = NetworkSecurityPerimeterConfiguration, - KeyName = "nspConfigName", - SegmentName = "networkSecurityPerimeterConfigurations", - NamePattern = "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$" - >; -} + is CommonTypes.NspConfigurationResource; +alias NetworkSecurityPerimeterConfigurationOperations = NspConfigurations< + NetworkSecurityPerimeterConfiguration, + NspConfigurationKeyName = "nspConfigName" +>; + +@armResourceOperations +interface NetworkSecurityPerimeterConfigurationsOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** + * The name of the Azure AI Search service associated with the specified resource group. + */ + @path + @segment("searchServices") + @pattern("^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$") + searchServiceName: string, + }, + { + /** + * The network security perimeter configuration name. + */ + @path + @segment("networkSecurityPerimeterConfigurations") + @minLength(38) + @maxLength(100) + @pattern("^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$") + nspConfigName: string, + } + > {} @armResourceOperations interface NetworkSecurityPerimeterConfigurations { /** * Gets a network security perimeter configuration. */ - get is ArmResourceRead< - NetworkSecurityPerimeterConfiguration, + get is NetworkSecurityPerimeterConfigurationOperations.Read< + SearchService, Error = CloudError >; /** * Gets a list of network security perimeter configurations for a search service. */ - listByService is ArmResourceListByParent< - NetworkSecurityPerimeterConfiguration, + listByService is NetworkSecurityPerimeterConfigurationOperations.ListByParent< + SearchService, Error = CloudError >; /** * Reconcile network security perimeter configuration for the Azure AI Search resource provider. This triggers a manual resync with network security perimeter configurations by ensuring the search service carries the latest configuration. */ - reconcile is ArmResourceActionAsyncBase< - NetworkSecurityPerimeterConfiguration, + reconcile is NetworkSecurityPerimeterConfigurationsOps.ActionAsync< + CommonTypes.NetworkSecurityPerimeterConfiguration, void, - ArmAcceptedLroResponse, - BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters, - Error = CloudError + Result = void, + Response = ArmAcceptedLroResponse, + OverrideErrorType = CloudError >; } -@@maxLength(NetworkSecurityPerimeterConfiguration.name, 100); -@@minLength(NetworkSecurityPerimeterConfiguration.name, 38); +//@@maxLength(NetworkSecurityPerimeterConfiguration.name, 100); +//@@minLength(NetworkSecurityPerimeterConfiguration.name, 38); +/* @@doc(NetworkSecurityPerimeterConfiguration.name, "The network security perimeter configuration name." ); +*/ @@doc(NetworkSecurityPerimeterConfiguration.properties, "Network security configuration properties." ); diff --git a/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp b/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp index 9751eb87223a..f1d9d864dfca 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp @@ -43,3 +43,19 @@ using Microsoft.Search; @@clientName(ServicesOperationGroup.checkNameAvailability::parameters.body, "checkNameAvailabilityInput" ); + +@@minLength(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, + 38 +); +@@maxLength(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, + 100 +); +@@pattern(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, + "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$" +); +@@doc(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, + "The network security perimeter configuration name." +); +@@key(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, + "nspConfigName" +); diff --git a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp index 6db9de82ffcb..d7c8b5a079a5 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp @@ -614,12 +614,14 @@ model AdminKeyResult { /** * The primary admin API key of the search service. */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) primaryKey?: string; /** * The secondary admin API key of the search service. */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) secondaryKey?: string; } @@ -637,6 +639,7 @@ model QueryKey { /** * The value of the query API key. */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) key?: string; } diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index 89b53c9b7255..4788ad4d1afc 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -898,7 +898,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + "$ref": "../../../../../../common-types/resource-management/v6/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" } }, "default": { @@ -958,11 +958,6 @@ "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." - }, - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, @@ -2352,21 +2347,6 @@ } } }, - "NetworkSecurityPerimeterConfiguration": { - "type": "object", - "description": "Network security perimeter (NSP) configuration resource", - "properties": { - "properties": { - "type": "object", - "description": "Network security configuration properties." - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" - } - ] - }, "NetworkSecurityPerimeterConfigurationListResult": { "type": "object", "description": "The response of a NetworkSecurityPerimeterConfiguration list operation.", @@ -2375,7 +2355,7 @@ "type": "array", "description": "The NetworkSecurityPerimeterConfiguration items on this page", "items": { - "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + "$ref": "../../../../../../common-types/resource-management/v6/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" } }, "nextLink": { From 7ca95b795c23094bf2ef9f6a4b7ddcb35acadee6 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Sun, 4 Jan 2026 14:08:39 +0800 Subject: [PATCH 13/37] update --- .../Search/NetworkSecurityPerimeterConfiguration.tsp | 5 +++++ .../Microsoft.Search/Search/back-compatible.tsp | 3 --- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp index 887ee756f1fa..713b284c3229 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp @@ -58,6 +58,11 @@ interface NetworkSecurityPerimeterConfigurations { /** * Gets a network security perimeter configuration. */ + #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @Azure.ResourceManager.Legacy.renamePathParameter( + "networkSecurityPerimeterConfigurationName", + "nspConfigName" + ) get is NetworkSecurityPerimeterConfigurationOperations.Read< SearchService, Error = CloudError diff --git a/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp b/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp index f1d9d864dfca..78fbb53605a5 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp @@ -56,6 +56,3 @@ using Microsoft.Search; @@doc(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, "The network security perimeter configuration name." ); -@@key(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, - "nspConfigName" -); From 1d766fa0f4daccb38720788f33be2560acde0361 Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com> Date: Fri, 9 Jan 2026 16:08:47 +0800 Subject: [PATCH 14/37] Update client.tsp --- .../search/resource-manager/Microsoft.Search/Search/client.tsp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 141f5afc7287..a87ec32f91ac 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -12,6 +12,7 @@ import "./main.tsp"; using TypeSpec.Rest; using TypeSpec.Http; using Azure.ResourceManager; +using Azure.ClientGenerator.Core; using TypeSpec.OpenAPI; namespace Microsoft.Search; @@ -720,3 +721,5 @@ op SharedPrivateLinkResourcesDeleteCustomization( @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.delete, SharedPrivateLinkResourcesDeleteCustomization ); + +@@clientName(Microsoft.Search, "SearchManagementClient", "python"); From 96780e2325517a77c520a66e46e6a0d2c08bd39e Mon Sep 17 00:00:00 2001 From: Xinni Tong Date: Tue, 13 Jan 2026 10:45:23 +0800 Subject: [PATCH 15/37] Remove unnecessary model --- .../Microsoft.Search/Search/models.tsp | 10 ---------- .../Search/stable/2025-05-01/search.json | 16 +--------------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp index d7c8b5a079a5..589cea478c45 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp @@ -1230,16 +1230,6 @@ model QuotaUsageResultName { localizedValue?: string; } -/** - * Subscription identifiers - */ -model AccessRulePropertiesSubscriptionsItem { - /** - * The fully qualified Azure resource ID of the subscription e.g. ('/subscriptions/00000000-0000-0000-0000-000000000000') - */ - id?: Azure.Core.armResourceIdentifier; -} - /** * The details of a long running asynchronous shared private link resource operation. */ diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index 4788ad4d1afc..cf5624cf3921 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -1919,17 +1919,6 @@ ] } }, - "AccessRulePropertiesSubscriptionsItem": { - "type": "object", - "description": "Subscription identifiers", - "properties": { - "id": { - "type": "string", - "format": "arm-id", - "description": "The fully qualified Azure resource ID of the subscription e.g. ('/subscriptions/00000000-0000-0000-0000-000000000000')" - } - } - }, "ActionType": { "type": "string", "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", @@ -2930,10 +2919,7 @@ }, "sku": { "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", - "externalDocs": { - "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" - } + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." }, "identity": { "$ref": "#/definitions/Identity", From c0138a264b12ac91515816f0f81378464d77775d Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Tue, 13 Jan 2026 10:58:08 +0800 Subject: [PATCH 16/37] run tsp compile command --- .../Microsoft.Search/Search/stable/2025-05-01/search.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index cf5624cf3921..74fd1b721229 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -2919,7 +2919,10 @@ }, "sku": { "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } }, "identity": { "$ref": "#/definitions/Identity", From 0020c91ce30ada9a6f0317c314dd71a517ec36f8 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:36:22 +0800 Subject: [PATCH 17/37] Update client.tsp --- .../search/resource-manager/Microsoft.Search/Search/client.tsp | 2 -- 1 file changed, 2 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index a87ec32f91ac..8777da0c65e6 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -37,8 +37,6 @@ model `search-management-request-options` { op servicesCheckNameAvailabilityCustomization( ...ApiVersionParameter, ...SubscriptionIdParameter, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - name: string, ...Azure.ResourceManager.Legacy.Provider, /** From 0b95ef3944fc32f3671ae2adec5ae28110682b38 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Wed, 14 Jan 2026 15:41:18 +0800 Subject: [PATCH 18/37] Test whether the name parameter can be removed. --- .../search/resource-manager/Microsoft.Search/Search/client.tsp | 3 +-- .../search/resource-manager/Microsoft.Search/Search/routes.tsp | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 8777da0c65e6..5689d3623d80 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -58,8 +58,7 @@ op servicesCheckNameAvailabilityCustomization( op usagesListBySubscriptionCustomization( ...ApiVersionParameter, ...SubscriptionIdParameter, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - name: string, + ...SubscriptionActionScope, ...Azure.ResourceManager.Legacy.Provider, ...LocationParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" diff --git a/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp b/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp index 8e719a8b1c02..1811bcf03ca2 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp @@ -50,6 +50,7 @@ interface UsagesOperationGroup { @externalDocs("https://aka.ms/search-manage") @list listBySubscription is ArmProviderActionSync< + Request = void, Response = QuotaUsagesListResult, Scope = SubscriptionActionScope, Parameters = { From 6001078e078269d1a07a68f5769445dda9a96291 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Thu, 15 Jan 2026 14:57:56 +0800 Subject: [PATCH 19/37] Replace the Operation template of NetworkSecurityPerimeterConfigurations_Reconcile with Action. --- .../Search/NetworkSecurityPerimeterConfiguration.tsp | 12 +++--------- .../Microsoft.Search/Search/back-compatible.tsp | 8 ++++---- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp index 713b284c3229..3a16131fde90 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp @@ -58,11 +58,6 @@ interface NetworkSecurityPerimeterConfigurations { /** * Gets a network security perimeter configuration. */ - #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @Azure.ResourceManager.Legacy.renamePathParameter( - "networkSecurityPerimeterConfigurationName", - "nspConfigName" - ) get is NetworkSecurityPerimeterConfigurationOperations.Read< SearchService, Error = CloudError @@ -79,12 +74,11 @@ interface NetworkSecurityPerimeterConfigurations { /** * Reconcile network security perimeter configuration for the Azure AI Search resource provider. This triggers a manual resync with network security perimeter configurations by ensuring the search service carries the latest configuration. */ - reconcile is NetworkSecurityPerimeterConfigurationsOps.ActionAsync< - CommonTypes.NetworkSecurityPerimeterConfiguration, + reconcile is NetworkSecurityPerimeterConfigurationOperations.Action< + SearchService, void, - Result = void, Response = ArmAcceptedLroResponse, - OverrideErrorType = CloudError + Error = CloudError >; } diff --git a/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp b/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp index 78fbb53605a5..c8a12d8b5f09 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/back-compatible.tsp @@ -44,15 +44,15 @@ using Microsoft.Search; "checkNameAvailabilityInput" ); -@@minLength(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, +@@minLength(Azure.ResourceManager.CommonTypes.NspConfigurationNameParameter.networkSecurityPerimeterConfigurationName, 38 ); -@@maxLength(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, +@@maxLength(Azure.ResourceManager.CommonTypes.NspConfigurationNameParameter.networkSecurityPerimeterConfigurationName, 100 ); -@@pattern(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, +@@pattern(Azure.ResourceManager.CommonTypes.NspConfigurationNameParameter.networkSecurityPerimeterConfigurationName, "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\\.[a-z][a-z0-9]*$" ); -@@doc(Azure.ResourceManager.CommonTypes.NetworkSecurityPerimeterConfigurationNameParameter.networkSecurityPerimeterConfigurationName, +@@doc(Azure.ResourceManager.CommonTypes.NspConfigurationNameParameter.networkSecurityPerimeterConfigurationName, "The network security perimeter configuration name." ); From dfc680f2d3b2b058ef9014ba9fb0dc2713db8a33 Mon Sep 17 00:00:00 2001 From: "judy.liu" Date: Fri, 16 Jan 2026 11:31:18 +0800 Subject: [PATCH 20/37] add go code --- .../Microsoft.Search/Search/client.tsp | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 5689d3623d80..8026c11924f4 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -720,3 +720,98 @@ op SharedPrivateLinkResourcesDeleteCustomization( ); @@clientName(Microsoft.Search, "SearchManagementClient", "python"); + +@@clientName(servicesCheckNameAvailabilityCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(usagesListBySubscriptionCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(usageBySubscriptionSkuCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(searchServicesListBySubscriptionCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(searchServicesListByResourceGroupCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(searchGetCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(searchCreateOrUpdateCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(searchUpdateCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(searchDeleteCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(queryKeysCreateCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(queryKeysDeleteCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); + +@@clientName(adminKeysGetCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(queryKeysListBySearchServiceCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(privateEndpointConnectionsListByServiceCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(privateEndpointConnectionsGetCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(privateEndpointConnectionsUpdateCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(privateEndpointConnectionsDeleteCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(privateLinkResourcesListSupportedCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(privateLinkResourcesRegenerateCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(SharedPrivateLinkResourcesListByServiceCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(SharedPrivateLinkResourcesGetCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(SharedPrivateLinkResourcesCreateOrUpdateCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientName(SharedPrivateLinkResourcesDeleteCustomization::parameters.params, + "searchManagementRequestOptions", + "go" +); +@@clientLocation(usageBySubscriptionSku, "ManagementClient", "go"); From 0e72f9d672ea073bbe9ac06b07821430420e62c1 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Fri, 16 Jan 2026 11:34:37 +0800 Subject: [PATCH 21/37] update --- .../Microsoft.Search/Search/models.tsp | 8 +------- .../Search/stable/2025-05-01/search.json | 14 +++++--------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp index 589cea478c45..145d4a6b565f 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp @@ -956,12 +956,6 @@ model Sku { name?: SkuName; } -/** - * The list of user identities associated with the search service. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -model UserAssignedManagedIdentities is Record; - /** * Details about the search service identity. A null value indicates that the search service has no identity assigned. */ @@ -987,7 +981,7 @@ model Identity { * The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - userAssignedIdentities?: UserAssignedManagedIdentities; + userAssignedIdentities?: Record; } /** diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index 74fd1b721229..29158b97a30c 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -2209,8 +2209,11 @@ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service." }, "userAssignedIdentities": { - "$ref": "#/definitions/UserAssignedManagedIdentities", - "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + "type": "object", + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "additionalProperties": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/UserAssignedIdentity" + } } }, "required": [ @@ -3552,13 +3555,6 @@ } ] } - }, - "UserAssignedManagedIdentities": { - "type": "object", - "description": "The list of user identities associated with the search service. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", - "additionalProperties": { - "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/UserAssignedIdentity" - } } }, "parameters": {} From 60f028741046bfcf86603d3da9ad1566c250d873 Mon Sep 17 00:00:00 2001 From: "judy.liu" Date: Fri, 16 Jan 2026 11:43:53 +0800 Subject: [PATCH 22/37] add go config --- .../resource-manager/Microsoft.Search/Search/client.tsp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 8026c11924f4..f592477f7ad0 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -815,3 +815,12 @@ op SharedPrivateLinkResourcesDeleteCustomization( "go" ); @@clientLocation(usageBySubscriptionSku, "ManagementClient", "go"); +/** Network security perimeter configuration */ +model AccessRulePropertiesSubscriptionsItem { + /** The fully qualified Azure resource ID of the subscription e.g. ('/subscriptions/00000000-0000-0000-0000-000000000000') */ + id?: Azure.Core.armResourceIdentifier; +} +@@alternateType(Azure.ResourceManager.CommonTypes.AccessRuleProperties.subscriptions, + AccessRulePropertiesSubscriptionsItem, + "go" +); From 9229a67a75b196c6584b139c82229e10da39ca6f Mon Sep 17 00:00:00 2001 From: "judy.liu" Date: Fri, 16 Jan 2026 12:22:26 +0800 Subject: [PATCH 23/37] add go config --- .../search/resource-manager/Microsoft.Search/Search/client.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index f592477f7ad0..2eb116316b2d 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -821,6 +821,6 @@ model AccessRulePropertiesSubscriptionsItem { id?: Azure.Core.armResourceIdentifier; } @@alternateType(Azure.ResourceManager.CommonTypes.AccessRuleProperties.subscriptions, - AccessRulePropertiesSubscriptionsItem, + AccessRulePropertiesSubscriptionsItem[], "go" ); From 775d63e5d6662bb73fdd8e2afe4bfe67edc09d95 Mon Sep 17 00:00:00 2001 From: "Xiaofei Cao (from Dev Box)" Date: Mon, 19 Jan 2026 15:17:41 +0800 Subject: [PATCH 24/37] Java config --- .../Microsoft.Search/Search/client.tsp | 71 +++++++++++++------ .../Microsoft.Search/Search/tspconfig.yaml | 6 ++ 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 2eb116316b2d..f0c8adcea89f 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -650,73 +650,96 @@ op SharedPrivateLinkResourcesDeleteCustomization( | CloudError; @@Azure.ClientGenerator.Core.override(ServicesOperationGroup.checkNameAvailability, - servicesCheckNameAvailabilityCustomization + servicesCheckNameAvailabilityCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(UsagesOperationGroup.listBySubscription, - usagesListBySubscriptionCustomization + usagesListBySubscriptionCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(usageBySubscriptionSku, - usageBySubscriptionSkuCustomization + usageBySubscriptionSkuCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.listBySubscription, - searchServicesListBySubscriptionCustomization + searchServicesListBySubscriptionCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.listByResourceGroup, - searchServicesListByResourceGroupCustomization + searchServicesListByResourceGroupCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.get, - searchGetCustomization + searchGetCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.createOrUpdate, - searchCreateOrUpdateCustomization + searchCreateOrUpdateCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.update, - searchUpdateCustomization + searchUpdateCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.delete, - searchDeleteCustomization + searchDeleteCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.create, - queryKeysCreateCustomization + queryKeysCreateCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.queryKeysDelete, - queryKeysDeleteCustomization + queryKeysDeleteCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.adminKeysGet, - adminKeysGetCustomization + adminKeysGetCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.listBySearchService, - queryKeysListBySearchServiceCustomization + queryKeysListBySearchServiceCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.listByService, - privateEndpointConnectionsListByServiceCustomization + privateEndpointConnectionsListByServiceCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.get, - privateEndpointConnectionsGetCustomization + privateEndpointConnectionsGetCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.update, - privateEndpointConnectionsUpdateCustomization + privateEndpointConnectionsUpdateCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.delete, - privateEndpointConnectionsDeleteCustomization + privateEndpointConnectionsDeleteCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.listSupported, - privateLinkResourcesListSupportedCustomization + privateLinkResourcesListSupportedCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SearchServices.regenerate, - privateLinkResourcesRegenerateCustomization + privateLinkResourcesRegenerateCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.listByService, - SharedPrivateLinkResourcesListByServiceCustomization + SharedPrivateLinkResourcesListByServiceCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.get, - SharedPrivateLinkResourcesGetCustomization + SharedPrivateLinkResourcesGetCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.createOrUpdate, - SharedPrivateLinkResourcesCreateOrUpdateCustomization + SharedPrivateLinkResourcesCreateOrUpdateCustomization, + "!java" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.delete, - SharedPrivateLinkResourcesDeleteCustomization + SharedPrivateLinkResourcesDeleteCustomization, + "!java" ); @@clientName(Microsoft.Search, "SearchManagementClient", "python"); @@ -824,3 +847,5 @@ model AccessRulePropertiesSubscriptionsItem { AccessRulePropertiesSubscriptionsItem[], "go" ); + +@@clientName(SearchServiceProperties.eTag, "etag", "java"); diff --git a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml index a2709c077340..90b7a7556baf 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml +++ b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml @@ -29,6 +29,12 @@ options: service-name: "Search" flavor: azure use-object-for-unknown: true + premium: true + generate-tests: false + generate-samples: false + enable-sync-stack: false + remove-inner: CheckNameAvailabilityOutput + client-side-validations: true "@azure-tools/typespec-ts": emitter-output-dir: "{output-dir}/{service-dir}/arm-search" flavor: azure From 34b4a3cc811ed78756fa408bbc0536a18d1c2617 Mon Sep 17 00:00:00 2001 From: Judy Liu Date: Mon, 19 Jan 2026 15:20:39 +0800 Subject: [PATCH 25/37] add go clientName --- .../Microsoft.Search/Search/client.tsp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 2eb116316b2d..b12a3ce2f387 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -649,6 +649,19 @@ op SharedPrivateLinkResourcesDeleteCustomization( | NotFoundResponse | CloudError; +@@clientName(privateEndpointConnectionsUpdateCustomization::parameters.resource, + "privateEndpointConnection", + "go" +); +@@clientName(SharedPrivateLinkResourcesCreateOrUpdateCustomization::parameters.resource, + "sharedPrivateLinkResource", + "go" +); +@@clientName(servicesCheckNameAvailabilityCustomization::parameters.body, + "checkNameAvailabilityInput", + "go" +); + @@Azure.ClientGenerator.Core.override(ServicesOperationGroup.checkNameAvailability, servicesCheckNameAvailabilityCustomization ); From 5a52be9849f4c48cb650ae814b6ddb3b631048e1 Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" Date: Tue, 20 Jan 2026 11:30:50 +0800 Subject: [PATCH 26/37] update client name --- .../search/resource-manager/Microsoft.Search/Search/client.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index d87cd8786dc9..467f39a701e6 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -755,7 +755,7 @@ op SharedPrivateLinkResourcesDeleteCustomization( "!java" ); -@@clientName(Microsoft.Search, "SearchManagementClient", "python"); +@@clientName(Microsoft.Search, "SearchManagementClient", "python, javascript"); @@clientName(servicesCheckNameAvailabilityCustomization::parameters.params, "searchManagementRequestOptions", From c8f7b139729d5f1db20ab0ef9a044e32c3b9a6bb Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com> Date: Tue, 20 Jan 2026 12:13:26 +0800 Subject: [PATCH 27/37] Update client.tsp --- .../search/resource-manager/Microsoft.Search/Search/client.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 467f39a701e6..7e863408bb78 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -858,7 +858,7 @@ model AccessRulePropertiesSubscriptionsItem { } @@alternateType(Azure.ResourceManager.CommonTypes.AccessRuleProperties.subscriptions, AccessRulePropertiesSubscriptionsItem[], - "go" + "go,python" ); @@clientName(SearchServiceProperties.eTag, "etag", "java"); From 8779e2ed55ff42f57c88e1691b5f34bf9c9c2772 Mon Sep 17 00:00:00 2001 From: "Xiaofei Cao (from Dev Box)" Date: Tue, 20 Jan 2026 13:16:17 +0800 Subject: [PATCH 28/37] re-enable generating test/sample for java --- .../resource-manager/Microsoft.Search/Search/tspconfig.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml index 90b7a7556baf..6a0c0f07f15c 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml +++ b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml @@ -30,8 +30,6 @@ options: flavor: azure use-object-for-unknown: true premium: true - generate-tests: false - generate-samples: false enable-sync-stack: false remove-inner: CheckNameAvailabilityOutput client-side-validations: true From dc141fb6900a52d1a8eb1de056eaacafaf991702 Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com> Date: Tue, 20 Jan 2026 13:53:37 +0800 Subject: [PATCH 29/37] Exclude Python from customization for it does not support to wrap header-only parameter --- .../Microsoft.Search/Search/client.tsp | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index 7e863408bb78..d14e0d9554df 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -664,95 +664,95 @@ op SharedPrivateLinkResourcesDeleteCustomization( @@Azure.ClientGenerator.Core.override(ServicesOperationGroup.checkNameAvailability, servicesCheckNameAvailabilityCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(UsagesOperationGroup.listBySubscription, usagesListBySubscriptionCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(usageBySubscriptionSku, usageBySubscriptionSkuCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.listBySubscription, searchServicesListBySubscriptionCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.listByResourceGroup, searchServicesListByResourceGroupCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.get, searchGetCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.createOrUpdate, searchCreateOrUpdateCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.update, searchUpdateCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.delete, searchDeleteCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.create, queryKeysCreateCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.queryKeysDelete, queryKeysDeleteCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.adminKeysGet, adminKeysGetCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.listBySearchService, queryKeysListBySearchServiceCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.listByService, privateEndpointConnectionsListByServiceCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.get, privateEndpointConnectionsGetCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.update, privateEndpointConnectionsUpdateCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.delete, privateEndpointConnectionsDeleteCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.listSupported, privateLinkResourcesListSupportedCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SearchServices.regenerate, privateLinkResourcesRegenerateCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.listByService, SharedPrivateLinkResourcesListByServiceCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.get, SharedPrivateLinkResourcesGetCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.createOrUpdate, SharedPrivateLinkResourcesCreateOrUpdateCustomization, - "!java" + "!java,!python" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.delete, SharedPrivateLinkResourcesDeleteCustomization, - "!java" + "!java,!python" ); @@clientName(Microsoft.Search, "SearchManagementClient", "python, javascript"); From c84d1cec4d8e5fdc7d29f012b2984d426e44b09f Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" Date: Tue, 20 Jan 2026 15:02:37 +0800 Subject: [PATCH 30/37] Exclude JS for customization --- .../Microsoft.Search/Search/client.tsp | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp index d14e0d9554df..c8fdff098a92 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/client.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/client.tsp @@ -664,95 +664,95 @@ op SharedPrivateLinkResourcesDeleteCustomization( @@Azure.ClientGenerator.Core.override(ServicesOperationGroup.checkNameAvailability, servicesCheckNameAvailabilityCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(UsagesOperationGroup.listBySubscription, usagesListBySubscriptionCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(usageBySubscriptionSku, usageBySubscriptionSkuCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.listBySubscription, searchServicesListBySubscriptionCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.listByResourceGroup, searchServicesListByResourceGroupCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.get, searchGetCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.createOrUpdate, searchCreateOrUpdateCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.update, searchUpdateCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.delete, searchDeleteCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.create, queryKeysCreateCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.queryKeysDelete, queryKeysDeleteCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.adminKeysGet, adminKeysGetCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.listBySearchService, queryKeysListBySearchServiceCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.listByService, privateEndpointConnectionsListByServiceCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.get, privateEndpointConnectionsGetCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.update, privateEndpointConnectionsUpdateCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(PrivateEndpointConnections.delete, privateEndpointConnectionsDeleteCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.listSupported, privateLinkResourcesListSupportedCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SearchServices.regenerate, privateLinkResourcesRegenerateCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.listByService, SharedPrivateLinkResourcesListByServiceCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.get, SharedPrivateLinkResourcesGetCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.createOrUpdate, SharedPrivateLinkResourcesCreateOrUpdateCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@Azure.ClientGenerator.Core.override(SharedPrivateLinkResources.delete, SharedPrivateLinkResourcesDeleteCustomization, - "!java,!python" + "!java,!python,!javascript" ); @@clientName(Microsoft.Search, "SearchManagementClient", "python, javascript"); @@ -858,7 +858,7 @@ model AccessRulePropertiesSubscriptionsItem { } @@alternateType(Azure.ResourceManager.CommonTypes.AccessRuleProperties.subscriptions, AccessRulePropertiesSubscriptionsItem[], - "go,python" + "go,python,javascript" ); @@clientName(SearchServiceProperties.eTag, "etag", "java"); From c30b91b461f296f2e85368fcb94c2b0f7d1fc7bc Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" <80496810+v-jiaodi@users.noreply.github.com> Date: Thu, 22 Jan 2026 15:49:08 +0800 Subject: [PATCH 31/37] Enable compatibility-lro in tspconfig.yaml --- .../resource-manager/Microsoft.Search/Search/tspconfig.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml index 6a0c0f07f15c..a43dec7bc193 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml +++ b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml @@ -36,6 +36,7 @@ options: "@azure-tools/typespec-ts": emitter-output-dir: "{output-dir}/{service-dir}/arm-search" flavor: azure + compatibility-lro: true experimental-extensible-enums: true package-details: name: "@azure/arm-search" From 5fccd9ca9671fffbaedadceb281c80c757bd7033 Mon Sep 17 00:00:00 2001 From: Xinni Tong Date: Fri, 23 Jan 2026 14:11:41 +0800 Subject: [PATCH 32/37] update --- .../NetworkSecurityPerimeterConfiguration.tsp | 7 - .../Microsoft.Search/Search/SearchService.tsp | 6 +- .../Microsoft.Search/Search/models.tsp | 9 + .../Search/stable/2025-05-01/search.json | 456 +++++++++--------- 4 files changed, 245 insertions(+), 233 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp index 3a16131fde90..ac5fb2d133af 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/NetworkSecurityPerimeterConfiguration.tsp @@ -82,13 +82,6 @@ interface NetworkSecurityPerimeterConfigurations { >; } -//@@maxLength(NetworkSecurityPerimeterConfiguration.name, 100); -//@@minLength(NetworkSecurityPerimeterConfiguration.name, 38); -/* -@@doc(NetworkSecurityPerimeterConfiguration.name, - "The network security perimeter configuration name." -); -*/ @@doc(NetworkSecurityPerimeterConfiguration.properties, "Network security configuration properties." ); diff --git a/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp b/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp index e98d20c65bee..e6209256ba10 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp @@ -121,7 +121,7 @@ alias QueryKeysDeleteOps = Azure.ResourceManager.Legacy.RoutedOperations< QueryKeysDeleteParentParameters, QueryKeysDeleteParameters, ResourceRoute = #{ - route: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/", + route: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/", } >; @@ -276,7 +276,7 @@ interface SearchServices { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") - @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}") regenerate is AdminKeysOps.ActionSync< SearchService, void, @@ -299,7 +299,7 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @post @externalDocs("https://aka.ms/search-manage") - @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}") create is QueryKeysOps.CreateOrUpdateSync< SearchService, Request = void, diff --git a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp index 145d4a6b565f..877acd934b27 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp @@ -930,6 +930,11 @@ model SharedPrivateLinkResourceProperties { /** * Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @OpenAPI.externalDocs( + "https://docs.microsoft.com/azure/private-link/private-endpoint-dns", + "List of all Azure resources which have a regional DNS configuration requirement can be found here." + ) resourceRegion?: string; /** @@ -998,12 +1003,16 @@ model SearchServiceUpdate extends Azure.ResourceManager.CommonTypes.Resource { /** * The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @OpenAPI.externalDocs("https://azure.microsoft.com/documentation/articles/search-sku-tier/") sku?: Sku; /** * The geographic location of the resource. This must be one of the supported and registered Azure geo regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read, Lifecycle.Create) + @OpenAPI.externalDocs("https://aka.ms/search-rp-info") location?: string; /** diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index 29158b97a30c..9915103e0e2a 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -687,6 +687,141 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { + "post": { + "operationId": "QueryKeys_Create", + "tags": [ + "SearchServices" + ], + "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "name", + "in": "path", + "description": "The name of the new query API key.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/QueryKey" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SearchCreateQueryKey": { + "$ref": "./examples/SearchCreateQueryKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { + "delete": { + "operationId": "QueryKeys_Delete", + "tags": [ + "SearchServices" + ], + "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "key", + "in": "path", + "description": "The query key to be deleted. Query keys are identified by value, not by name.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" + } + ], + "responses": { + "200": { + "description": "The request has succeeded." + }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, + "404": { + "description": "The server cannot find the requested resource." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SearchDeleteQueryKey": { + "$ref": "./examples/SearchDeleteQueryKey.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { "post": { "operationId": "AdminKeys_Get", @@ -1309,6 +1444,92 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { + "post": { + "operationId": "AdminKeys_Regenerate", + "tags": [ + "SearchServices" + ], + "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "description": "The name of the Azure AI Search service associated with the specified resource group.", + "required": true, + "type": "string", + "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" + }, + { + "name": "keyKind", + "in": "path", + "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'.", + "required": true, + "type": "string", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "AdminKeyKind", + "modelAsString": false, + "values": [ + { + "name": "Primary", + "value": "primary", + "description": "The primary API key for the search service." + }, + { + "name": "Secondary", + "value": "secondary", + "description": "The secondary API key for the search service." + } + ] + } + }, + { + "name": "x-ms-client-request-id", + "in": "header", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-client-name": "clientRequestId" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SearchRegenerateAdminKey": { + "$ref": "./examples/SearchRegenerateAdminKey.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { "get": { "operationId": "SharedPrivateLinkResources_ListByService", @@ -1671,227 +1892,6 @@ }, "x-ms-long-running-operation": true } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { - "post": { - "operationId": "QueryKeys_Create", - "tags": [ - "SearchServices" - ], - "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "searchServiceName", - "in": "path", - "description": "The name of the Azure AI Search service associated with the specified resource group.", - "required": true, - "type": "string", - "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" - }, - { - "name": "name", - "in": "path", - "description": "The name of the new query API key.", - "required": true, - "type": "string" - }, - { - "name": "x-ms-client-request-id", - "in": "header", - "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", - "required": false, - "type": "string", - "format": "uuid", - "x-ms-client-name": "clientRequestId" - } - ], - "responses": { - "200": { - "description": "Azure operation completed successfully.", - "schema": { - "$ref": "#/definitions/QueryKey" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "SearchCreateQueryKey": { - "$ref": "./examples/SearchCreateQueryKey.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { - "delete": { - "operationId": "QueryKeys_Delete", - "tags": [ - "SearchServices" - ], - "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "searchServiceName", - "in": "path", - "description": "The name of the Azure AI Search service associated with the specified resource group.", - "required": true, - "type": "string", - "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" - }, - { - "name": "key", - "in": "path", - "description": "The query key to be deleted. Query keys are identified by value, not by name.", - "required": true, - "type": "string" - }, - { - "name": "x-ms-client-request-id", - "in": "header", - "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", - "required": false, - "type": "string", - "format": "uuid", - "x-ms-client-name": "clientRequestId" - } - ], - "responses": { - "200": { - "description": "The request has succeeded." - }, - "204": { - "description": "There is no content to send for this request, but the headers may be useful." - }, - "404": { - "description": "The server cannot find the requested resource." - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "SearchDeleteQueryKey": { - "$ref": "./examples/SearchDeleteQueryKey.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { - "post": { - "operationId": "AdminKeys_Regenerate", - "tags": [ - "SearchServices" - ], - "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "searchServiceName", - "in": "path", - "description": "The name of the Azure AI Search service associated with the specified resource group.", - "required": true, - "type": "string", - "pattern": "^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$" - }, - { - "name": "keyKind", - "in": "path", - "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'.", - "required": true, - "type": "string", - "enum": [ - "primary", - "secondary" - ], - "x-ms-enum": { - "name": "AdminKeyKind", - "modelAsString": false, - "values": [ - { - "name": "Primary", - "value": "primary", - "description": "The primary API key for the search service." - }, - { - "name": "Secondary", - "value": "secondary", - "description": "The secondary API key for the search service." - } - ] - } - }, - { - "name": "x-ms-client-request-id", - "in": "header", - "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", - "required": false, - "type": "string", - "format": "uuid", - "x-ms-client-name": "clientRequestId" - } - ], - "responses": { - "200": { - "description": "Azure operation completed successfully.", - "schema": { - "$ref": "#/definitions/AdminKeyResult" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "SearchRegenerateAdminKey": { - "$ref": "./examples/SearchRegenerateAdminKey.json" - } - } - } } }, "definitions": { @@ -3185,11 +3185,17 @@ }, "sku": { "$ref": "#/definitions/Sku", - "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } }, "location": { "type": "string", "description": "The geographic location of the resource. This must be one of the supported and registered Azure geo regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", + "externalDocs": { + "url": "https://aka.ms/search-rp-info" + }, "x-ms-mutability": [ "read", "create" @@ -3351,7 +3357,11 @@ }, "resourceRegion": { "type": "string", - "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service)." + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", + "externalDocs": { + "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", + "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" + } }, "status": { "$ref": "#/definitions/SharedPrivateLinkResourceStatus", From 2ad8e3ca4ad12a791309213bd8b6f6f1012f7b99 Mon Sep 17 00:00:00 2001 From: melina5656 <140602263+melina5656@users.noreply.github.com> Date: Mon, 26 Jan 2026 15:28:59 +0800 Subject: [PATCH 33/37] add missing x-ms-parameter-grouping and x-ms-client-request-id --- .../Search/PrivateEndpointConnection.tsp | 20 +++ .../Microsoft.Search/Search/SearchService.tsp | 60 ++++++++ .../Search/SharedPrivateLinkResource.tsp | 20 +++ .../Microsoft.Search/Search/routes.tsp | 15 ++ .../Search/stable/2025-05-01/search.json | 138 +++++++++++++++--- 5 files changed, 230 insertions(+), 23 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/PrivateEndpointConnection.tsp b/specification/search/resource-manager/Microsoft.Search/Search/PrivateEndpointConnection.tsp index 9532663a7c2a..374a2d726c9d 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/PrivateEndpointConnection.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/PrivateEndpointConnection.tsp @@ -41,6 +41,11 @@ interface PrivateEndpointConnections { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError @@ -61,6 +66,11 @@ interface PrivateEndpointConnections { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = ArmResourceUpdatedResponse, @@ -82,6 +92,11 @@ interface PrivateEndpointConnections { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = ArmResponse | NotFoundResponse, @@ -102,6 +117,11 @@ interface PrivateEndpointConnections { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = PrivateEndpointConnectionListResult, diff --git a/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp b/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp index e6209256ba10..736f171c665f 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp @@ -141,6 +141,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError @@ -160,6 +165,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, LroHeaders = ArmLroLocationHeader & @@ -183,6 +193,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError @@ -203,6 +218,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = OkResponse | NoContentResponse | NotFoundResponse, @@ -223,6 +243,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = SearchServiceListResult, @@ -243,6 +268,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = SearchServiceListResult, @@ -266,6 +296,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError @@ -288,6 +323,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, OverrideErrorType = CloudError @@ -311,6 +351,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, OverrideErrorType = CloudError @@ -334,6 +379,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError @@ -356,6 +406,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, OverrideErrorType = CloudError @@ -391,6 +446,11 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError diff --git a/specification/search/resource-manager/Microsoft.Search/Search/SharedPrivateLinkResource.tsp b/specification/search/resource-manager/Microsoft.Search/Search/SharedPrivateLinkResource.tsp index d94ad2f7cbbc..e72aefc3b1ee 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/SharedPrivateLinkResource.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/SharedPrivateLinkResource.tsp @@ -41,6 +41,11 @@ interface SharedPrivateLinkResources { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError @@ -62,6 +67,11 @@ interface SharedPrivateLinkResources { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse>, @@ -85,6 +95,11 @@ interface SharedPrivateLinkResources { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = ArmAcceptedLroResponse & @@ -106,6 +121,11 @@ interface SharedPrivateLinkResources { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Response = SharedPrivateLinkResourceListResult, diff --git a/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp b/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp index 1811bcf03ca2..d0c366a58e67 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp @@ -32,6 +32,11 @@ interface ServicesOperationGroup { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; }, Error = CloudError @@ -60,6 +65,11 @@ interface UsagesOperationGroup { #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string; ...LocationParameter; @@ -86,6 +96,11 @@ op usageBySubscriptionSku( #suppress "@azure-tools/typespec-azure-core/no-format" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @format("uuid") @header("x-ms-client-request-id") + @OpenAPI.extension( + "x-ms-parameter-grouping", + #{ name: "search-management-request-options" } + ) + @OpenAPI.extension("x-ms-client-request-id", true) clientRequestId?: string, ...LocationResourceParameter, diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index 9915103e0e2a..d02a818f4f13 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -113,7 +113,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true }, { "name": "checkNameAvailabilityInput", @@ -167,7 +171,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" @@ -215,7 +223,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" @@ -276,7 +288,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -330,7 +346,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -392,7 +412,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -449,7 +473,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true }, { "name": "service", @@ -564,7 +592,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true }, { "name": "service", @@ -660,7 +692,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -729,7 +765,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -795,7 +835,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -857,7 +901,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -916,7 +964,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1149,7 +1201,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1218,7 +1274,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1282,7 +1342,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true }, { "name": "privateEndpointConnection", @@ -1355,7 +1419,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1417,7 +1485,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1506,7 +1578,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1565,7 +1641,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1634,7 +1714,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { @@ -1698,7 +1782,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true }, { "name": "sharedPrivateLinkResource", @@ -1785,7 +1873,11 @@ "required": false, "type": "string", "format": "uuid", - "x-ms-client-name": "clientRequestId" + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-client-name": "clientRequestId", + "x-ms-client-request-id": true } ], "responses": { From a696f101726e76202f53b436ab0f44acabf108d6 Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" <80496810+v-jiaodi@users.noreply.github.com> Date: Mon, 2 Feb 2026 10:23:32 +0800 Subject: [PATCH 34/37] Remove compatibility-lro option from tspconfig.yaml --- .../resource-manager/Microsoft.Search/Search/tspconfig.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml index a43dec7bc193..6a0c0f07f15c 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml +++ b/specification/search/resource-manager/Microsoft.Search/Search/tspconfig.yaml @@ -36,7 +36,6 @@ options: "@azure-tools/typespec-ts": emitter-output-dir: "{output-dir}/{service-dir}/arm-search" flavor: azure - compatibility-lro: true experimental-extensible-enums: true package-details: name: "@azure/arm-search" From fc25ab026a6f08eb61b11829b40aa72026477eb8 Mon Sep 17 00:00:00 2001 From: Xinni Tong Date: Wed, 4 Feb 2026 14:33:59 +0800 Subject: [PATCH 35/37] Add missing tags and visibility --- .../Microsoft.Search/Search/SearchService.tsp | 15 +++++- .../Microsoft.Search/Search/models.tsp | 1 + .../Microsoft.Search/Search/routes.tsp | 3 ++ .../Search/stable/2025-05-01/search.json | 52 +++++++++++++------ 4 files changed, 55 insertions(+), 16 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp b/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp index 736f171c665f..f1415594f08a 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/SearchService.tsp @@ -125,13 +125,14 @@ alias QueryKeysDeleteOps = Azure.ResourceManager.Legacy.RoutedOperations< } >; -@armResourceOperations(#{ allowStaticRoutes: true }) +@armResourceOperations(#{ allowStaticRoutes: true, omitTags: true }) interface SearchServices { /** * Gets the search service with the given name in the given resource group. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") + @tag("Services") get is ArmResourceRead< SearchService, Parameters = { @@ -156,6 +157,7 @@ interface SearchServices { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") + @tag("Services") createOrUpdate is ArmResourceCreateOrReplaceAsync< SearchService, Parameters = { @@ -183,6 +185,7 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) @externalDocs("https://aka.ms/search-manage") + @tag("Services") update is ArmCustomPatchSync< SearchService, PatchModel = SearchServiceUpdate, @@ -209,6 +212,7 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") + @tag("Services") delete is ArmResourceDeleteSync< SearchService, Parameters = { @@ -234,6 +238,7 @@ interface SearchServices { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") + @tag("Services") listByResourceGroup is ArmResourceListByParent< SearchService, Parameters = { @@ -259,6 +264,7 @@ interface SearchServices { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") + @tag("Services") listBySubscription is ArmListBySubscription< SearchService, Parameters = { @@ -285,6 +291,7 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("listAdminKeys") @externalDocs("https://aka.ms/search-manage") + @tag("AdminKeys") adminKeysGet is ArmResourceActionSync< SearchService, void, @@ -311,6 +318,7 @@ interface SearchServices { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") + @tag("AdminKeys") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}") regenerate is AdminKeysOps.ActionSync< SearchService, @@ -339,6 +347,7 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @post @externalDocs("https://aka.ms/search-manage") + @tag("QueryKeys") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}") create is QueryKeysOps.CreateOrUpdateSync< SearchService, @@ -367,6 +376,7 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("listQueryKeys") @externalDocs("https://aka.ms/search-manage") + @tag("QueryKeys") @list listBySearchService is ArmResourceActionSync< SearchService, @@ -395,6 +405,7 @@ interface SearchServices { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @delete @externalDocs("https://aka.ms/search-manage") + @tag("QueryKeys") queryKeysDelete is QueryKeysDeleteOps.ActionSync< SearchService, void, @@ -419,6 +430,7 @@ interface SearchServices { /** * Upgrades the Azure AI Search service to the latest version available. */ + @tag("Services") upgrade is ArmResourceActionAsync< SearchService, void, @@ -435,6 +447,7 @@ interface SearchServices { @get @action("privateLinkResources") @list + @tag("PrivateLinkResources") listSupported is ArmResourceActionSync< SearchService, void, diff --git a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp index 877acd934b27..ace137d7000e 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp @@ -1044,6 +1044,7 @@ model PrivateLinkResourcesResult { * The URL to get the next set of private link resources, if there are any. */ @nextLink + @visibility(Lifecycle.Read) nextLink?: string; } diff --git a/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp b/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp index d0c366a58e67..0ac53eca3bf3 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/routes.tsp @@ -21,6 +21,7 @@ interface ServicesOperationGroup { #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @externalDocs("https://aka.ms/search-manage") @autoRoute + @tag("Services") checkNameAvailability is ArmProviderActionSync< Request = CheckNameAvailabilityInput, Response = CheckNameAvailabilityOutput, @@ -54,6 +55,7 @@ interface UsagesOperationGroup { @action("usages") @externalDocs("https://aka.ms/search-manage") @list + @tag("Usages") listBySubscription is ArmProviderActionSync< Request = void, Response = QuotaUsagesListResult, @@ -87,6 +89,7 @@ interface UsagesOperationGroup { @route("/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}") @get @externalDocs("https://aka.ms/search-manage") +@tag("Usages") op usageBySubscriptionSku( ...ApiVersionParameter, diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index d02a818f4f13..5a001f469ec1 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -39,11 +39,23 @@ } }, "tags": [ + { + "name": "Usages" + }, { "name": "Operations" }, { - "name": "SearchServices" + "name": "Services" + }, + { + "name": "AdminKeys" + }, + { + "name": "QueryKeys" + }, + { + "name": "PrivateLinkResources" }, { "name": "PrivateEndpointConnections" @@ -95,6 +107,9 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { "post": { "operationId": "Services_CheckNameAvailability", + "tags": [ + "Services" + ], "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", "externalDocs": { "url": "https://aka.ms/search-manage" @@ -153,6 +168,9 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages": { "get": { "operationId": "Usages_ListBySubscription", + "tags": [ + "Usages" + ], "description": "Get a list of all Azure AI Search quota usages across the subscription.", "externalDocs": { "url": "https://aka.ms/search-manage" @@ -208,6 +226,9 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.Search/locations/{location}/usages/{skuName}": { "get": { "operationId": "UsageBySubscriptionSku", + "tags": [ + "Usages" + ], "description": "Gets the quota usage for a search SKU in the given subscription.", "externalDocs": { "url": "https://aka.ms/search-manage" @@ -268,7 +289,7 @@ "get": { "operationId": "Services_ListBySubscription", "tags": [ - "SearchServices" + "Services" ], "description": "Gets a list of all Search services in the given subscription.", "externalDocs": { @@ -323,7 +344,7 @@ "get": { "operationId": "Services_ListByResourceGroup", "tags": [ - "SearchServices" + "Services" ], "description": "Gets a list of all Search services in the given resource group.", "externalDocs": { @@ -381,7 +402,7 @@ "get": { "operationId": "Services_Get", "tags": [ - "SearchServices" + "Services" ], "description": "Gets the search service with the given name in the given resource group.", "externalDocs": { @@ -442,7 +463,7 @@ "put": { "operationId": "Services_CreateOrUpdate", "tags": [ - "SearchServices" + "Services" ], "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", "externalDocs": { @@ -561,7 +582,7 @@ "patch": { "operationId": "Services_Update", "tags": [ - "SearchServices" + "Services" ], "description": "Updates an existing search service in the given resource group.", "externalDocs": { @@ -661,7 +682,7 @@ "delete": { "operationId": "Services_Delete", "tags": [ - "SearchServices" + "Services" ], "description": "Deletes a search service in the given resource group, along with its associated resources.", "externalDocs": { @@ -727,7 +748,7 @@ "post": { "operationId": "QueryKeys_Create", "tags": [ - "SearchServices" + "QueryKeys" ], "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", "externalDocs": { @@ -797,7 +818,7 @@ "delete": { "operationId": "QueryKeys_Delete", "tags": [ - "SearchServices" + "QueryKeys" ], "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", "externalDocs": { @@ -870,7 +891,7 @@ "post": { "operationId": "AdminKeys_Get", "tags": [ - "SearchServices" + "AdminKeys" ], "description": "Gets the primary and secondary admin API keys for the specified Azure AI Search service.", "externalDocs": { @@ -933,7 +954,7 @@ "post": { "operationId": "QueryKeys_ListBySearchService", "tags": [ - "SearchServices" + "QueryKeys" ], "description": "Returns the list of query API keys for the given Azure AI Search service.", "externalDocs": { @@ -1454,7 +1475,7 @@ "get": { "operationId": "PrivateLinkResources_ListSupported", "tags": [ - "SearchServices" + "PrivateLinkResources" ], "description": "Gets a list of all supported private link resource types for the given service.", "externalDocs": { @@ -1520,7 +1541,7 @@ "post": { "operationId": "AdminKeys_Regenerate", "tags": [ - "SearchServices" + "AdminKeys" ], "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", "externalDocs": { @@ -1923,7 +1944,7 @@ "post": { "operationId": "Services_Upgrade", "tags": [ - "SearchServices" + "Services" ], "description": "Upgrades the Azure AI Search service to the latest version available.", "parameters": [ @@ -2649,7 +2670,8 @@ }, "nextLink": { "type": "string", - "description": "The URL to get the next set of private link resources, if there are any." + "description": "The URL to get the next set of private link resources, if there are any.", + "readOnly": true } }, "x-ms-external": true From 5661a63fb716a392a5a7051eb39cfea60eb7352a Mon Sep 17 00:00:00 2001 From: Xinni Tong Date: Wed, 4 Feb 2026 15:16:17 +0800 Subject: [PATCH 36/37] Remove visibility --- .../search/resource-manager/Microsoft.Search/Search/models.tsp | 1 - 1 file changed, 1 deletion(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp index ace137d7000e..877acd934b27 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/models.tsp +++ b/specification/search/resource-manager/Microsoft.Search/Search/models.tsp @@ -1044,7 +1044,6 @@ model PrivateLinkResourcesResult { * The URL to get the next set of private link resources, if there are any. */ @nextLink - @visibility(Lifecycle.Read) nextLink?: string; } From 451ead86f71b4f77f8cc3b6ac34e5b65bd91d8c6 Mon Sep 17 00:00:00 2001 From: Xinni Tong Date: Wed, 4 Feb 2026 15:17:08 +0800 Subject: [PATCH 37/37] tsp compile --- .../Microsoft.Search/Search/stable/2025-05-01/search.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json index 5a001f469ec1..3a3112174bd3 100644 --- a/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json +++ b/specification/search/resource-manager/Microsoft.Search/Search/stable/2025-05-01/search.json @@ -2670,8 +2670,7 @@ }, "nextLink": { "type": "string", - "description": "The URL to get the next set of private link resources, if there are any.", - "readOnly": true + "description": "The URL to get the next set of private link resources, if there are any." } }, "x-ms-external": true