Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,20 @@
}
}
},
"LinkedIntegrationRuntimeRequest": {
"description": "Data factory name for linked integration runtime request.",
"type": "object",
"properties": {
"factoryName": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zhangyd2015
Would it be possible to add the extension "x-ms-client-name" here? Currently this name is the same as that used for the URL parameter factoryName. Readability could be improved by giving this property a different generated client name.
For an example of the current generated Python client:
https://github.com/Azure/azure-sdk-for-python/pull/2865/files#diff-fd2acb15b40ac1ce8749314b7e6619c0R1041

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think renaming will be better than using x-ms-client-name. Maybe linkedFactoryName?

Copy link
Contributor Author

@zhangyd2015 zhangyd2015 Jul 6, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Service code is pending deployment now and if we change the name we will need service code change and I don't want to block the deployment as we have been waiting for long time. On the other hand, the closure class name LinkedIntegrationRuntimeRequest has indicate its context.

I will prefer to add the extension x-ms-client-name here.

"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",
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": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about renaming linkedInfo to linkedIntegrationRuntimeAuthorization and the properties class to LinkedIntegrationRuntimeAuthorizationType, and the inherited classes to LinkedIntegrationRuntimeKeyAuthorization and LinkedIntegrationRuntimeRbacAuthorization

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is actually info here, not just authorization. we may add more properties here which are nothing related with authorization.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed to change properties class to LinkedIntegrationRuntimeType, inherited classes to LinkedIntegrationRuntimeKeyAuthorization and LinkedIntegrationRuntimeRbacAuthorization

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more question here - Self Hosted IR can only have one linked IR? Shouldn't this be an array?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

linked IR doesn't exist in self-hosted IR as property, it has its own entity with selfhosted IR info

"$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": {
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
}
}
}