From 5c2185adda8aa915a391ae182c1f02cc587f4f79 Mon Sep 17 00:00:00 2001
From: ankitBajpaiMSFT <77171306+ankitBajpaiMSFT@users.noreply.github.com>
Date: Tue, 23 Mar 2021 02:58:21 -0700
Subject: [PATCH] [Management Plane][Azure Search] Adding new API version
2021-01-04. (#13355)
* [Management Plane][Azure Search] Adding new API version for exposing Encryption with CMK.
* Fixing prittier and model validation errors
* Fixing errors raised by lintdiff and ModelValidations
---
...eateOrUpdateSharedPrivateLinkResource.json | 39 +
.../DeletePrivateEndpointConnection.json | 29 +
.../DeleteSharedPrivateLinkResource.json | 19 +
.../GetPrivateEndpointConnection.json | 28 +
.../GetSharedPrivateLinkResource.json | 25 +
...stPrivateEndpointConnectionsByService.json | 31 +
...stSharedPrivateLinkResourcesByService.json | 28 +
.../ListSupportedPrivateLinkResources.json | 88 +
.../examples/SearchCheckNameAvailability.json | 19 +
.../examples/SearchCreateOrUpdateService.json | 80 +
...viceToAllowAccessFromPrivateEndpoints.json | 81 +
...rviceToAllowAccessFromPublicCustomIPs.json | 103 +
...ateServiceToDisableEncryptionUsingCmk.json | 89 +
...pdateServiceToEnableEncryptioUsingCmk.json | 89 +
...archCreateOrUpdateServiceWithIdentity.json | 92 +
.../examples/SearchCreateQueryKey.json | 17 +
.../examples/SearchDeleteQueryKey.json | 14 +
.../examples/SearchDeleteService.json | 13 +
.../examples/SearchGetAdminKeys.json | 16 +
.../2021-01-04/examples/SearchGetService.json | 41 +
.../SearchListQueryKeysBySearchService.json | 24 +
.../SearchListServicesByResourceGroup.json | 73 +
.../SearchListServicesBySubscription.json | 72 +
.../examples/SearchRegenerateAdminKey.json | 17 +
.../examples/SearchUpdateService.json | 51 +
...viceToAllowAccessFromPrivateEndpoints.json | 49 +
...rviceToAllowAccessFromPublicCustomIPs.json | 63 +
...ateServiceToDisableEncryptionUsingCmk.json | 66 +
...pdateServiceToEnableEncryptioUsingCmk.json | 66 +
.../SearchUpdateServiceToRemoveIdentity.json | 50 +
.../UpdatePrivateEndpointConnection.json | 36 +
.../stable/2021-01-04/search.json | 2088 +++++++++++++++++
.../search/resource-manager/readme.md | 9 +-
33 files changed, 3604 insertions(+), 1 deletion(-)
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/CreateOrUpdateSharedPrivateLinkResource.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeletePrivateEndpointConnection.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeleteSharedPrivateLinkResource.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetPrivateEndpointConnection.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetSharedPrivateLinkResource.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListPrivateEndpointConnectionsByService.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSharedPrivateLinkResourcesByService.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSupportedPrivateLinkResources.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCheckNameAvailability.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateService.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToDisableEncryptionUsingCmk.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToEnableEncryptioUsingCmk.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceWithIdentity.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateQueryKey.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteQueryKey.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteService.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetAdminKeys.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetService.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListQueryKeysBySearchService.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesByResourceGroup.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesBySubscription.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchRegenerateAdminKey.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateService.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToDisableEncryptionUsingCmk.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToEnableEncryptioUsingCmk.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToRemoveIdentity.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/UpdatePrivateEndpointConnection.json
create mode 100644 specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/search.json
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/CreateOrUpdateSharedPrivateLinkResource.json
new file mode 100644
index 000000000000..5a5380b0c1b5
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/CreateOrUpdateSharedPrivateLinkResource.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "sharedPrivateLinkResourceName": "testResource",
+ "sharedPrivateLinkResource": {
+ "properties": {
+ "requestMessage": "please approve",
+ "groupId": "blob",
+ "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName",
+ "resourceRegion": null
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2021-01-04",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2021-01-04"
+ }
+ },
+ "200": {
+ "body": {
+ "name": "testResource",
+ "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource",
+ "properties": {
+ "requestMessage": "please approve",
+ "groupId": "blob",
+ "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName",
+ "status": "Pending",
+ "resourceRegion": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..451c20184188
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeletePrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "type": "Microsoft.Search/searchServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeleteSharedPrivateLinkResource.json
new file mode 100644
index 000000000000..57b6d9b59c7c
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/DeleteSharedPrivateLinkResource.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "sharedPrivateLinkResourceName": "testResource"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2021-01-04",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2021-01-04"
+ }
+ },
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..27845fb0e41d
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetPrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "type": "Microsoft.Search/searchServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetSharedPrivateLinkResource.json
new file mode 100644
index 000000000000..2ee338eea5cc
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/GetSharedPrivateLinkResource.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "sharedPrivateLinkResourceName": "testResource"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testResource",
+ "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource",
+ "properties": {
+ "requestMessage": "please approve",
+ "groupId": "blob",
+ "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName",
+ "status": "Pending",
+ "resourceRegion": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListPrivateEndpointConnectionsByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListPrivateEndpointConnectionsByService.json
new file mode 100644
index 000000000000..448d7e6f1594
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListPrivateEndpointConnectionsByService.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "type": "Microsoft.Search/searchServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSharedPrivateLinkResourcesByService.json
new file mode 100644
index 000000000000..1b04708a7080
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSharedPrivateLinkResourcesByService.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testResource",
+ "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource",
+ "properties": {
+ "requestMessage": "please approve",
+ "groupId": "blob",
+ "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName",
+ "status": "Pending",
+ "resourceRegion": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSupportedPrivateLinkResources.json
new file mode 100644
index 000000000000..8385c42b61e4
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/ListSupportedPrivateLinkResources.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService",
+ "name": "searchService",
+ "type": "Microsoft.Search/searchServices/privateLinkResources",
+ "properties": {
+ "groupId": "searchService",
+ "requiredMembers": [
+ "searchService"
+ ],
+ "requiredZoneNames": [
+ "privatelink.search.windows.net"
+ ],
+ "shareablePrivateLinkResourceTypes": [
+ {
+ "name": "blob",
+ "properties": {
+ "type": "Microsoft.Storage/storageAccounts",
+ "groupId": "blob",
+ "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)"
+ }
+ },
+ {
+ "name": "table",
+ "properties": {
+ "type": "Microsoft.Storage/storageAccounts",
+ "groupId": "table",
+ "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)"
+ }
+ },
+ {
+ "name": "Sql",
+ "properties": {
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "groupId": "Sql",
+ "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)."
+ }
+ },
+ {
+ "name": "plr",
+ "properties": {
+ "type": "Microsoft.Sql/servers",
+ "groupId": "sqlServer",
+ "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)."
+ }
+ },
+ {
+ "name": "vault",
+ "properties": {
+ "type": "Microsoft.KeyVault/vaults",
+ "groupId": "vault",
+ "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data"
+ }
+ },
+ {
+ "name": "plr",
+ "properties": {
+ "type": "Microsoft.DBforMySQL/servers",
+ "groupId": "mysqlServer",
+ "description": "Azure Cognitive Search indexers can connect to MySQL databases for reading data (data source, preview)."
+ }
+ },
+ {
+ "name": "site",
+ "properties": {
+ "type": "Microsoft.Web/sites",
+ "groupId": "sites",
+ "description": "Azure Cognitive Search indexers can connect to App Services when executing custom web api skills that can be present in a skillset (optional) attached to the indexer."
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCheckNameAvailability.json
new file mode 100644
index 000000000000..6dfc40f1e23a
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "checkNameAvailabilityInput": {
+ "name": "mysearchservice",
+ "type": "searchServices"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateService.json
new file mode 100644
index 000000000000..3a9e55221f30
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateService.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "hostingMode": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json
new file mode 100644
index 000000000000..072381443f19
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "publicNetworkAccess": "disabled",
+ "hostingMode": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "disabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "disabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json
new file mode 100644
index 000000000000..77a98eeefa89
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ },
+ "hostingMode": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToDisableEncryptionUsingCmk.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToDisableEncryptionUsingCmk.json
new file mode 100644
index 000000000000..fb23ceeab1c0
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToDisableEncryptionUsingCmk.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "hostingMode": "default",
+ "encryptionWithCmk": {
+ "enforcement": "disabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "disabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "disabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToEnableEncryptioUsingCmk.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToEnableEncryptioUsingCmk.json
new file mode 100644
index 000000000000..934516f72184
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceToEnableEncryptioUsingCmk.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "hostingMode": "default",
+ "encryptionWithCmk": {
+ "enforcement": "enabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceWithIdentity.json
new file mode 100644
index 000000000000..7e85451ade67
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateOrUpdateServiceWithIdentity.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "hostingMode": "default"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": null
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateQueryKey.json
new file mode 100644
index 000000000000..008e6cc91c78
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchCreateQueryKey.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "name": "Query key for browser-based clients",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Query key for browser-based clients",
+ "key": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteQueryKey.json
new file mode 100644
index 000000000000..ff4154135bc5
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteQueryKey.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "key": "",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteService.json
new file mode 100644
index 000000000000..2f4ce6498a5b
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchDeleteService.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetAdminKeys.json
new file mode 100644
index 000000000000..bbbd257adcb6
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetAdminKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetService.json
new file mode 100644
index 000000000000..34424efec4ff
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchGetService.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListQueryKeysBySearchService.json
new file mode 100644
index 000000000000..c826c0b9467f
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListQueryKeysBySearchService.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Query key for browser-based clients",
+ "key": ""
+ },
+ {
+ "name": "Query key for mobile clients",
+ "key": ""
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesByResourceGroup.json
new file mode 100644
index 000000000000..bb582c8de249
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2",
+ "name": "mysearchservice2",
+ "location": "eastus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "basic"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "disabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesBySubscription.json
new file mode 100644
index 000000000000..04841fa2b888
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchListServicesBySubscription.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2",
+ "name": "mysearchservice2",
+ "location": "eastus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "basic"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "disabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchRegenerateAdminKey.json
new file mode 100644
index 000000000000..a59dc1b604d8
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchRegenerateAdminKey.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "keyKind": "primary",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateService.json
new file mode 100644
index 000000000000..5b260f70972b
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateService.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "properties": {
+ "replicaCount": 2
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 2,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
new file mode 100644
index 000000000000..4e2e06ef9d2e
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "publicNetworkAccess": "disabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "basic"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "disabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
new file mode 100644
index 000000000000..e13dc2f77d01
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "10.2.3.4"
+ }
+ ]
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToDisableEncryptionUsingCmk.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToDisableEncryptionUsingCmk.json
new file mode 100644
index 000000000000..baaf823c9b3d
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToDisableEncryptionUsingCmk.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "publicNetworkAccess": "enabled",
+ "encryptionWithCmk": {
+ "enforcement": "disabled"
+ },
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "10.2.3.4"
+ }
+ ]
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "disabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToEnableEncryptioUsingCmk.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToEnableEncryptioUsingCmk.json
new file mode 100644
index 000000000000..12abde2cdf87
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToEnableEncryptioUsingCmk.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "publicNetworkAccess": "enabled",
+ "encryptionWithCmk": {
+ "enforcement": "enabled"
+ },
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "10.2.3.4"
+ }
+ ]
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToRemoveIdentity.json
new file mode 100644
index 000000000000..e489d422cd68
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/SearchUpdateServiceToRemoveIdentity.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "service": {
+ "sku": {
+ "name": "standard"
+ },
+ "identity": {
+ "type": "None"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {},
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "encryptionWithCmk": {
+ "enforcement": "enabled",
+ "nonCmkEncryptedResources": []
+ }
+ },
+ "identity": {
+ "type": "None"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/UpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..ee2ec2aa862a
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/examples/UpdatePrivateEndpointConnection.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-04",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "Rejected for some reason"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "type": "Microsoft.Search/searchServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "Rejected for some reason",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/search.json
new file mode 100644
index 000000000000..ff949d1828f1
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2021-01-04/search.json
@@ -0,0 +1,2088 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SearchManagementClient",
+ "description": "Client that can be used to manage Azure Cognitive Search services and API keys.",
+ "version": "2021-01-04"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Search/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available REST API operations of the Microsoft.Search provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Operations API failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": {
+ "post": {
+ "tags": [
+ "AdminKeys"
+ ],
+ "operationId": "AdminKeys_Get",
+ "x-ms-examples": {
+ "SearchGetAdminKeys": {
+ "$ref": "./examples/SearchGetAdminKeys.json"
+ }
+ },
+ "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.",
+ "schema": {
+ "$ref": "#/definitions/AdminKeyResult"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": {
+ "post": {
+ "tags": [
+ "AdminKeys"
+ ],
+ "operationId": "AdminKeys_Regenerate",
+ "x-ms-examples": {
+ "SearchRegenerateAdminKey": {
+ "$ref": "./examples/SearchRegenerateAdminKey.json"
+ }
+ },
+ "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "name": "keyKind",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "x-ms-enum": {
+ "name": "AdminKeyKind",
+ "modelAsString": false
+ },
+ "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.",
+ "schema": {
+ "$ref": "#/definitions/AdminKeyResult"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": {
+ "post": {
+ "tags": [
+ "QueryKeys"
+ ],
+ "operationId": "QueryKeys_Create",
+ "x-ms-examples": {
+ "SearchCreateQueryKey": {
+ "$ref": "./examples/SearchCreateQueryKey.json"
+ }
+ },
+ "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the new query API key."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "schema": {
+ "$ref": "#/definitions/QueryKey"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": {
+ "post": {
+ "tags": [
+ "QueryKeys"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "operationId": "QueryKeys_ListBySearchService",
+ "x-ms-examples": {
+ "SearchListQueryKeysBySearchService": {
+ "$ref": "./examples/SearchListQueryKeysBySearchService.json"
+ }
+ },
+ "description": "Returns the list of query API keys for the given Azure Cognitive Search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "schema": {
+ "$ref": "#/definitions/ListQueryKeysResult"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": {
+ "delete": {
+ "tags": [
+ "QueryKeys"
+ ],
+ "operationId": "QueryKeys_Delete",
+ "x-ms-examples": {
+ "SearchDeleteQueryKey": {
+ "$ref": "./examples/SearchDeleteQueryKey.json"
+ }
+ },
+ "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "name": "key",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The query key to be deleted. Query keys are identified by value, not by name."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The query key was successfully deleted."
+ },
+ "204": {
+ "description": "The query key was successfully deleted."
+ },
+ "404": {
+ "description": "The subscription, resource group, search service, or query key could not be found."
+ },
+ "default": {
+ "description": "HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}": {
+ "put": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_CreateOrUpdate",
+ "x-ms-examples": {
+ "SearchCreateOrUpdateService": {
+ "$ref": "./examples/SearchCreateOrUpdateService.json"
+ },
+ "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json"
+ },
+ "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json"
+ },
+ "SearchCreateOrUpdateServiceWithIdentity": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json"
+ },
+ "SearchCreateOrUpdateServiceToEnableEncryptioUsingCmk": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceToEnableEncryptioUsingCmk.json"
+ },
+ "SearchCreateOrUpdateServiceToDisableEncryptionUsingCmk": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceToDisableEncryptionUsingCmk.json"
+ }
+ },
+ "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created."
+ },
+ {
+ "name": "service",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ },
+ "description": "The definition of the search service to create or update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "201": {
+ "description": "If you requested creation of a free search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given service name or service definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Update",
+ "x-ms-examples": {
+ "SearchUpdateService": {
+ "$ref": "./examples/SearchUpdateService.json"
+ },
+ "SearchUpdateServiceToRemoveIdentity": {
+ "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json"
+ },
+ "searchUpdateServiceToAllowAccessFromPublicCustomIPs": {
+ "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json"
+ },
+ "searchUpdateServiceToAllowAccessFromPrivateEndpoints": {
+ "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json"
+ },
+ "SearchUpdateServiceToEnableEncryptioUsingCmk": {
+ "$ref": "./examples/SearchUpdateServiceToEnableEncryptioUsingCmk.json"
+ },
+ "SearchUpdateServiceToDisableEncryptionUsingCmk": {
+ "$ref": "./examples/SearchUpdateServiceToDisableEncryptionUsingCmk.json"
+ }
+ },
+ "description": "Updates an existing search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Cognitive Search service to update."
+ },
+ {
+ "name": "service",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchServiceUpdate"
+ },
+ "description": "The definition of the search service to update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Get",
+ "x-ms-examples": {
+ "SearchGetService": {
+ "$ref": "./examples/SearchGetService.json"
+ }
+ },
+ "description": "Gets the search service with the given name in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or search service name could not be found.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Delete",
+ "x-ms-examples": {
+ "SearchDeleteService": {
+ "$ref": "./examples/SearchDeleteService.json"
+ }
+ },
+ "description": "Deletes a search service in the given resource group, along with its associated resources.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The search service was successfully deleted."
+ },
+ "204": {
+ "description": "The search service was successfully deleted."
+ },
+ "404": {
+ "description": "The subscription, resource group, or search service could not be found."
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "operationId": "Services_ListByResourceGroup",
+ "x-ms-examples": {
+ "SearchListServicesByResourceGroup": {
+ "$ref": "./examples/SearchListServicesByResourceGroup.json"
+ }
+ },
+ "description": "Gets a list of all search services in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation succeeded. The response contains the list of all search service definitions for the given resource group.",
+ "schema": {
+ "$ref": "#/definitions/SearchServiceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "operationId": "PrivateLinkResources_ListSupported",
+ "x-ms-examples": {
+ "ListSupportedPrivateLinkResources": {
+ "$ref": "./examples/ListSupportedPrivateLinkResources.json"
+ }
+ },
+ "description": "Gets a list of all supported private link resource types for the given service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given service.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Update",
+ "x-ms-examples": {
+ "PrivateEndpointConnectionUpdate": {
+ "$ref": "./examples/UpdatePrivateEndpointConnection.json"
+ }
+ },
+ "description": "Updates a Private Endpoint connection to the search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The definition of the private endpoint connection to update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing private endpoint connection definition was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "PrivateEndpointConnectionGet": {
+ "$ref": "./examples/GetPrivateEndpointConnection.json"
+ }
+ },
+ "description": "Gets the details of the private endpoint connection to the search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "PrivateEndpointConnectionDelete": {
+ "$ref": "./examples/DeletePrivateEndpointConnection.json"
+ }
+ },
+ "description": "Disconnects the private endpoint connection and deletes it from the search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "404": {
+ "description": "The subscription, resource group, search service or private endpoint connection could not be found."
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "operationId": "PrivateEndpointConnections_ListByService",
+ "x-ms-examples": {
+ "ListPrivateEndpointConnectionsByService": {
+ "$ref": "./examples/ListPrivateEndpointConnectionsByService.json"
+ }
+ },
+ "description": "Gets a list of all private endpoint connections in the given service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given service.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": {
+ "put": {
+ "tags": [
+ "SharedPrivateLinkResources"
+ ],
+ "operationId": "SharedPrivateLinkResources_CreateOrUpdate",
+ "x-ms-examples": {
+ "SharedPrivateLinkResourceCreateOrUpdate": {
+ "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter"
+ },
+ {
+ "name": "sharedPrivateLinkResource",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SharedPrivateLinkResource"
+ },
+ "description": "The definition of the shared private link resource to create or update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The details of the shared private link resource that was created.",
+ "schema": {
+ "$ref": "#/definitions/SharedPrivateLinkResource"
+ }
+ },
+ "202": {
+ "description": "The shared private link resource create or update operation has been accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SharedPrivateLinkResources"
+ ],
+ "operationId": "SharedPrivateLinkResources_Get",
+ "x-ms-examples": {
+ "SharedPrivateLinkResourceGet": {
+ "$ref": "./examples/GetSharedPrivateLinkResource.json"
+ }
+ },
+ "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The definition of the shared private link resource was successfully retrieved and is in the response.",
+ "schema": {
+ "$ref": "#/definitions/SharedPrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SharedPrivateLinkResources"
+ ],
+ "operationId": "SharedPrivateLinkResources_Delete",
+ "x-ms-examples": {
+ "SharedPrivateLinkResourceDelete": {
+ "$ref": "./examples/DeleteSharedPrivateLinkResource.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "description": "Initiates the deletion of the shared private link resource from the search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The shared private link resource deletion operation was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The backing private endpoint for the shared private link resource could not be found."
+ },
+ "404": {
+ "description": "The subscription, resource group, search service or shared private link resource could not be found."
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": {
+ "get": {
+ "tags": [
+ "SharedPrivateLinkResources"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "operationId": "SharedPrivateLinkResources_ListByService",
+ "x-ms-examples": {
+ "ListSharedPrivateLinkResourcesByService": {
+ "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json"
+ }
+ },
+ "description": "Gets a list of all shared private link resources managed by the given service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.",
+ "schema": {
+ "$ref": "#/definitions/SharedPrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "operationId": "Services_ListBySubscription",
+ "x-ms-examples": {
+ "SearchListServicesBySubscription": {
+ "$ref": "./examples/SearchListServicesBySubscription.json"
+ }
+ },
+ "description": "Gets a list of all search services in the given subscription.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation succeeded. The response contains the list of all search service definitions for the given subscription.",
+ "schema": {
+ "$ref": "#/definitions/SearchServiceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": {
+ "post": {
+ "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"
+ },
+ "operationId": "Services_CheckNameAvailability",
+ "x-ms-examples": {
+ "SearchCheckNameAvailability": {
+ "$ref": "./examples/SearchCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "checkNameAvailabilityInput",
+ "in": "body",
+ "description": "The resource name and type to check.",
+ "x-ms-client-flatten": true,
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityOutput"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckNameAvailabilityInput": {
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.",
+ "type": "string",
+ "enum": [
+ "searchServices"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Input of check name availability API."
+ },
+ "CheckNameAvailabilityOutput": {
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "x-ms-client-name": "IsNameAvailable",
+ "description": "A value indicating whether the name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableNameReason",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "Output of check name availability API."
+ },
+ "AdminKeyResult": {
+ "properties": {
+ "primaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The primary admin API key of the search service."
+ },
+ "secondaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The secondary admin API key of the search service."
+ }
+ },
+ "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service."
+ },
+ "QueryKey": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the query API key; may be empty."
+ },
+ "key": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The value of the query API key."
+ }
+ },
+ "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only."
+ },
+ "ListQueryKeysResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryKey"
+ },
+ "description": "The query keys for the Azure Cognitive Search service."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size."
+ }
+ },
+ "description": "Response containing the query API keys for a given Azure Cognitive Search service.",
+ "x-ms-external": true
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'",
+ "enum": [
+ "free",
+ "basic",
+ "standard",
+ "standard2",
+ "standard3",
+ "storage_optimized_l1",
+ "storage_optimized_l2"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service."
+ },
+ "NetworkRuleSet": {
+ "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"
+ }
+ }
+ },
+ "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached."
+ },
+ "IpRule": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed."
+ }
+ },
+ "description": "The IP restriction rule of the Azure Cognitive Search service."
+ },
+ "EncryptionWithCmk": {
+ "type": "object",
+ "description": "Describes properties associated with encryption of resources using customer managed Keys.",
+ "properties": {
+ "enforcement": {
+ "type": "string",
+ "description": "Enforcement state of encryption with customer managed keys. Can be enabled, disabled, or unspecified.",
+ "enum": [
+ "unspecified",
+ "enabled",
+ "disabled"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionEnforcementStatus",
+ "modelAsString": false
+ }
+ },
+ "nonCmkEncryptedResources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NonCmkEncryptedResource"
+ },
+ "description": "The list of Non Cmk encrypted resource."
+ }
+ }
+ },
+ "NonCmkEncryptedResource": {
+ "type": "object",
+ "readOnly": true,
+ "description": "Describes properties of resources not encrypted with customer managed keys.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Describes type of resource (.i.e. index, indexer, skillset, synonym map and debug session) not encrypted by customer managed keys."
+ },
+ "name": {
+ "type": "string",
+ "description": "Describes name of resource not encrypted by customer managed keys."
+ }
+ }
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource id of the private endpoint resource from Microsoft.Network provider."
+ }
+ },
+ "description": "The private endpoint resource from Microsoft.Network provider."
+ },
+ "privateLinkServiceConnectionState": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": false
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the private link service connection state."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A description of any extra actions that may be required.",
+ "default": "None"
+ }
+ },
+ "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint."
+ }
+ },
+ "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The list of Private Endpoint connections."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size."
+ }
+ },
+ "description": "Response containing a list of Private Endpoint connections.",
+ "x-ms-external": true
+ },
+ "SharedPrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SharedPrivateLinkResourceProperties",
+ "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service."
+ },
+ "SharedPrivateLinkResourceProperties": {
+ "properties": {
+ "privateLinkResourceId": {
+ "type": "string",
+ "description": "The resource id of the resource the shared private link resource is for."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group id from the provider of resource the shared private link resource is for."
+ },
+ "requestMessage": {
+ "type": "string",
+ "description": "The request 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 to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).",
+ "externalDocs": {
+ "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.",
+ "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns"
+ }
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "SharedPrivateLinkResourceStatus",
+ "modelAsString": false
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the shared private link resource. Can be Updating, Deleting, Failed, Succeeded or Incomplete.",
+ "enum": [
+ "Updating",
+ "Deleting",
+ "Failed",
+ "Succeeded",
+ "Incomplete"
+ ],
+ "x-ms-enum": {
+ "name": "SharedPrivateLinkResourceProvisioningState",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service."
+ },
+ "SharedPrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedPrivateLinkResource"
+ },
+ "description": "The list of Shared Private Link Resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of shared private link resources, if there are any."
+ }
+ },
+ "description": "Response containing a list of Shared Private Link Resources.",
+ "x-ms-external": true
+ },
+ "PrivateLinkResourcesResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "The list of supported Private Link Resources."
+ }
+ },
+ "description": "Response containing a list of supported Private Link Resources.",
+ "x-ms-external": true
+ },
+ "PrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "readOnly": true,
+ "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a supported private link resource for the Azure Cognitive Search service."
+ },
+ "PrivateLinkResourceProperties": {
+ "properties": {
+ "groupId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The group ID of the private link resource."
+ },
+ "requiredMembers": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of required members of the private link resource."
+ },
+ "requiredZoneNames": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of required DNS zone names of the private link resource."
+ },
+ "shareablePrivateLinkResourceTypes": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareablePrivateLinkResourceType"
+ },
+ "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search."
+ }
+ },
+ "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource."
+ },
+ "ShareablePrivateLinkResourceType": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ },
+ "properties": {
+ "$ref": "#/definitions/ShareablePrivateLinkResourceProperties",
+ "readOnly": true,
+ "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ }
+ },
+ "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ },
+ "ShareablePrivateLinkResourceProperties": {
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search."
+ },
+ "groupId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search."
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ }
+ },
+ "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ },
+ "SearchService": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SearchServiceProperties",
+ "description": "Properties of the search service."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes an Azure Cognitive Search service and its current state."
+ },
+ "SearchServiceUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SearchServiceProperties",
+ "description": "Properties of the search service."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
+ }
+ },
+ "location": {
+ "type": "string",
+ "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-rp-info"
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags to help categorize the resource in the Azure portal."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "The parameters used to update an Azure Cognitive Search service."
+ },
+ "SearchServiceProperties": {
+ "properties": {
+ "replicaCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 1,
+ "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU."
+ },
+ "partitionCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 1,
+ "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3."
+ },
+ "hostingMode": {
+ "type": "string",
+ "default": "default",
+ "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.",
+ "enum": [
+ "default",
+ "highDensity"
+ ],
+ "x-ms-enum": {
+ "name": "HostingMode",
+ "modelAsString": false
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "default": "enabled",
+ "description": "This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": false
+ }
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive 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"
+ ],
+ "x-ms-enum": {
+ "name": "SearchServiceStatus",
+ "modelAsString": false
+ }
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The details of the search service status."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.",
+ "enum": [
+ "succeeded",
+ "provisioning",
+ "failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false
+ }
+ },
+ "encryptionWithCmk": {
+ "$ref": "#/definitions/EncryptionWithCmk",
+ "description": "Details related to encrypting resources (.i.e. index, indexer, skillset, synonym map and debug session) with customer managed keys by the Azure Cognitive Search service. "
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached."
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The list of private endpoint connections to the Azure Cognitive Search service."
+ },
+ "sharedPrivateLinkResources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedPrivateLinkResource"
+ },
+ "description": "The list of shared private link resources managed by the Azure Cognitive Search service."
+ }
+ },
+ "description": "Properties of the search service."
+ },
+ "SearchServiceListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SearchService"
+ },
+ "description": "The list of search services."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size."
+ }
+ },
+ "description": "Response containing a list of Azure Cognitive Search services.",
+ "x-ms-external": true
+ },
+ "AsyncOperationResult": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The current status of the long running asynchronous shared private link resource operation.",
+ "enum": [
+ "Running",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "SharedPrivateLinkResourceAsyncOperationResult",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The details of a long running asynchronous shared private link resource operation"
+ },
+ "CloudError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Describes a particular API error with an error code and a message."
+ }
+ },
+ "description": "Contains information about an API error.",
+ "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",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "Contains nested errors that are related to this error."
+ }
+ },
+ "x-ms-external": true
+ },
+ "Operation": {
+ "description": "Describes a REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation. This name is of the form {provider}/{resource}/{operation}.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that describes the operation.",
+ "readOnly": true,
+ "properties": {
+ "provider": {
+ "description": "The friendly name of the resource provider.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation type: read, write, delete, listKeys/action, etc.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource type on which the operation is performed.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "The friendly name of the operation.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true,
+ "description": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of operation list results, if any."
+ }
+ }
+ },
+ "Identity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "None",
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ }
+ },
+ "parameters": {
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "x-ms-parameter-location": "method"
+ },
+ "SearchServiceNameParameter": {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Cognitive Search service associated with the specified resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "SharedPrivateLinkResourceNameParameter": {
+ "name": "sharedPrivateLinkResourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationNameParameter": {
+ "name": "operationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a shared private link resource operation.",
+ "x-ms-parameter-location": "method"
+ },
+ "ClientRequestIdParameter": {
+ "name": "x-ms-client-request-id",
+ "x-ms-client-name": "clientRequestId",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.",
+ "x-ms-client-request-id": true,
+ "x-ms-parameter-grouping": {
+ "name": "search-management-request-options"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for each request."
+ }
+ }
+}
diff --git a/specification/search/resource-manager/readme.md b/specification/search/resource-manager/readme.md
index e4e7e9f0ebcc..2521105bbfc9 100644
--- a/specification/search/resource-manager/readme.md
+++ b/specification/search/resource-manager/readme.md
@@ -26,7 +26,14 @@ These are the global settings for the SearchManagementClient API.
``` yaml
openapi-type: arm
-tag: package-2020-08
+tag: package-2021-01
+```
+### Tag: package-2021-01
+
+These settings apply only when `--tag=package-2021-01` is specified on the command line.
+``` yaml $(tag) == 'package-2021-01'
+input-file:
+- Microsoft.Search/stable/2021-01-04/search.json
```
### Tag: package-2020-08