diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json index 0f811da43565..d5667363d768 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json @@ -1062,6 +1062,57 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeLinks": { + "post": { + "tags": [ + "integrationRuntimes" + ], + "operationId": "IntegrationRuntimes_RemoveLinks", + "x-ms-examples": { + "IntegrationRuntimes_Upgrade": { + "$ref": "./examples/IntegrationRuntimes_RemoveLinks.json" + } + }, + "description": "Remove all linked integration runtimes under specific data factory in a self-hosted integration runtime.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/integrationRuntimeName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "linkedIntegrationRuntimeRequest", + "description": "The data factory name for the linked integration runtime.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkedIntegrationRuntimeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "An error response received from the Azure Data Factory service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}": { "delete": { "tags": [ @@ -2718,6 +2769,20 @@ } } }, + "LinkedIntegrationRuntimeRequest": { + "description": "Data factory name for linked integration runtime request.", + "type": "object", + "properties": { + "factoryName": { + "description": "The data factory name for linked integration runtime.", + "type": "string", + "x-ms-client-name": "linkedFactoryName" + } + }, + "required": [ + "factoryName" + ] + }, "LinkedServiceListResponse": { "description": "A list of linked service resources.", "type": "object", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json index 32d471b2fb88..f26e8bc82e78 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json @@ -156,7 +156,7 @@ "enum": [ "Standard", "Enterprise" - ], + ], "x-ms-enum": { "name": "IntegrationRuntimeEdition", "modelAsString": true @@ -226,6 +226,74 @@ { "$ref": "#/definitions/IntegrationRuntime" } + ], + "properties": { + "typeProperties": { + "description": "When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SelfHostedIntegrationRuntimeTypeProperties" + } + } + }, + "SelfHostedIntegrationRuntimeTypeProperties": { + "description": "The self-hosted integration runtime properties.", + "type": "object", + "properties": { + "linkedInfo": { + "$ref": "#/definitions/LinkedIntegrationRuntimeType" + } + } + }, + "LinkedIntegrationRuntimeType": { + "description": "The base definition of a linked integration runtime.", + "discriminator": "authorizationType", + "type": "object", + "properties": { + "authorizationType": { + "type": "string", + "description": "The authorization type for integration runtime sharing." + } + }, + "required": [ + "authorizationType" + ] + }, + "LinkedIntegrationRuntimeKeyAuthorization": { + "x-ms-discriminator-value": "Key", + "description": "The key authorization type integration runtime.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedIntegrationRuntimeType" + } + ], + "properties": { + "key": { + "description": "The key used for authorization.", + "$ref": "../datafactory.json#/definitions/SecureString" + } + }, + "required": [ + "key" + ] + }, + "LinkedIntegrationRuntimeRbacAuthorization": { + "x-ms-discriminator-value": "RBAC", + "description": "The role based access control (RBAC) authorization type integration runtime.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedIntegrationRuntimeType" + } + ], + "properties": { + "resourceId": { + "description": "The resource identifier of the integration runtime to be shared.", + "type": "string" + } + }, + "required": [ + "resourceId" ] }, "IntegrationRuntimeStatus": { @@ -240,7 +308,7 @@ "dataFactoryName": { "description": "The data factory name which the integration runtime belong to.", "type": "string", - "readOnly": true + "readOnly": true }, "state": { "description": "The state of integration runtime.", @@ -265,7 +333,8 @@ "NeedRegistration", "Online", "Limited", - "Offline" + "Offline", + "AccessDenied" ], "x-ms-enum": { "name": "IntegrationRuntimeState", @@ -540,6 +609,22 @@ "type": "string", "readOnly": true }, + "links": { + "description": "The list of linked integration runtimes that are created to share with this integration runtime.", + "type": "array", + "items": { + "$ref": "#/definitions/LinkedIntegrationRuntime" + } + }, + "sharedWithFactories": { + "description": "The MSI-s of the data factories to which the integration runtime is shared.", + "type": "array", + "items": { + "description": "The service principals of data factories", + "type": "string" + }, + "readOnly": true + }, "pushedVersion": { "description": "The version that the integration runtime is going to update to.", "type": "string", @@ -565,6 +650,38 @@ "modelAsString": true } }, + "LinkedIntegrationRuntime": { + "description": "The linked integration runtime information.", + "type": "object", + "properties": { + "name": { + "description": "The name of the linked integration runtime.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The subscription ID for which the linked integration runtime belong to.", + "type": "string", + "readOnly": true + }, + "dataFactoryName": { + "description": "The name of the data factory for which the linked integration runtime belong to.", + "type": "string", + "readOnly": true + }, + "dataFactoryLocation": { + "description": "The location of the data factory for which the linked integration runtime belong to.", + "type": "string", + "readOnly": true + }, + "createTime": { + "description": "The creating time of the linked integration runtime.", + "type": "string", + "format": "date-time", + "readOnly": true + } + } + }, "SelfHostedIntegrationRuntimeNode": { "description": "Properties of Self-hosted integration runtime node.", "properties": { diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/IntegrationRuntimes_RemoveLinks.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/IntegrationRuntimes_RemoveLinks.json new file mode 100644 index 000000000000..3baecff413c6 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/IntegrationRuntimes_RemoveLinks.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "integrationRuntimeName": "exampleIntegrationRuntime", + "linkedIntegrationRuntimeRequest": { + "factoryName": "exampleFactoryName-linked" + }, + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Tue, 03 Jul 2018 06:33:25 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-writes": "1195", + "x-ms-request-id": "360fbe4c-a1a7-436b-b0f5-e27a474a6b16", + "x-ms-correlation-request-id": "360fbe4c-a1a7-436b-b0f5-e27a474a6b16" + }, + "body": null + } + } +} \ No newline at end of file