{ "swagger": "2.0", "info": { "title": "MongoClusterManagementClient", "version": "2024-03-01-preview", "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure Cosmos DB for MongoDB vCore resources including clusters and firewall rules.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Operations" }, { "name": "MongoClusters" }, { "name": "FirewallRules" }, { "name": "PrivateEndpointConnections" }, { "name": "PrivateLinks" } ], "paths": { "/providers/Microsoft.DocumentDB/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Operations_List": { "$ref": "./examples/Operations_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/checkMongoClusterNameAvailability": { "post": { "operationId": "MongoClusters_CheckNameAvailability", "tags": [ "MongoClusters" ], "description": "Check if mongo cluster name is available for use.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" }, { "name": "body", "in": "body", "description": "The CheckAvailability request", "required": true, "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityRequest" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Checks and confirms the Mongo Cluster name is availability for use.": { "$ref": "./examples/MongoClusters_NameAvailability.json" }, "Checks and returns that the Mongo Cluster name is already in-use.": { "$ref": "./examples/MongoClusters_NameAvailability_AlreadyExists.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/mongoClusters": { "get": { "operationId": "MongoClusters_List", "tags": [ "MongoClusters" ], "description": "List all the mongo clusters in a given subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MongoClusterListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Lists the Mongo Cluster resources in a subscription.": { "$ref": "./examples/MongoClusters_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters": { "get": { "operationId": "MongoClusters_ListByResourceGroup", "tags": [ "MongoClusters" ], "description": "List all the mongo clusters in a given resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MongoClusterListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Lists the Mongo Cluster resources in a resource group.": { "$ref": "./examples/MongoClusters_ListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}": { "get": { "operationId": "MongoClusters_Get", "tags": [ "MongoClusters" ], "description": "Gets information about a mongo cluster.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MongoCluster" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Gets a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_Get.json" } } }, "put": { "operationId": "MongoClusters_CreateOrUpdate", "tags": [ "MongoClusters" ], "description": "Create or update a mongo cluster. Update overwrites all properties for the resource. To only modify some of the properties, use PATCH.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/MongoCluster" } } ], "responses": { "200": { "description": "Resource 'MongoCluster' update operation succeeded", "schema": { "$ref": "#/definitions/MongoCluster" } }, "201": { "description": "Resource 'MongoCluster' create operation succeeded", "schema": { "$ref": "#/definitions/MongoCluster" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Creates a Mongo Cluster resource from a point in time restore": { "$ref": "./examples/MongoClusters_CreatePITR.json" }, "Creates a new Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "MongoClusters_Update", "tags": [ "MongoClusters" ], "description": "Updates an existing mongo cluster. The request body can contain one to many of the properties present in the normal mongo cluster definition.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "name": "properties", "in": "body", "description": "The resource properties to be updated.", "required": true, "schema": { "$ref": "#/definitions/MongoClusterUpdate" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MongoCluster" } }, "202": { "description": "Resource update request accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Disables public network access on a Mongo Cluster resource with a private endpoint connection.": { "$ref": "./examples/MongoClusters_PatchPrivateNetworkAccess.json" }, "Updates a Mongo Cluster resource": { "$ref": "./examples/MongoClusters_Update.json" }, "Updates the disk size on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_PatchDiskSize.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "MongoClusters_Delete", "tags": [ "MongoClusters" ], "description": "Deletes a mongo cluster.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Deletes a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules": { "get": { "operationId": "FirewallRules_ListByMongoCluster", "tags": [ "FirewallRules" ], "description": "List all the firewall rules in a given mongo cluster.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/FirewallRuleListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List the firewall rules on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_FirewallRuleList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}": { "get": { "operationId": "FirewallRules_Get", "tags": [ "FirewallRules" ], "description": "Gets information about a mongo cluster firewall rule.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "name": "firewallRuleName", "in": "path", "description": "The name of the mongo cluster firewall rule.", "required": true, "type": "string", "minLength": 1, "maxLength": 80, "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/FirewallRule" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Gets a firewall rule on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_FirewallRuleGet.json" } } }, "put": { "operationId": "FirewallRules_CreateOrUpdate", "tags": [ "FirewallRules" ], "description": "Creates a new firewall rule or updates an existing firewall rule on a mongo cluster.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "name": "firewallRuleName", "in": "path", "description": "The name of the mongo cluster firewall rule.", "required": true, "type": "string", "minLength": 1, "maxLength": 80, "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/FirewallRule" } } ], "responses": { "200": { "description": "Resource 'FirewallRule' update operation succeeded", "schema": { "$ref": "#/definitions/FirewallRule" } }, "201": { "description": "Resource 'FirewallRule' create operation succeeded", "schema": { "$ref": "#/definitions/FirewallRule" } }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Creates a firewall rule on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_FirewallRuleCreate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "FirewallRules_Delete", "tags": [ "FirewallRules" ], "description": "Deletes a mongo cluster firewall rule.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "name": "firewallRuleName", "in": "path", "description": "The name of the mongo cluster firewall rule.", "required": true, "type": "string", "minLength": 1, "maxLength": 80, "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Deletes a firewall rule on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_FirewallRuleDelete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/listConnectionStrings": { "post": { "operationId": "MongoClusters_ListConnectionStrings", "tags": [ "MongoClusters" ], "description": "List mongo cluster connection strings. This includes the default connection string using SCRAM-SHA-256, as well as other connection strings supported by the cluster.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ListConnectionStringsResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List the available connection strings for the Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_ListConnectionStrings.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections": { "get": { "operationId": "PrivateEndpointConnections_ListByMongoCluster", "tags": [ "PrivateEndpointConnections" ], "description": "List existing private connections", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateEndpointConnectionResourceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Lists the private endpoint connection resources on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_PrivateEndpointConnectionList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "operationId": "PrivateEndpointConnections_Get", "tags": [ "PrivateEndpointConnections" ], "description": "Get a specific private connection", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateEndpointConnectionResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get a private endpoint connection on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_PrivateEndpointConnectionGet.json" } } }, "put": { "operationId": "PrivateEndpointConnections_Create", "tags": [ "PrivateEndpointConnections" ], "description": "Create a Private endpoint connection", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/PrivateEndpointConnectionResource" } } ], "responses": { "200": { "description": "Resource 'PrivateEndpointConnectionResource' update operation succeeded", "schema": { "$ref": "#/definitions/PrivateEndpointConnectionResource" } }, "201": { "description": "Resource 'PrivateEndpointConnectionResource' create operation succeeded", "schema": { "$ref": "#/definitions/PrivateEndpointConnectionResource" } }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Approves a private endpoint connection on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_PrivateEndpointConnectionPut.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "PrivateEndpointConnections_Delete", "tags": [ "PrivateEndpointConnections" ], "description": "Delete the private endpoint connection", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" }, { "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete a private endpoint connection on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_PrivateEndpointConnectionDelete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateLinkResources": { "get": { "operationId": "PrivateLinks_ListByMongoCluster", "tags": [ "PrivateLinks" ], "description": "list private links on the given resource", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "mongoClusterName", "in": "path", "description": "The name of the mongo cluster.", "required": true, "type": "string", "minLength": 3, "maxLength": 40, "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/PrivateLinkResourceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Lists the private link resources available on a Mongo Cluster resource.": { "$ref": "./examples/MongoClusters_PrivateLinkResourceList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } } }, "definitions": { "ConnectionString": { "type": "object", "description": "Connection string for the mongo cluster", "properties": { "connectionString": { "type": "string", "description": "Value of the connection string", "readOnly": true }, "description": { "type": "string", "description": "Description of the connection string", "readOnly": true } } }, "CreateMode": { "type": "string", "description": "The mode that the Mongo Cluster is created with.", "enum": [ "Default", "PointInTimeRestore" ], "x-ms-enum": { "name": "CreateMode", "modelAsString": true, "values": [ { "name": "Default", "value": "Default", "description": "Create a new mongo cluster." }, { "name": "PointInTimeRestore", "value": "PointInTimeRestore", "description": "Create a mongo cluster from a restore point-in-time." } ] } }, "FirewallRule": { "type": "object", "description": "Represents a mongo cluster firewall rule.", "properties": { "properties": { "$ref": "#/definitions/FirewallRuleProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "FirewallRuleListResult": { "type": "object", "description": "The response of a FirewallRule list operation.", "properties": { "value": { "type": "array", "description": "The FirewallRule items on this page", "items": { "$ref": "#/definitions/FirewallRule" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "FirewallRuleProperties": { "type": "object", "description": "The properties of a mongo cluster firewall rule.", "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "The provisioning state of the firewall rule.", "readOnly": true }, "startIpAddress": { "type": "string", "description": "The start IP address of the mongo cluster firewall rule. Must be IPv4 format.", "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" }, "endIpAddress": { "type": "string", "description": "The end IP address of the mongo cluster firewall rule. Must be IPv4 format.", "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" } }, "required": [ "startIpAddress", "endIpAddress" ] }, "ListConnectionStringsResult": { "type": "object", "description": "The connection strings for the given mongo cluster.", "properties": { "connectionStrings": { "type": "array", "description": "An array that contains the connection strings for a mongo cluster.", "items": { "$ref": "#/definitions/ConnectionString" }, "readOnly": true, "x-ms-identifiers": [] } } }, "MongoCluster": { "type": "object", "description": "Represents a mongo cluster resource.", "properties": { "properties": { "$ref": "#/definitions/MongoClusterProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } ] }, "MongoClusterListResult": { "type": "object", "description": "The response of a MongoCluster list operation.", "properties": { "value": { "type": "array", "description": "The MongoCluster items on this page", "items": { "$ref": "#/definitions/MongoCluster" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "MongoClusterProperties": { "type": "object", "description": "The properties of a mongo cluster.", "properties": { "createMode": { "$ref": "#/definitions/CreateMode", "description": "The mode to create a mongo cluster.", "x-ms-mutability": [ "create" ] }, "restoreParameters": { "$ref": "#/definitions/MongoClusterRestoreParameters", "description": "The parameters to create a point-in-time restore mongo cluster.", "x-ms-mutability": [ "create" ] }, "administratorLogin": { "type": "string", "description": "The administrator's login for the mongo cluster.", "x-ms-mutability": [ "read", "update", "create" ] }, "administratorLoginPassword": { "type": "string", "format": "password", "description": "The password of the administrator login.", "x-ms-mutability": [ "update", "create" ], "x-ms-secret": true }, "serverVersion": { "type": "string", "description": "The Mongo DB server version. Defaults to the latest available version if not specified." }, "connectionString": { "type": "string", "description": "The default mongo connection string for the cluster.", "readOnly": true }, "earliestRestoreTime": { "type": "string", "description": "Earliest restore timestamp in UTC ISO8601 format.", "readOnly": true }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "The provisioning state of the mongo cluster.", "readOnly": true }, "clusterStatus": { "$ref": "#/definitions/MongoClusterStatus", "description": "The status of the mongo cluster.", "readOnly": true }, "publicNetworkAccess": { "$ref": "#/definitions/PublicNetworkAccess", "description": "Whether or not public endpoint access is allowed for this mongo cluster." }, "nodeGroupSpecs": { "type": "array", "description": "The list of node group specs in the cluster.", "items": { "$ref": "#/definitions/NodeGroupSpec" }, "x-ms-identifiers": [] }, "privateEndpointConnections": { "type": "array", "description": "List of private endpoint connections.", "items": { "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" }, "readOnly": true } } }, "MongoClusterRestoreParameters": { "type": "object", "description": "Parameters used for restore operations", "properties": { "pointInTimeUTC": { "type": "string", "format": "date-time", "description": "UTC point in time to restore a mongo cluster" }, "sourceResourceId": { "type": "string", "description": "Resource ID to locate the source cluster to restore" } } }, "MongoClusterStatus": { "type": "string", "description": "The status of the Mongo cluster resource.", "enum": [ "Ready", "Provisioning", "Updating", "Starting", "Stopping", "Stopped", "Dropping" ], "x-ms-enum": { "name": "MongoClusterStatus", "modelAsString": true, "values": [ { "name": "Ready", "value": "Ready", "description": "The mongo cluster resource is ready for use." }, { "name": "Provisioning", "value": "Provisioning", "description": "The mongo cluster resource is being provisioned." }, { "name": "Updating", "value": "Updating", "description": "The mongo cluster resource is being updated." }, { "name": "Starting", "value": "Starting", "description": "The mongo cluster resource is being started." }, { "name": "Stopping", "value": "Stopping", "description": "The mongo cluster resource is being stopped." }, { "name": "Stopped", "value": "Stopped", "description": "The mongo cluster resource is stopped." }, { "name": "Dropping", "value": "Dropping", "description": "The mongo cluster resource is being dropped." } ] } }, "MongoClusterUpdate": { "type": "object", "description": "The type used for update operations of the MongoCluster.", "properties": { "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/MongoClusterUpdateProperties", "description": "The resource-specific properties for this resource." } } }, "MongoClusterUpdateProperties": { "type": "object", "description": "The updatable properties of the MongoCluster.", "properties": { "administratorLogin": { "type": "string", "description": "The administrator's login for the mongo cluster.", "x-ms-mutability": [ "read", "update", "create" ] }, "administratorLoginPassword": { "type": "string", "format": "password", "description": "The password of the administrator login.", "x-ms-mutability": [ "update", "create" ], "x-ms-secret": true }, "serverVersion": { "type": "string", "description": "The Mongo DB server version. Defaults to the latest available version if not specified." }, "publicNetworkAccess": { "$ref": "#/definitions/PublicNetworkAccess", "description": "Whether or not public endpoint access is allowed for this mongo cluster." }, "nodeGroupSpecs": { "type": "array", "description": "The list of node group specs in the cluster.", "items": { "$ref": "#/definitions/NodeGroupSpec" }, "x-ms-identifiers": [] } } }, "NodeGroupProperties": { "type": "object", "description": "The properties of the node group on a cluster.", "properties": { "sku": { "type": "string", "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." }, "diskSizeGB": { "type": "integer", "format": "int64", "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." }, "enableHa": { "type": "boolean", "description": "Whether high availability is enabled on the node group." } } }, "NodeGroupSpec": { "type": "object", "description": "Specification for a node group.", "properties": { "sku": { "type": "string", "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." }, "diskSizeGB": { "type": "integer", "format": "int64", "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." }, "enableHa": { "type": "boolean", "description": "Whether high availability is enabled on the node group." }, "kind": { "$ref": "#/definitions/NodeKind", "description": "The node type deployed in the node group." }, "nodeCount": { "type": "integer", "format": "int32", "description": "The number of nodes in the node group." } } }, "NodeKind": { "type": "string", "description": "The kind of the node on the cluster.", "enum": [ "Shard" ], "x-ms-enum": { "name": "NodeKind", "modelAsString": true, "values": [ { "name": "Shard", "value": "Shard", "description": "The node is a shard kind." } ] } }, "PrivateEndpointConnectionResource": { "type": "object", "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "PrivateEndpointConnectionResourceListResult": { "type": "object", "description": "The response of a PrivateEndpointConnectionResource list operation.", "properties": { "value": { "type": "array", "description": "The PrivateEndpointConnectionResource items on this page", "items": { "$ref": "#/definitions/PrivateEndpointConnectionResource" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "PrivateLinkResource": { "type": "object", "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResourceProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" } ] }, "PrivateLinkResourceListResult": { "type": "object", "description": "The response of a PrivateLinkResource list operation.", "properties": { "value": { "type": "array", "description": "The PrivateLinkResource items on this page", "items": { "$ref": "#/definitions/PrivateLinkResource" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ProvisioningState": { "type": "string", "description": "The provisioning state of the last accepted operation.", "enum": [ "Succeeded", "Failed", "Canceled", "InProgress", "Updating", "Dropping" ], "x-ms-enum": { "name": "ProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded", "description": "Resource has been created." }, { "name": "Failed", "value": "Failed", "description": "Resource creation failed." }, { "name": "Canceled", "value": "Canceled", "description": "Resource creation was canceled." }, { "name": "InProgress", "value": "InProgress", "description": "An operation is in-progress on the resource." }, { "name": "Updating", "value": "Updating", "description": "An update operation is in-progress on the resource." }, { "name": "Dropping", "value": "Dropping", "description": "A drop operation is in-progress on the resource." } ] }, "readOnly": true }, "PublicNetworkAccess": { "type": "string", "description": "Whether or not public endpoint access is allowed for this Mongo cluster. Value is optional and default value is 'Enabled'", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "PublicNetworkAccess", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled", "description": "If set, mongo cluster can be accessed through private and public methods." }, { "name": "Disabled", "value": "Disabled", "description": "If set, the private endpoints are the exclusive access method." } ] } } }, "parameters": {} }