-
Notifications
You must be signed in to change notification settings - Fork 5.6k
[ADF v2]Add integration runtime sharing feature. #3345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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": { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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": { | ||
|
|
@@ -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": { | ||
|
|
||
| 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 | ||
| } | ||
| } | ||
| } |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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?
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
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
LinkedIntegrationRuntimeRequesthas indicate its context.I will prefer to add the extension
x-ms-client-namehere.