{ "swagger": "2.0", "info": { "version": "2023-04-18-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_ListByWorkspace", "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": "../../../../common/v1/types.json#/definitions/CloudError" } } }, "x-ms-examples": { "LinkConnections_ListByWorkspace": { "$ref": "./examples/LinkConnections_ListByWorkspace.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/linkconnections/{linkConnectionName}": { "put": { "tags": [ "linkConnections" ], "operationId": "LinkConnection_CreateOrUpdate", "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": "../../../../common/v1/types.json#/definitions/CloudError" } } }, "x-ms-examples": { "LinkConnection_CreateOrUpdate": { "$ref": "./examples/LinkConnection_CreateOrUpdate.json" } } }, "get": { "tags": [ "linkConnections" ], "operationId": "LinkConnection_Get", "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": "../../../../common/v1/types.json#/definitions/CloudError" } } }, "x-ms-examples": { "LinkConnection_Get": { "$ref": "./examples/LinkConnection_Get.json" } } }, "delete": { "tags": [ "linkConnections" ], "operationId": "LinkConnection_Delete", "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": "../../../../common/v1/types.json#/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": "../../../../common/v1/types.json#/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. It may take a few minutes from Starting to Running, monitor the status with LinkConnection_GetDetailedStatus.", "parameters": [ { "$ref": "#/parameters/LinkConnectionName" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { "$ref": "../../../../common/v1/types.json#/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. It may take a few minutes from Stopping to stopped, monitor the status with LinkConnection_GetDetailedStatus.", "parameters": [ { "$ref": "#/parameters/LinkConnectionName" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { "$ref": "../../../../common/v1/types.json#/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": "../../../../common/v1/types.json#/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": "../../../../common/v1/types.json#/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": "../../../../common/v1/types.json#/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": "../../../../common/v1/types.json#/definitions/CloudError" } } }, "x-ms-examples": { "LinkConnection_UpdateLandingZoneCredential": { "$ref": "./examples/LinkConnection_UpdateLandingZoneCredential.json" } } } }, "/linkconnections/{linkConnectionName}/pause": { "post": { "tags": [ "linkConnections" ], "operationId": "LinkConnection_Pause", "description": "Pause a link connection. It may take a few minutes from Pausing to Paused, monitor the status with LinkConnection_GetDetailedStatus.", "parameters": [ { "$ref": "#/parameters/LinkConnectionName" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { "$ref": "../../../../common/v1/types.json#/definitions/CloudError" } } }, "x-ms-examples": { "LinkConnection_Pause": { "$ref": "./examples/LinkConnection_Pause.json" } } } }, "/linkconnections/{linkConnectionName}/resume": { "post": { "tags": [ "linkConnections" ], "operationId": "LinkConnection_Resume", "description": "Resume a link connection. It may take a few minutes from Resuming to Running, monitor the status with LinkConnection_GetDetailedStatus.", "parameters": [ { "$ref": "#/parameters/LinkConnectionName" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { "$ref": "../../../../common/v1/types.json#/definitions/CloudError" } } }, "x-ms-examples": { "LinkConnection_Resume": { "$ref": "./examples/LinkConnection_Resume.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" }, "description": { "type": "string", "description": "Link connection description" } }, "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" }, "typeProperties": { "$ref": "#/definitions/LinkConnectionTargetDatabaseTypeProperties", "description": "Target database type properties" } } }, "LinkConnectionTargetDatabaseTypeProperties": { "type": "object", "properties": { "crossTableTransaction": { "type": "boolean", "description": "Enable cross table transaction consistency on target database" }, "dropExistingTargetTableOnStart": { "type": "boolean", "description": "Drop and recreate same existing target table on link connection target database" }, "actionOnExistingTargetTable": { "type": "string", "enum": [ "FailOnNonEmptyTable", "DropAndRecreateTable", "MergeWithExistingData" ], "x-ms-enum": { "name": "actionOnExistingTargetTable", "values": [ { "value": "FailOnNonEmptyTable", "description": "Same existing tables on target database will be Failed." }, { "value": "DropAndRecreateTable", "description": "Same existing tables on target database will be dropped and recreated." }, { "value": "MergeWithExistingData", "description": "Same existing tables on target database will be Merged together." } ], "modelAsString": true }, "description": "Action on existing target table. If not specified, 'FailOnNonEmptyTable' action is used." } } }, "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": "Compute core count used by the link connection", "format": "int32" }, "computeType": { "type": "string", "description": "Link connection's compute type" }, "dataProcessIntervalMinutes": { "type": "integer", "description": "Link connection's data process interval in minutes", "minimum": 20, "maximum": 60, "format": "int32" } } }, "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" }, "structureOptions": { "$ref": "#/definitions/LinkTableRequestTargetStructureOptions", "description": "Target table structure 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" } } }, "LinkTableRequestTargetStructureOptions": { "type": "object", "properties": { "type": { "type": "string", "description": "Target table structure type" } } }, "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, please refer to this [articles](https://learn.microsoft.com/azure/synapse-analytics/synapse-link/sql-database-synapse-link#monitoring) for details." }, "continuousRunId": { "type": "string", "description": "Link connection's corresponding continuous run id" }, "error": { "type": "object", "description": "Link connection error" }, "refreshStatus": { "$ref": "#/definitions/LinkConnectionRefreshStatus", "description": "Link connection refresh status" }, "landingZoneCredentialExpireTime": { "type": "string", "description": "Link connection landing zone credential expire time", "format": "date-time" } } }, "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": "ID provided by the client" }, "status": { "type": "string", "description": "Link table status, please refer to this [articles](https://learn.microsoft.com/azure/synapse-analytics/synapse-link/sql-database-synapse-link#monitoring) for details." }, "errorMessage": { "type": "string", "description": "Link table error message" }, "startTime": { "type": "object", "description": "Link table start time" }, "stopTime": { "type": "object", "description": "Link table stop time" }, "linkTableId": { "type": "string", "description": "Link table ID" }, "errorCode": { "type": "string", "description": "Link table error code" }, "lastProcessedData": { "type": "string", "description": "Link table last processed data time", "format": "date-time" }, "lastTransactionCommitTime": { "type": "string", "description": "Link table last transaction commit time", "format": "date-time" } } }, "QueryTableStatusRequest": { "type": "object", "properties": { "maxSegmentCount": { "type": "integer", "description": "Max segment count to query table status", "format": "int32", "maximum": 1000 }, "continuationToken": { "type": "object", "description": "Continuation token to query table status" } } }, "UpdateLandingZoneCredential": { "type": "object", "properties": { "sasToken": { "$ref": "#/definitions/SecureString", "description": "Landing zone's sas token" } } }, "LinkConnectionRefreshStatus": { "type": "object", "properties": { "refreshStatus": { "type": "string", "description": "Link connection refresh status", "readOnly": true }, "errorMessage": { "type": "string", "description": "Link connection refresh error message", "readOnly": true } } }, "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" ] }, "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", "additionalProperties": { "type": "object" } } }, "parameters": { "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "The Synapse client API Version.", "x-ms-parameter-location": "client" }, "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", "format": "url" }, "LinkConnectionName": { "name": "linkConnectionName", "in": "path", "required": true, "type": "string", "description": "The link connection name", "x-ms-parameter-location": "method" } } }