From 3034ada77d465b317cda51250a92454824cca06b Mon Sep 17 00:00:00 2001 From: joshuaz93 <65202450+joshuaz93@users.noreply.github.com> Date: Sat, 26 Mar 2022 00:30:35 +0800 Subject: [PATCH] Add Synapse Link for Azure SQL API (#18361) * Add Synapse Link for Azure SQL API * Fix typo --- custom-words.txt | 8 +- .../LinkConnection_CreateOrUpdate.json | 74 ++ .../examples/LinkConnection_Delete.json | 11 + .../examples/LinkConnection_EditTables.json | 29 + .../examples/LinkConnection_Get.json | 38 + .../LinkConnection_GetDetailedStatus.json | 21 + .../LinkConnection_ListLinkTables.json | 27 + .../LinkConnection_QueryTableStatus.json | 26 + .../examples/LinkConnection_Start.json | 10 + .../examples/LinkConnection_Stop.json | 10 + ...onnection_UpdateLandingZoneCredential.json | 16 + .../LinkConnections_ListByWorkspace.json | 42 + .../2021-12-01-preview/linkConnections.json | 931 ++++++++++++++++++ specification/synapse/data-plane/readme.md | 11 + 14 files changed, 1253 insertions(+), 1 deletion(-) create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_CreateOrUpdate.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Delete.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_EditTables.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Get.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_GetDetailedStatus.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_ListLinkTables.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_QueryTableStatus.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Start.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Stop.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_UpdateLandingZoneCredential.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnections_ListByWorkspace.json create mode 100644 specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json diff --git a/custom-words.txt b/custom-words.txt index 6d28e64086e9..7a8f7b23e809 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -2469,6 +2469,11 @@ schemagroups videoanalyzer Unsecure Noreuse +linkconnections +edittables +detailedstatus +linktables +querytablestatus loadtestservice testmanager additionalmetrics @@ -2505,4 +2510,5 @@ Vuln IAASVM Quickbase Smartsheet -Qualys \ No newline at end of file +Qualys +servermetrics \ No newline at end of file diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_CreateOrUpdate.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_CreateOrUpdate.json new file mode 100644 index 000000000000..a90547657914 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_CreateOrUpdate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "linkConnection": { + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + }, + "landingZone": { + "linkedService": { + "referenceName": "exampleLandingZoneLinkedService", + "type": "LinkedServiceReference" + }, + "fileSystem": "exampleFileSystem", + "folderPath": "exampleFolderPath", + "sasToken": { + "type": "SecureString", + "value": "exampleSasToken" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/linkConnections/testLinkConnection", + "name": "testLinkConnection", + "type": "Microsoft.Synapse/workspaces/linkConnections", + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + } + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Delete.json new file mode 100644 index 000000000000..ae23f6de2fe9 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_EditTables.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_EditTables.json new file mode 100644 index 000000000000..17fe52cfdac0 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_EditTables.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "editTablesRequest": { + "linkTables": [ + { + "id": "33f01131-553b-4b97-83a8-0db255a66901", + "source": { + "tableName": "exampleSourceTable", + "schemaName": "exampleSourceSchema" + }, + "target": { + "tableName": "exampleTargetTable", + "schemaName": "exampleTargetSchema", + "distributionOptions": { + "type": "Round_RoBin" + } + }, + "operationType": "Add" + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Get.json new file mode 100644 index 000000000000..7fad77d1eff1 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/linkConnections/testLinkConnection", + "name": "testLinkConnection", + "type": "Microsoft.Synapse/workspaces/linkConnections", + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + } + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_GetDetailedStatus.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_GetDetailedStatus.json new file mode 100644 index 000000000000..0a92bee4a6e4 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_GetDetailedStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "d20e417b-b5d1-4d5c-b2d6-4a581575c5b1", + "name": "testLinkConnection", + "isApplyingChanges": false, + "isPartiallyFailed": false, + "startTime": "2021-10-28T08:09:32.2976822Z", + "status": "Running", + "stopTime": "2021-10-28T09:24:47.2415789Z", + "continuousRunId": "23ded02c-056b-45e7-8852-a2fdb8d250dc" + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_ListLinkTables.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_ListLinkTables.json new file mode 100644 index 000000000000..969a27d45efe --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_ListLinkTables.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "7bbb9091983b48f59808cb322a30e1e1", + "name": "testLinkConnection", + "source": { + "tableName": "exampleSourceTable", + "schemaName": "exampleSourceSchema" + }, + "target": { + "tableName": "exampleTargetTable", + "schemaName": "exampleTargetSchema" + } + } + ] + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_QueryTableStatus.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_QueryTableStatus.json new file mode 100644 index 000000000000..4028aeafc8f2 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_QueryTableStatus.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "queryTableStatusRequest": { + "maxSegmentCount": 50 + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "8bbb9091983b48f59808cb322a30e1e1", + "startTime": "2021-10-28T08:09:32.2976822Z", + "status": "Replicating", + "stopTime": "2021-10-28T09:24:47.2415789Z", + "errorMessage": "sampleErrorMessage" + } + ], + "continuationToken": null + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Start.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Start.json new file mode 100644 index 000000000000..1acc7ada2394 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Start.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Stop.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Stop.json new file mode 100644 index 000000000000..1acc7ada2394 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Stop.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_UpdateLandingZoneCredential.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_UpdateLandingZoneCredential.json new file mode 100644 index 000000000000..e4e4d311fd36 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_UpdateLandingZoneCredential.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "updateLandingZoneCredentialRequest": { + "sasToken": { + "type": "SecureString", + "value": "exampleSasToken" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnections_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnections_ListByWorkspace.json new file mode 100644 index 000000000000..fc410baf677f --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnections_ListByWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/linkConnections/testLinkConnection", + "name": "testLinkConnection", + "type": "Microsoft.Synapse/workspaces/linkConnections", + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json new file mode 100644 index 000000000000..cf01a152eaf2 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json @@ -0,0 +1,931 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01-preview", + "title": "ArtifactsClient", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/linkconnections": { + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_ListLinkConnectionsByWorkspace", + "description": "List link connections", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionListResponse" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnections_ListByWorkspace": { + "$ref": "./examples/LinkConnections_ListByWorkspace.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/linkconnections/{linkConnectionName}": { + "put": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_CreateOrUpdateLinkConnection", + "description": "Creates or updates a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "linkConnection", + "description": "Link connection resource definition", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionResource" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_CreateOrUpdate": { + "$ref": "./examples/LinkConnection_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_GetLinkConnection", + "description": "Get a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionResource" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Get": { + "$ref": "./examples/LinkConnection_Get.json" + } + } + }, + "delete": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_DeleteLinkConnection", + "description": "Delete a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Delete": { + "$ref": "./examples/LinkConnection_Delete.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/edittables": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_EditTables", + "description": "Edit tables for a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "editTablesRequest", + "description": "Edit tables request", + "required": true, + "schema": { + "$ref": "#/definitions/EditTablesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_EditTables": { + "$ref": "./examples/LinkConnection_EditTables.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/start": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_Start", + "description": "Start a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Start": { + "$ref": "./examples/LinkConnection_Start.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/stop": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_Stop", + "description": "Stop a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Stop": { + "$ref": "./examples/LinkConnection_Stop.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/detailedstatus": { + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_GetDetailedStatus", + "description": "Get the detailed status of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionDetailedStatus" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_GetDetailedStatus": { + "$ref": "./examples/LinkConnection_GetDetailedStatus.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/linktables": { + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_ListLinkTables", + "description": "List the link tables of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkTableListResponse" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_ListLinkTables": { + "$ref": "./examples/LinkConnection_ListLinkTables.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/querytablestatus": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_QueryTableStatus", + "description": "Query the link table status of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "queryTableStatusRequest", + "description": "Query table status request", + "required": true, + "schema": { + "$ref": "#/definitions/QueryTableStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionQueryTableStatus" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_QueryTableStatus": { + "$ref": "./examples/LinkConnection_QueryTableStatus.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/updateLandingZoneCredential": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_UpdateLandingZoneCredential", + "description": "Update landing zone credential of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "updateLandingZoneCredentialRequest", + "description": "update landing zone credential request", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateLandingZoneCredential" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_UpdateLandingZoneCredential": { + "$ref": "./examples/LinkConnection_UpdateLandingZoneCredential.json" + } + } + } + } + }, + "definitions": { + "LinkConnectionListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List link connection value", + "items": { + "$ref": "#/definitions/LinkConnectionResource" + } + }, + "nextLink": { + "type": "string", + "description": "List link connections next link" + } + }, + "required": [ + "value" + ] + }, + "LinkTableListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List link table value", + "items": { + "$ref": "#/definitions/LinkTableResource" + } + } + } + }, + "LinkConnectionResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link connection id" + }, + "name": { + "type": "string", + "description": "Link connection name" + }, + "type": { + "type": "string", + "description": "Link connection type" + }, + "properties": { + "$ref": "#/definitions/LinkConnection", + "description": "Properties of link connection" + } + }, + "required": [ + "properties" + ] + }, + "LinkTableResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link table id" + }, + "name": { + "type": "string", + "description": "Link table name" + }, + "source": { + "$ref": "#/definitions/LinkTableRequestSource", + "description": "Source table properties for link table request" + }, + "target": { + "$ref": "#/definitions/LinkTableRequestTarget", + "description": "Target table properties for link table request" + } + } + }, + "LinkConnection": { + "type": "object", + "properties": { + "sourceDatabase": { + "$ref": "#/definitions/LinkConnectionSourceDatabase", + "description": "Properties of link connection's source database" + }, + "targetDatabase": { + "$ref": "#/definitions/LinkConnectionTargetDatabase", + "description": "Properties of link connection's target database" + }, + "landingZone": { + "$ref": "#/definitions/LinkConnectionLandingZone", + "description": "Properties of link connection's landing zone" + }, + "compute": { + "$ref": "#/definitions/LinkConnectionCompute", + "description": "Properties of link connection's compute" + } + } + }, + "LinkConnectionSourceDatabase": { + "type": "object", + "properties": { + "linkedService": { + "$ref": "#/definitions/LinkedServiceReference", + "description": "Linked service reference" + }, + "typeProperties": { + "$ref": "#/definitions/LinkConnectionSourceDatabaseTypeProperties", + "description": "Source database type properties" + } + } + }, + "LinkConnectionSourceDatabaseTypeProperties": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Link connection source database server's resource id" + }, + "principalId": { + "type": "string", + "description": "Link connection source database server's principal id" + } + } + }, + "LinkConnectionTargetDatabase": { + "type": "object", + "properties": { + "linkedService": { + "$ref": "#/definitions/LinkedServiceReference", + "description": "Linked service reference" + } + } + }, + "LinkConnectionLandingZone": { + "type": "object", + "properties": { + "linkedService": { + "$ref": "#/definitions/LinkedServiceReference", + "description": "Linked service reference" + }, + "fileSystem": { + "type": "string", + "description": "Landing zone's file system name" + }, + "folderPath": { + "type": "string", + "description": "Landing zone's folder path name" + }, + "sasToken": { + "$ref": "#/definitions/SecureString", + "description": "Landing zone's sas token" + } + } + }, + "LinkConnectionCompute": { + "type": "object", + "properties": { + "coreCount": { + "type": "integer", + "description": "Link connection's compute core count" + }, + "computeType": { + "type": "string", + "description": "Link connection's compute type" + } + } + }, + "EditTablesRequest": { + "type": "object", + "properties": { + "linkTables": { + "type": "array", + "description": "Edit link tables request", + "items": { + "$ref": "#/definitions/LinkTableRequest" + } + } + } + }, + "LinkTableRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link table id" + }, + "source": { + "$ref": "#/definitions/LinkTableRequestSource", + "description": "Source table properties for link table request" + }, + "target": { + "$ref": "#/definitions/LinkTableRequestTarget", + "description": "Target table properties for link table request" + }, + "operationType": { + "type": "string", + "description": "Link table operation type" + } + } + }, + "LinkTableRequestSource": { + "type": "object", + "properties": { + "tableName": { + "type": "string", + "description": "Source table table name" + }, + "schemaName": { + "type": "string", + "description": "Source table schema name" + } + } + }, + "LinkTableRequestTarget": { + "type": "object", + "properties": { + "tableName": { + "type": "string", + "description": "Target table table name" + }, + "schemaName": { + "type": "string", + "description": "Target table schema name" + }, + "distributionOptions": { + "$ref": "#/definitions/LinkTableRequestTargetDistributionOptions", + "description": "Target table distribution options for link table request" + } + } + }, + "LinkTableRequestTargetDistributionOptions": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Target table distribution type" + }, + "distributionColumn": { + "type": "string", + "description": "Target table distribution column" + } + } + }, + "LinkConnectionDetailedStatus": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link connection id" + }, + "name": { + "type": "string", + "description": "Link connection name" + }, + "isApplyingChanges": { + "type": "boolean", + "description": "Is link connection applying changes" + }, + "isPartiallyFailed": { + "type": "boolean", + "description": "Is link connection partially failed" + }, + "startTime": { + "type": "object", + "description": "Link connection start time" + }, + "stopTime": { + "type": "object", + "description": "Link connection stop time" + }, + "status": { + "type": "string", + "description": "Link connection status" + }, + "continuousRunId": { + "type": "string", + "description": "Link connection's corresponding continuous run id" + }, + "error": { + "type": "object", + "description": "Link connection error" + } + } + }, + "LinkConnectionQueryTableStatus": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Link tables' status", + "items": { + "$ref": "#/definitions/LinkTableStatus" + } + }, + "continuationToken": { + "type": "object", + "description": "Continuation token to query table status" + } + } + }, + "LinkTableStatus": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link table id" + }, + "status": { + "type": "string", + "description": "Link table status" + }, + "errorMessage": { + "type": "string", + "description": "Link table error message" + }, + "startTime": { + "type": "object", + "description": "Link table start time" + }, + "stopTime": { + "type": "object", + "description": "Link table stop time" + } + } + }, + "QueryTableStatusRequest": { + "type": "object", + "properties": { + "maxSegmentCount": { + "type": "integer", + "description": "Max segment count to query table status" + }, + "continuationToken": { + "type": "object", + "description": "Continuation token to query table status" + } + } + }, + "UpdateLandingZoneCredential": { + "type": "object", + "properties": { + "sasToken": { + "$ref": "#/definitions/SecureString", + "description": "Landing zone's sas token" + } + } + }, + "SecureString": { + "x-ms-discriminator-value": "SecureString", + "description": "Azure Synapse secure string definition. The string value will be masked with asterisks '*' during Get or List API calls.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretBase" + } + ], + "properties": { + "value": { + "type": "string", + "description": "Value of secure string." + } + }, + "required": [ + "value" + ] + }, + "SecretBase": { + "description": "The base definition of a secret type.", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the secret." + } + }, + "required": [ + "type" + ] + }, + "CloudError": { + "x-ms-external": true, + "description": "The object that defines the structure of an Azure Synapse error response.", + "type": "object", + "properties": { + "error": { + "x-ms-client-flatten": true, + "description": "Error data", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "required": [ + "error" + ] + }, + "CloudErrorBody": { + "x-ms-external": true, + "description": "The object that defines the structure of an Azure Synapse error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Property name/path in request associated with error.", + "type": "string" + }, + "details": { + "description": "Array with additional error details.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudError" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "LinkedServiceReference": { + "description": "Linked service reference type.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Linked service reference type.", + "enum": [ + "LinkedServiceReference" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + }, + "referenceName": { + "type": "string", + "description": "Reference LinkedService name." + }, + "parameters": { + "$ref": "#/definitions/ParameterValueSpecification", + "description": "Arguments for LinkedService." + } + }, + "required": [ + "type", + "referenceName" + ] + }, + "ParameterValueSpecification": { + "description": "An object mapping parameter names to argument values.", + "type": "object" + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Synapse client API Version." + }, + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "LinkConnectionName": { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The link connection name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/readme.md b/specification/synapse/data-plane/readme.md index 67b8d0b09c73..0e42d82b6751 100644 --- a/specification/synapse/data-plane/readme.md +++ b/specification/synapse/data-plane/readme.md @@ -206,6 +206,17 @@ input-file: - Microsoft.Synapse/preview/2021-06-01-preview/kqlScripts.json ``` +### Tag: package-link-connection-2021-12-01-preview + +These settings apply only when `--tag=package-link-connection-2021-12-01-preview` is specified on the command line. + +**ATTENTION**: Please DO NOT generate SDK based on this tag. Link connection API set is not ready to be widely used. + +``` yaml $(tag) == 'package-link-connection-2021-12-01-preview' +input-file: + - Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json +``` + ### Tag: package-artifacts-2020-12-01 These settings apply only when `--tag=package-artifacts-2020-12-01` is specified on the command line.