{ "swagger": "2.0", "info": { "title": "SearchManagementClient", "version": "2026-03-01-preview", "description": "Client that can be used to manage Azure AI Search services and API keys.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Usages" }, { "name": "Operations" }, { "name": "Services" }, { "name": "AdminKeys" }, { "name": "QueryKeys" }, { "name": "PrivateLinkResources" }, { "name": "PrivateEndpointConnections" }, { "name": "SharedPrivateLinkResources" }, { "name": "NetworkSecurityPerimeterConfigurations" }, { "name": "Offerings" } ], "paths": { "/providers/Microsoft.Search/offerings": { "get": { "operationId": "Offerings_List", "tags": [ "Offerings" ], "description": "Lists all of the features and SKUs offered by the Azure AI Search service in each region. Note: This API returns a non-ARM resource collection and is not RPC-compliant. It will be replaced with an action-style API in the next preview as a breaking change. Customers should avoid taking new dependencies on the current shape.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/OfferingsListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "SearchListOfferings": { "$ref": "./examples/SearchListOfferings.json" } }, "x-ms-pageable": { "nextLinkName": null } } }, "/providers/Microsoft.Search/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "SearchListOperations": { "$ref": "./examples/SearchListOperations.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/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" }, "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true }, { "name": "checkNameAvailabilityInput", "in": "body", "description": "The request body", "required": true, "schema": { "$ref": "#/definitions/CheckNameAvailabilityInput" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/CheckNameAvailabilityOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "SearchCheckNameAvailability": { "$ref": "./examples/SearchCheckNameAvailability.json" } } } }, "/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" }, "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/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-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" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/QuotaUsagesListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "GetQuotaUsagesList": { "$ref": "./examples/GetQuotaUsagesList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/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" }, "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/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-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" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "skuName", "in": "path", "description": "The unique SKU name that identifies a billable tier.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/QuotaUsageResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "GetQuotaUsage": { "$ref": "./examples/GetQuotaUsage.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { "get": { "operationId": "Services_ListBySubscription", "tags": [ "Services" ], "description": "Gets a list of all search services in the given subscription.", "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" }, { "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/SearchServiceListResult" } }, "default": { "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": { "get": { "operationId": "Services_ListByResourceGroup", "tags": [ "Services" ], "description": "Gets a list of all search services in the given resource group.", "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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/SearchServiceListResult" } }, "default": { "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}": { "get": { "operationId": "Services_Get", "tags": [ "Services" ], "description": "Gets the search service with the given name in the given resource group.", "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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SearchService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "SearchGetService": { "$ref": "./examples/SearchGetService.json" } } }, "put": { "operationId": "Services_CreateOrUpdate", "tags": [ "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": { "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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true }, { "name": "service", "in": "body", "description": "The definition of the search service to create or update. Create applies to both serverless and dedicated search services; update applies only to dedicated search services.", "required": true, "schema": { "$ref": "#/definitions/SearchService" } } ], "responses": { "200": { "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": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "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" }, "SearchCreateOrUpdateServiceWithServerless": { "$ref": "./examples/SearchCreateOrUpdateServiceWithServerless.json" }, "SearchCreateOrUpdateServiceWithServiceLevelCmkMultiTenantFederatedIdentity": { "$ref": "./examples/SearchCreateOrUpdateServiceWithServiceLevelCmkMultiTenantFederatedIdentity.json" }, "SearchCreateOrUpdateWithKnowledgeRetrieval": { "$ref": "./examples/SearchCreateOrUpdateWithKnowledgeRetrieval.json" }, "SearchCreateOrUpdateWithSemanticSearch": { "$ref": "./examples/SearchCreateOrUpdateWithSemanticSearch.json" } }, "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": [ "Services" ], "description": "Updates an existing search service in the given resource group.", "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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true }, { "name": "service", "in": "body", "description": "The definition of the search service to update.", "required": true, "schema": { "$ref": "#/definitions/SearchServiceUpdate" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SearchService" } }, "default": { "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" }, "SearchUpdateServiceWithKnowledgeRetrieval": { "$ref": "./examples/SearchUpdateServiceWithKnowledgeRetrieval.json" }, "SearchUpdateServiceWithSemanticSearch": { "$ref": "./examples/SearchUpdateServiceWithSemanticSearch.json" }, "SearchUpdateServiceWithSku": { "$ref": "./examples/SearchUpdateServiceWithSku.json" } } }, "delete": { "operationId": "Services_Delete", "tags": [ "Services" ], "description": "Deletes a search service in the given resource group, along with its associated resources.\nReturns 200 (OK) on successful deletion, or 204 (No Content) if the service is not found.", "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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "The request has succeeded." }, "204": { "description": "There is no content to send for this request, but the headers may be useful." }, "default": { "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/{searchServiceName}/createQueryKey/{name}": { "post": { "operationId": "QueryKeys_Create", "tags": [ "QueryKeys" ], "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "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": [ "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.\nReturns 200 (OK) on successful deletion, 204 (No Content) if the service exists but the query keys not found, or 404 (Not Found) if the service is not found.\nNOTE: The behavior of returning 404 is inconsistent with ARM guidelines. Clients should expect a 204 response in future versions and avoid new dependencies on the 404 response.", "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "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", "tags": [ "AdminKeys" ], "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": "../../../../../../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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AdminKeyResult" } }, "default": { "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}/listQueryKeys": { "post": { "operationId": "QueryKeys_ListBySearchService", "tags": [ "QueryKeys" ], "description": "Returns the list of query API keys for the given Azure AI Search 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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ListQueryKeysResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "SearchListQueryKeysBySearchService": { "$ref": "./examples/SearchListQueryKeysBySearchService.json" } }, "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": "../../../../../../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]+)*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationListResult" } }, "default": { "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": [ "NetworkSecurityPerimeterConfigurations" ], "description": "Gets a network security perimeter configuration.", "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": "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": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "Get an NSP config by name": { "$ref": "./examples/NetworkSecurityPerimeterConfigurationsGet.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/networkSecurityPerimeterConfigurations/{nspConfigName}/reconcile": { "post": { "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", "tags": [ "NetworkSecurityPerimeterConfigurations" ], "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": "../../../../../../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": "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": { "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." } } }, "default": { "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" ], "description": "Gets a list of all private endpoint connections in the given 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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/PrivateEndpointConnectionListResult" } }, "default": { "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}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "operationId": "PrivateEndpointConnections_Get", "tags": [ "PrivateEndpointConnections" ], "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": "../../../../../../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": "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" }, { "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "PrivateEndpointConnectionGet": { "$ref": "./examples/GetPrivateEndpointConnection.json" } } }, "put": { "operationId": "PrivateEndpointConnections_Update", "tags": [ "PrivateEndpointConnections" ], "description": "Updates a private endpoint connection to the search service in the given resource group.", "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": "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" }, { "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true }, { "name": "privateEndpointConnection", "in": "body", "description": "The definition of the private endpoint connection to update.", "required": true, "schema": { "$ref": "#/definitions/PrivateEndpointConnection" } } ], "responses": { "200": { "description": "Resource 'PrivateEndpointConnection' update operation succeeded", "schema": { "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "PrivateEndpointConnectionUpdate": { "$ref": "./examples/UpdatePrivateEndpointConnection.json" } } }, "delete": { "operationId": "PrivateEndpointConnections_Delete", "tags": [ "PrivateEndpointConnections" ], "description": "Disconnects the private endpoint connection and deletes it from the search service.\nReturns 200 (OK) with the deleted connection details on successful deletion, or 404 (Not Found) if the connection does not exist.\nNOTE: The behavior of returning 404 is inconsistent with ARM guidelines. Clients should expect a 204 response in future versions and avoid new dependencies on the 404 response.", "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": "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" }, { "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateEndpointConnection" } }, "404": { "description": "The server cannot find the requested resource." }, "default": { "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}/privateLinkResources": { "get": { "operationId": "PrivateLinkResources_ListSupported", "tags": [ "PrivateLinkResources" ], "description": "Gets a list of all supported private link resource types for the given 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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateLinkResourcesResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "ListSupportedPrivateLinkResources": { "$ref": "./examples/ListSupportedPrivateLinkResources.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { "post": { "operationId": "AdminKeys_Regenerate", "tags": [ "AdminKeys" ], "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "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", "tags": [ "SharedPrivateLinkResources" ], "description": "Gets a list of all shared private link resources managed by the given 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": "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/SharedPrivateLinkResourceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "ListSharedPrivateLinkResourcesByService": { "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { "get": { "operationId": "SharedPrivateLinkResources_Get", "tags": [ "SharedPrivateLinkResources" ], "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" }, "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": "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" }, { "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SharedPrivateLinkResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "SharedPrivateLinkResourceGet": { "$ref": "./examples/GetSharedPrivateLinkResource.json" } } }, "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": "../../../../../../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": "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" }, { "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true }, { "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": "Resource 'SharedPrivateLinkResource' update operation succeeded", "schema": { "$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 response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "SharedPrivateLinkResourceCreateOrUpdate": { "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" } }, "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.\nReturns 202 (Accepted) for asynchronous deletion, 204 (No Content) if the service exists but the shared private link is not found, or 404 (Not Found) if the service is not found.\nNOTE: The behavior of returning 404 is inconsistent with ARM guidelines. Clients should expect a 204 response in future versions and avoid new dependencies on the 404 response.", "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": "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" }, { "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-parameter-grouping": { "name": "search-management-request-options" }, "x-ms-client-name": "clientRequestId", "x-ms-client-request-id": true } ], "responses": { "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 response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { "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": [ "Services" ], "description": "Upgrades the Azure AI Search service to the latest version available.", "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]+)*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$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 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 } } }, "definitions": { "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." } ] } }, "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." } } }, "AzureActiveDirectoryApplicationCredentials": { "type": "object", "description": "Describes the Azure Active Directory application credentials required to access an Azure Key Vault.", "properties": { "applicationId": { "type": "string", "description": "The application (client) ID of an App Registration in the tenant." }, "applicationSecret": { "type": "string", "format": "password", "description": "An AAD client secret that was generated for the App Registration used to authenticate with Azure Key Vault.", "x-ms-secret": true } } }, "CheckNameAvailabilityInput": { "type": "object", "description": "Input of check name availability API.", "properties": { "name": { "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": { "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": { "modelAsString": false } } }, "required": [ "name", "type" ] }, "CheckNameAvailabilityOutput": { "type": "object", "description": "Output of check name availability API.", "properties": { "nameAvailable": { "type": "boolean", "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.", "readOnly": true }, "message": { "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 } } }, "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 }, "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 dedicated 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" } ] } }, "DataIdentity": { "type": "object", "description": "Abstract base type for data identities.", "properties": { "@odata.type": { "type": "string", "description": "A URI fragment specifying the type of identity." } }, "discriminator": "@odata.type", "required": [ "@odata.type" ] }, "DataNoneIdentity": { "type": "object", "description": "Clears the identity property.", "allOf": [ { "$ref": "#/definitions/DataIdentity" } ], "x-ms-discriminator-value": "#Microsoft.Azure.Search.DataNoneIdentity" }, "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." } } }, "DataUserAssignedIdentity": { "type": "object", "description": "Specifies the user assigned identity to use.", "properties": { "userAssignedIdentity": { "type": "string", "format": "arm-id", "description": "The fully qualified Azure resource Id of a user assigned managed identity typically in the form \"/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId\" that should have been assigned to the search service.", "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.ManagedIdentity/userAssignedIdentities" } ] } }, "federatedIdentityClientId": { "type": "string", "description": "Optional for Multi-tenant User-Assigned Managed Identity CMK Support: The client id (as a UUID) of the multi-tenant App Registration that has been configured to federate with the userAssignedIdentity." } }, "required": [ "userAssignedIdentity" ], "allOf": [ { "$ref": "#/definitions/DataIdentity" } ], "x-ms-discriminator-value": "#Microsoft.Azure.Search.DataUserAssignedIdentity" }, "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 }, "serviceLevelEncryptionKey": { "$ref": "#/definitions/SearchResourceEncryptionKey", "description": "Describes the customer-managed key configuration for encrypting the search service." } } }, "FeatureOffering": { "type": "object", "description": "Describes the availability of a specific feature in a region.", "properties": { "name": { "type": "string", "description": "The name of the feature offered in this region." } } }, "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 maximum limit of indexes is determined by the SKU or pricing tier." }, { "name": "HighDensity", "value": "HighDensity", "description": "Only applies to the Standard3 (S3) SKU, where the search services can have up to 1,000 indexes." } ] } }, "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": { "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": [ "type" ] }, "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": { "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" ], "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." } ] } }, "KnowledgeRetrieval": { "type": "string", "description": "Specifies the billing plan for agentic retrieval on the Azure AI Search service. This configuration is only available for certain pricing tiers in certain regions.", "enum": [ "free", "standard" ], "x-ms-enum": { "name": "KnowledgeRetrieval", "modelAsString": true, "values": [ { "name": "free", "value": "free", "description": "Enables knowledge retrieval 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 knowledge retrieval requests and is offered at no extra charge." }, { "name": "standard", "value": "standard", "description": "Enables knowledge retrieval on a search service as a billable feature after the free quota is exhausted, with higher throughput and volume of knowledge retrieval requests." } ] } }, "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", "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" } }, "bypass": { "$ref": "#/definitions/SearchBypass", "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section." } } }, "NetworkSecurityPerimeterConfigurationListResult": { "type": "object", "description": "The response of a NetworkSecurityPerimeterConfiguration list operation.", "properties": { "value": { "type": "array", "description": "The NetworkSecurityPerimeterConfiguration items on this page", "items": { "$ref": "../../../../../../common-types/resource-management/v6/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "OfferingsByRegion": { "type": "object", "description": "Describes the Azure AI Search features and SKUs available in a specific Azure region.", "properties": { "regionName": { "type": "string", "description": "The name of the region." }, "features": { "type": "array", "description": "The list of features offered in this region.", "items": { "$ref": "#/definitions/FeatureOffering" }, "x-ms-identifiers": [] }, "skus": { "type": "array", "description": "The list of SKUs offered in this region.", "items": { "$ref": "#/definitions/SkuOffering" } } } }, "OfferingsListResult": { "type": "object", "description": "Response containing the list of offerings available in Azure AI Search, organized by region.", "properties": { "value": { "type": "array", "description": "The list of Azure AI Search offerings by region.", "items": { "$ref": "#/definitions/OfferingsByRegion" }, "readOnly": true }, "nextLink": { "type": "string", "description": "The URL to get the next set of offerings, if any.", "readOnly": true } }, "x-ms-external": true }, "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": { "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": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Operation" }, "readOnly": true }, "nextLink": { "type": "string", "description": "The URL to get the next set of operation list results, if any.", "readOnly": true } } }, "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": [ "user", "system", "user,system" ], "x-ms-enum": { "name": "Origin", "modelAsString": true, "values": [ { "name": "user", "value": "user" }, { "name": "system", "value": "system" }, { "name": "user,system", "value": "user,system" } ] } }, "PrivateEndpointConnection": { "type": "object", "description": "Describes an existing private endpoint connection to 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/ProxyResource" } ] }, "PrivateEndpointConnectionListResult": { "type": "object", "description": "Response containing a list of private endpoint connections.", "properties": { "value": { "type": "array", "description": "The list of private endpoint connections.", "items": { "$ref": "#/definitions/PrivateEndpointConnection" }, "readOnly": true }, "nextLink": { "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.", "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." }, "privateLinkServiceConnectionState": { "$ref": "#/definitions/PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState", "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": { "$ref": "#/definitions/PrivateLinkServiceConnectionProvisioningState", "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled." } } }, "PrivateEndpointConnectionPropertiesPrivateEndpoint": { "type": "object", "description": "The private endpoint resource from Microsoft.Network provider.", "properties": { "id": { "type": "string", "description": "The resource ID of the private endpoint resource from Microsoft.Network provider." } } }, "PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState": { "type": "object", "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint.", "properties": { "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" } } }, "PrivateLinkResource": { "type": "object", "description": "Describes a supported private link resource for the Azure AI Search service.", "properties": { "properties": { "$ref": "#/definitions/PrivateLinkResourceProperties", "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" } ] }, "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": { "type": "string", "description": "The group ID of the private link resource.", "readOnly": true }, "requiredMembers": { "type": "array", "description": "The list of required members of the private link resource.", "items": { "type": "string" }, "readOnly": true }, "requiredZoneNames": { "type": "array", "description": "The list of required DNS zone names of the private link resource.", "items": { "type": "string" }, "readOnly": true }, "shareablePrivateLinkResourceTypes": { "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" }, "readOnly": true } } }, "PrivateLinkResourcesResult": { "type": "object", "description": "Response containing a list of supported Private Link Resources.", "properties": { "value": { "type": "array", "description": "The list of supported Private Link Resources.", "items": { "$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 }, "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" ], "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." } ] } }, "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. For dedicated search services only." }, { "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", "SecuredByPerimeter" ], "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." }, { "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." } ] } }, "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": { "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 }, "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." }, "unit": { "type": "string", "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 SKU name information of the current search service.", "readOnly": true } } }, "QuotaUsageResultName": { "type": "object", "description": "The SKU name information, including its identifier and localized display name.", "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" }, "readOnly": true }, "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", "AzurePortal", "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." }, { "name": "AzurePortal", "value": "AzurePortal", "description": "Indicates that requests originating from the Azure Portal can bypass the rules defined in the 'ipRules' section." }, { "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'." } ] } }, "SearchResourceEncryptionKey": { "type": "object", "description": "A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.", "properties": { "keyVaultKeyName": { "type": "string", "description": "The name of your Azure Key Vault key to be used to encrypt your data at rest." }, "keyVaultKeyVersion": { "type": "string", "description": "The version of your Azure Key Vault key to be used to encrypt your data at rest." }, "keyVaultUri": { "type": "string", "format": "uri", "description": "The URI of your Azure Key Vault, also referred to as DNS name, that contains the key to be used to encrypt your data at rest. An example URI might be `https://my-keyvault-name.vault.azure.net`." }, "identity": { "$ref": "#/definitions/DataIdentity", "description": "An explicit managed identity to use for this encryption key. If not specified and the access credentials property is null, the system-assigned managed identity is used. On update to the resource, if the explicit identity is unspecified, it remains unchanged. If \"none\" is specified, the value of this property is cleared.", "x-nullable": true }, "accessCredentials": { "$ref": "#/definitions/AzureActiveDirectoryApplicationCredentials", "description": "Optional Azure Active Directory credentials used for accessing your Azure Key Vault. Not required if using managed identity instead." } } }, "SearchSemanticSearch": { "type": "string", "description": "Specifies the availability and billing plan for semantic search on the Azure AI Search service. This configuration is only available for certain pricing tiers in certain regions.", "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." }, { "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. This is the default." }, { "name": "standard", "value": "standard", "description": "Enables semantic reranker on a search service as a billable feature after the free quota is exhausted, 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.", "externalDocs": { "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" } }, "identity": { "$ref": "#/definitions/Identity", "description": "The identity of the resource." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } ] }, "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", "description": "The number of replicas in the dedicated 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, "minimum": 1, "maximum": 12 }, "partitionCount": { "type": "integer", "format": "int32", "description": "The number of partitions in the dedicated 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, "minimum": 1, "maximum": 12 }, "endpoint": { "type": "string", "format": "uri", "description": "The endpoint of the Azure AI Search service." }, "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'.", "default": "Default", "enum": [ "Default", "HighDensity" ], "x-ms-enum": { "name": "HostingMode", "modelAsString": false, "values": [ { "name": "Default", "value": "Default", "description": "The maximum limit of indexes is determined by the SKU or pricing tier." }, { "name": "HighDensity", "value": "HighDensity", "description": "Only applies to the Standard3 (S3) SKU, where the search services can have up to 1,000 indexes." } ] } }, "computeType": { "$ref": "#/definitions/ComputeType", "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute." }, "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.", "default": "Enabled", "enum": [ "Enabled", "Disabled", "SecuredByPerimeter" ], "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." }, { "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." } ] } }, "status": { "$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.", "readOnly": true }, "statusDetails": { "type": "string", "description": "The details of the search service status.", "readOnly": true }, "provisioningState": { "$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.", "readOnly": true }, "networkRuleSet": { "$ref": "#/definitions/NetworkRuleSet", "description": "Network specific rules that determine how the Azure AI Search service may be reached." }, "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/SearchDataExfiltrationProtection" } }, "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", "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/SearchSemanticSearch", "description": "Specifies the availability and billing plan for semantic search on the Azure AI Search service. This configuration is only available for certain pricing tiers in certain regions.", "x-nullable": true }, "knowledgeRetrieval": { "$ref": "#/definitions/KnowledgeRetrieval", "description": "Specifies the billing plan for agentic retrieval on the Azure AI Search service. This configuration is only available for certain pricing tiers in certain regions.", "x-nullable": true }, "privateEndpointConnections": { "type": "array", "description": "The list of private endpoint connections to the Azure AI Search service.", "items": { "$ref": "#/definitions/PrivateEndpointConnection" }, "readOnly": true }, "sharedPrivateLinkResources": { "type": "array", "description": "The list of shared private link resources managed by the Azure AI Search service.", "items": { "$ref": "#/definitions/SharedPrivateLinkResource" }, "readOnly": true }, "eTag": { "type": "string", "description": "A system generated property representing the service's etag that can be for optimistic concurrency control during updates.", "readOnly": true }, "upgradeAvailable": { "$ref": "#/definitions/UpgradeAvailable", "description": "Indicates if the search service has an upgrade available." }, "serviceUpgradedAt": { "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.", "readOnly": true } } }, "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." }, { "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." } ] } }, "SearchServiceUpdate": { "type": "object", "description": "The parameters used to update an Azure AI Search service.", "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.", "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" ] }, "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." } }, "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" } ] } }, "ShareablePrivateLinkResourceProperties": { "type": "object", "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure AI Search.", "properties": { "type": { "type": "string", "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure AI Search.", "readOnly": true }, "groupId": { "type": "string", "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure AI Search.", "readOnly": true }, "description": { "type": "string", "description": "The description of the resource type that has been onboarded to private link service, supported by Azure AI Search.", "readOnly": true } } }, "ShareablePrivateLinkResourceType": { "type": "object", "description": "Describes an resource type that has been onboarded to private link service, supported by Azure AI Search.", "properties": { "name": { "type": "string", "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 } } }, "SharedPrivateLinkResource": { "type": "object", "description": "Describes a shared private link resource managed by 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." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "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" } ] } }, "SharedPrivateLinkResourceListResult": { "type": "object", "description": "Response containing a list of shared private link resources.", "properties": { "value": { "type": "array", "description": "The list of shared private link resources.", "items": { "$ref": "#/definitions/SharedPrivateLinkResource" }, "readOnly": true }, "nextLink": { "type": "string", "description": "The URL to get the next set of shared private link resources, if there are any." } }, "x-ms-external": true }, "SharedPrivateLinkResourceProperties": { "type": "object", "description": "Describes the properties of an existing shared private link resource managed by the Azure AI Search service.", "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": { "$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." } } }, "SharedPrivateLinkResourceProvisioningState": { "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": [ { "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." } ] } }, "SharedPrivateLinkResourceStatus": { "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": [ { "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." } ] } }, "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. 'serverless': Serverless tier with auto-scaling capabilities." } }, "externalDocs": { "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" } }, "SkuLimits": { "type": "object", "description": "Describes the limits associated with a SKU offering.", "properties": { "indexes": { "type": "integer", "format": "int32", "description": "The maximum number of indexes available for this SKU." }, "indexers": { "type": "integer", "format": "int32", "description": "The maximum number of indexers available for this SKU." }, "partitionStorageInGigabytes": { "type": "number", "format": "float", "description": "The maximum storage size in Gigabytes available for this SKU per partition." }, "partitionVectorStorageInGigabytes": { "type": "number", "format": "float", "description": "The maximum vector storage size in Gigabytes available for this SKU per partition." }, "searchUnits": { "type": "integer", "format": "int32", "description": "The maximum number of search units available for this SKU." }, "replicas": { "type": "integer", "format": "int32", "description": "The maximum number of replicas available for this SKU." }, "partitions": { "type": "integer", "format": "int32", "description": "The maximum number of partitions available for this SKU." } } }, "SkuName": { "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. 'serverless': Serverless tier with auto-scaling capabilities.", "enum": [ "free", "basic", "standard", "standard2", "standard3", "storage_optimized_l1", "storage_optimized_l2", "serverless" ], "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." }, { "name": "Serverless", "value": "serverless", "description": "Serverless tier, offering low-touch, consumption-based, and pay-as-you-go experience, with auto-scaling capabilities." } ] } }, "SkuOffering": { "type": "object", "description": "Describes a SKU offering with its limits in a specific region.", "properties": { "sku": { "$ref": "#/definitions/Sku", "description": "The SKU definition." }, "limits": { "$ref": "#/definitions/SkuLimits", "description": "The limits associated with this SKU offered in this region." } } }, "UnavailableNameReason": { "type": "string", "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." } ] } }, "UpgradeAvailable": { "type": "string", "description": "Indicates if the dedicated 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 dedicated service." }, { "name": "Available", "value": "available", "description": "There is an upgrade available for the dedicated service." } ] } } }, "parameters": {} }