diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/RestorableDroppedSqlPoolGet.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/RestorableDroppedSqlPoolGet.json new file mode 100644 index 000000000000..0c3fc6cb9104 --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/RestorableDroppedSqlPoolGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "restorabledroppeddatabasetest-1257", + "workspaceName": "restorabledroppeddatabasetest-2389", + "restorableDroppedSqlPoolId": "restorabledroppeddatabasetest-7654,131403269876900000", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/restorabledroppeddatabasetest-1257/providers/Microsoft.Synapse/workspaces/restorabledroppeddatabasetest-2389/restorableDroppedSqlPools/restorabledroppeddatabasetest-7654,131403269876900000", + "name": "restorabledroppeddatabasetest-7654,131403269876900000", + "type": "Microsoft.Synapse/workspaces/restorableDroppedSqlPools", + "location": "Japan East", + "properties": { + "databaseName": "restorabledroppeddatabasetest-7654", + "edition": "Datawarehouse", + "maxSizeBytes": "2147483648", + "serviceLevelObjective": "DW100c", + "elasticPoolName": null, + "creationDate": "2017-02-10T00:56:19.2Z", + "deletionDate": "2017-05-27T02:49:47.69Z", + "earliestRestoreDate": "2017-05-20T02:49:47.69Z" + } + } + } + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/RestorableDroppedSqlpoolList.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/RestorableDroppedSqlpoolList.json new file mode 100644 index 000000000000..d62de7d3ef58 --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/RestorableDroppedSqlpoolList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "restorabledroppeddatabasetest-1349", + "workspaceName": "restorabledroppeddatabasetest-1840", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/restorabledroppeddatabasetest-1349/providers/Microsoft.Synapse/workspaces/restorabledroppeddatabasetest-1840/restorableDroppedSqlPools/restorabledroppeddatabasetest-1345,131403269876900000", + "name": "restorabledroppeddatabasetest-1345,131403269876900000", + "type": "Microsoft.Synapse/workspaces/restorableDroppedSqlPools", + "location": "Japan East", + "properties": { + "databaseName": "restorabledroppeddatabasetest-1345", + "edition": "Basic", + "maxSizeBytes": "2147483648", + "serviceLevelObjective": "Basic", + "elasticPoolName": null, + "creationDate": "2017-02-10T00:56:19.2Z", + "deletionDate": "2017-05-27T02:49:47.69Z", + "earliestRestoreDate": "2017-05-20T02:49:47.69Z" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/restorabledroppeddatabasetest-1349/providers/Microsoft.Synapse/workspaces/restorabledroppeddatabasetest-1840/restorableDroppedSqlPools/restorabledroppeddatabasetest-2764,131403249684030000", + "name": "restorabledroppeddatabasetest-2764,131403249684030000", + "type": "Microsoft.Synapse/workspaces/restorableDroppedSqlPools", + "location": "Japan East", + "properties": { + "databaseName": "restorabledroppeddatabasetest-2764", + "edition": "Standard", + "maxSizeBytes": "268435456000", + "serviceLevelObjective": "S0", + "elasticPoolName": null, + "creationDate": "2016-05-10T00:56:19.2Z", + "deletionDate": "2017-05-27T02:16:08.403Z", + "earliestRestoreDate": "2017-04-21T02:49:47.69Z" + } + } + ] + } + } + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPoolRestorePointsDelete.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPoolRestorePointsDelete.json new file mode 100644 index 000000000000..d822108f2419 --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPoolRestorePointsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "restorePointName": "131546477590000000", + "location": "japaneast", + "workspaceName": "testws", + "sqlPoolName": "testpool", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPoolRestorePointsGet.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPoolRestorePointsGet.json new file mode 100644 index 000000000000..1050659f3a80 --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPoolRestorePointsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "restorePointName": "131546477590000000", + "location": "japaneast", + "workspaceName": "testws", + "sqlPoolName": "testpool", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Synapse/workspaces/testws/sqlPools/testpool/restorePoints/131546477590000000", + "name": "131546477590000000", + "type": "Microsoft.Synapse/workspaces/sqlPools/restorePoints", + "location": "japaneast", + "properties": { + "restorePointType": "DISCRETE", + "restorePointCreationDate": "2017-03-10T08:00:00.000Z", + "restorePointLabel": "mylabel" + } + } + } + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json index 4529f02a7bcc..9360d544ef4b 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json @@ -3833,6 +3833,115 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/restorePoints/{restorePointName}": { + "get": { + "tags": [ + "SqlPools, RestorePoints" + ], + "description": "Gets a restore point.", + "operationId": "SqlPoolRestorePoints_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./workspace.json#/parameters/workspaceNameParameter" + }, + { + "type": "string", + "in": "path", + "name": "sqlPoolName", + "description": "SQL pool name", + "required": true + }, + { + "name": "restorePointName", + "in": "path", + "description": "The name of the restore point.", + "required": true, + "type": "string" + } + ], + "consumes": [], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Successfully returned the restore point.", + "schema": { + "$ref": "#/definitions/RestorePoint" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 BackupNotAllowedOnDeactivatedDatabase - Cannot create restore point on a deactivated database.\n\n * 400 RestorePointLimitReached - A restore point cannot be created because database would exceed the allowed quota of restore points.\n\n * 400 RestorePointAttemptToDeleteSystemBackup - Cannot delete system restore point.\n\n * 404 DatabaseRestorePointNotFound - Can not find database restore point.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 408 DatabaseRestorePointTimedOut - Create database restore point failed." + } + }, + "x-ms-examples": { + "Gets a Sql pool restore point.": { + "$ref": "./examples/SqlPoolRestorePointsGet.json" + } + } + }, + "delete": { + "tags": [ + "SqlPools, RestorePoints" + ], + "description": "Deletes a restore point.", + "operationId": "SqlPoolRestorePoints_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./workspace.json#/parameters/workspaceNameParameter" + }, + { + "type": "string", + "in": "path", + "name": "sqlPoolName", + "description": "SQL pool name", + "required": true + }, + { + "name": "restorePointName", + "in": "path", + "description": "The name of the restore point.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the restore point." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 BackupNotAllowedOnDeactivatedDatabase - Cannot create restore point on a deactivated database.\n\n * 400 RestorePointLimitReached - A restore point cannot be created because database would exceed the allowed quota of restore points.\n\n * 400 RestorePointAttemptToDeleteSystemBackup - Cannot delete system restore point.\n\n * 404 DatabaseRestorePointNotFound - Can not find database restore point.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 408 DatabaseRestorePointTimedOut - Create database restore point failed." + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Deletes a restore point.": { + "$ref": "./examples/SqlPoolRestorePointsDelete.json" + } + } + } } }, "definitions": { diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json index 23e084e91246..1a5b26cc0c47 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json @@ -583,6 +583,108 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/restorableDroppedSqlPools/{restorableDroppedSqlPoolId}": { + "get": { + "tags": [ + "RestorableDroppedSqlPools" + ], + "operationId": "RestorableDroppedSqlPools_Get", + "description": "Gets a deleted sql pool that can be restored", + "x-ms-examples": { + "Get a restorable dropped Sql pool": { + "$ref": "./examples/RestorableDroppedSqlPoolGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + }, + { + "name": "restorableDroppedSqlPoolId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the deleted Sql Pool in the form of sqlPoolName,deletionTimeInFileTimeFormat" + } + ], + "consumes": [], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorableDroppedSqlPool" + } + }, + "default": { + "schema": { + "$ref": "./workspace.json#/definitions/ErrorContract" + }, + "description": "Error" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/restorableDroppedSqlPools": { + "get": { + "tags": [ + "RestorableDroppedSqlPools" + ], + "operationId": "RestorableDroppedSqlPools_ListByWorkspace", + "description": "Gets a list of deleted Sql pools that can be restored", + "x-ms-examples": { + "Get list of restorable dropped Sql pools": { + "$ref": "./examples/RestorableDroppedSqlpoolList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + } + ], + "consumes": [], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorableDroppedSqlPoolListResult" + } + }, + "default": { + "schema": { + "$ref": "./workspace.json#/definitions/ErrorContract" + }, + "description": "Error" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } } }, "definitions": { @@ -911,6 +1013,89 @@ "x-ms-client-flatten": true } } + }, + "RestorableDroppedSqlPoolProperties": { + "properties": { + "databaseName": { + "readOnly": true, + "type": "string", + "description": "The name of the database" + }, + "edition": { + "readOnly": true, + "type": "string", + "description": "The edition of the database" + }, + "maxSizeBytes": { + "readOnly": true, + "type": "string", + "description": "The max size in bytes of the database" + }, + "serviceLevelObjective": { + "readOnly": true, + "type": "string", + "description": "The service level objective name of the database" + }, + "elasticPoolName": { + "readOnly": true, + "type": "string", + "description": "The elastic pool name of the database" + }, + "creationDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The creation date of the database (ISO8601 format)" + }, + "deletionDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The deletion date of the database (ISO8601 format)" + }, + "earliestRestoreDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The earliest restore date of the database (ISO8601 format)" + } + }, + "description": "The properties of a restorable dropped Sql pool" + }, + "RestorableDroppedSqlPool": { + "properties": { + "location": { + "type": "string", + "readOnly": true, + "description": "The geo-location where the resource lives" + }, + "properties": { + "$ref": "#/definitions/RestorableDroppedSqlPoolProperties", + "description": "The properties of a restorable dropped Sql pool", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "A restorable dropped Sql pool" + }, + "RestorableDroppedSqlPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDroppedSqlPool" + }, + "description": "A list of restorable dropped Sql pools" + } + }, + "required": [ + "value" + ], + "description": "The response to a list restorable dropped Sql pools request" } }, "parameters": { diff --git a/specification/synapse/resource-manager/readme.md b/specification/synapse/resource-manager/readme.md index 5ae9da8e960e..c911de71f820 100644 --- a/specification/synapse/resource-manager/readme.md +++ b/specification/synapse/resource-manager/readme.md @@ -80,6 +80,12 @@ directive: suppress: - R4015 reason: SQL doesn't support 'list' operation everywhere, so we cannot support List for certain Sql pool operations + - from: Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json + where : + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/restorePoints/{restorePointName}"].delete.responses' + suppress: + - R4011 + reason: SQL Pools APIs are proxy APIs that call SQL DB APIs. The SQL DB delete restore points API only supports return method 200, so we cannot support 204. It is not possible for the SQL DB team to add 204 support for delete restore points. ``` ---