Skip to content

Commit

Permalink
Add integration runtime sharing feature.
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangyd2015 committed Jul 3, 2018
1 parent b1674bb commit 8252d05
Show file tree
Hide file tree
Showing 3 changed files with 208 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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": [
Expand Down Expand Up @@ -2718,6 +2769,19 @@
}
}
},
"LinkedIntegrationRuntimeRequest": {
"description": "Data factory name for linked integration runtime request.",
"type": "object",
"properties": {
"factoryName": {
"description": "The data factory name.",
"type": "string"
}
},
"required": [
"factoryName"
]
},
"LinkedServiceListResponse": {
"description": "A list of linked service resources.",
"type": "object",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
"enum": [
"Standard",
"Enterprise"
],
],
"x-ms-enum": {
"name": "IntegrationRuntimeEdition",
"modelAsString": true
Expand Down Expand Up @@ -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/LinkedIntegrationRuntimeProperties"
}
}
},
"LinkedIntegrationRuntimeProperties": {
"description": "The base definition of a linked integration runtime properties.",
"discriminator": "authorizationType",
"type": "object",
"properties": {
"authorizationType": {
"type": "string",
"description": "The authorization type for integration runtime sharing."
}
},
"required": [
"authorizationType"
]
},
"LinkedIntegrationRuntimeKey": {
"x-ms-discriminator-value": "Key",
"description": "The key authorization type.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/LinkedIntegrationRuntimeProperties"
}
],
"properties": {
"key": {
"description": "The key used for authorization.",
"$ref": "../datafactory.json#/definitions/SecureString"
}
},
"required": [
"key"
]
},
"LinkedIntegrationRuntimeRbac": {
"x-ms-discriminator-value": "RBAC",
"description": "The role based access control (RBAC) authorization type.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/LinkedIntegrationRuntimeProperties"
}
],
"properties": {
"resourceId": {
"description": "The resource identifier of the integration runtime to be shared.",
"type": "string"
}
},
"required": [
"resourceId"
]
},
"IntegrationRuntimeStatus": {
Expand All @@ -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.",
Expand All @@ -265,7 +333,8 @@
"NeedRegistration",
"Online",
"Limited",
"Offline"
"Offline",
"AccessDenied"
],
"x-ms-enum": {
"name": "IntegrationRuntimeState",
Expand Down Expand Up @@ -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",
Expand All @@ -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": {
Expand Down
Original file line number Diff line number Diff line change
@@ -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
}
}
}

0 comments on commit 8252d05

Please sign in to comment.