-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
Add APIs for integration runtime sharing feature. #3124
Conversation
Add two fields 'pushedVersion' 'latestVersion' into SelfHostedIntegrationRuntimeStatus Fixed issue #2057
@@ -564,7 +651,7 @@ | |||
"200": { | |||
"description": "OK.", | |||
"schema": { | |||
"$ref": "#/definitions/IntegrationRuntimeStatusResponse" | |||
"$ref": "#/definitions/IntegrationRuntimeResource" |
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.
Here is to fix issue #2057
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.
This fix should go into new API version since it is a breaking change. I'm adding it in my PR.
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.
Need to remove from here.
Automation for azure-sdk-for-pythonEncountered a Subprocess error: (azure-sdk-for-python)
Command: ['/usr/local/bin/autorest', '/tmp/tmpfos_9x_c/rest/specification/datafactory/resource-manager/readme.md', '--multiapi', '--python', '--python-mode=update', '--python-sdks-folder=/tmp/tmpfos_9x_c/sdk', '--use=@microsoft.azure/autorest.python@~3.0', '--version=preview'] AutoRest code generation utility [version: 2.0.4280; node: v7.10.1]
(C) 2018 Microsoft Corporation.
https://aka.ms/autorest
Loading AutoRest core '/root/.autorest/@microsoft.azure_autorest-core@2.0.4280/node_modules/@microsoft.azure/autorest-core/dist' (2.0.4280)
Loading AutoRest extension '@microsoft.azure/autorest.python' (~3.0->3.0.52)
Loading AutoRest extension '@microsoft.azure/autorest.modeler' (2.3.44->2.3.44)
FailFast:
at System.Diagnostics.Debug.Assert(Boolean condition, String message, String detailMessage)
at AutoRest.Extensions.SwaggerExtensions.FlattenProperty(Property propertyToFlatten, HashSet`1 typesToDelete) in /opt/vsts/work/1/s/autorest.common/src/SwaggerExtensions.cs:line 220
at AutoRest.Extensions.SwaggerExtensions.FlattenModels(CodeModel codeModel) in /opt/vsts/work/1/s/autorest.common/src/SwaggerExtensions.cs:line 95
at AutoRest.Python.Azure.TransformerPya.TransformCodeModel(CodeModel cm) in /opt/vsts/work/1/s/src/azure/TransformerPya.cs:line 33
at AutoRest.Python.Program.<ProcessInternal>d__3.MoveNext() in /opt/vsts/work/1/s/src/Program.cs:line 107
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(Action action, Boolean allowInlining, Task& currentTask)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.Perks.JsonRPC.Connection.<Request>d__37`1.MoveNext() in /opt/vsts/work/1/s/autorest.common/src/JsonRpc/Connection.cs:line 371
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(Action action, Boolean allowInlining, Task& currentTask)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
at System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(TResult result)
at Microsoft.Perks.JsonRPC.CallerResponse`1.SetCompleted(JToken result) in /opt/vsts/work/1/s/autorest.common/src/JsonRpc/CallerResponse.cs:line 57
at Microsoft.Perks.JsonRPC.Connection.<>c__DisplayClass27_0.<<Process>b__0>d.MoveNext() in /opt/vsts/work/1/s/autorest.common/src/JsonRpc/Connection.cs:line 289
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.Perks.JsonRPC.Connection.<>c__DisplayClass27_0.<Process>b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Environment.FailFast(System.String, System.Exception)
at AutoRest.Extensions.SwaggerExtensions.FlattenProperty(AutoRest.Core.Model.Property, System.Collections.Generic.HashSet`1<System.String>)
at AutoRest.Extensions.SwaggerExtensions.FlattenModels(AutoRest.Core.Model.CodeModel)
at AutoRest.Python.Azure.TransformerPya.TransformCodeModel(AutoRest.Core.Model.CodeModel)
at AutoRest.Python.Program+<ProcessInternal>d__3.MoveNext()
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.RunContinuations(System.Object)
at System.Threading.Tasks.Task`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].TrySetResult(System.Nullable`1<Boolean>)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].SetExistingTaskResult(System.Nullable`1<Boolean>)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].SetResult(System.Nullable`1<Boolean>)
at Microsoft.Perks.JsonRPC.Connection+<Request>d__37`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.RunContinuations(System.Object)
at System.Threading.Tasks.Task`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].TrySetResult(System.Nullable`1<Boolean>)
at System.Threading.Tasks.TaskCompletionSource`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].TrySetResult(System.Nullable`1<Boolean>)
at Microsoft.Perks.JsonRPC.CallerResponse`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].SetCompleted(Newtonsoft.Json.Linq.JToken)
at Microsoft.Perks.JsonRPC.Connection+<>c__DisplayClass27_0+<<Process>b__0>d.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at Microsoft.Perks.JsonRPC.Connection+<>c__DisplayClass27_0.<Process>b__0()
at System.Threading.Tasks.Task`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].InnerInvoke()
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
FATAL: python/generate - FAILED
FATAL: Error: [Exception] AutoRest extension '@microsoft.azure/autorest.python' terminated.
Process() cancelled due to exception : [Exception] AutoRest extension '@microsoft.azure/autorest.python' terminated. |
Automation for azure-libraries-for-javaA PR has been created for you based on this PR content. Once this PR will be merged, content will be added to your service PR: |
"type": "string", | ||
"description": "The resource type.", | ||
"readOnly": true | ||
"definitions": { |
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.
Most of the differences in "definitions" is format changes.
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.
Can you guys eliminate these format changes to make sure important changes are not missed?
Automation for azure-sdk-for-nodeA PR has been created for you based on this PR content. Once this PR will be merged, content will be added to your service PR: |
Automation for azure-sdk-for-goA PR has been created for you based on this PR content. Once this PR will be merged, content will be added to your service PR: |
Thanks @zhangyd2015 - there are some model validation errors - could you take a look? |
"tags": [ | ||
"factories" | ||
], | ||
"operationId": "Factories_ListSharedIntegrationRuntime", |
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.
This operation should use the x-ms-pageable extension
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.
@annatisch Done.
"tags": [ | ||
"factories" | ||
], | ||
"operationId": "Factories_ListSharedFactory", |
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.
This operation should use the x-ms-pageable extension
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.
@annatisch Done.
…time and Factories_ListSharedFactory
Automation for azure-sdk-for-rubyNothing to generate for azure-sdk-for-ruby |
@annatisch Fixed the model validation errors introduced by my PR. For rest of the validation errors for integration runtime, I guess it might be to oav tool error which can't handle the model well. |
@zhangyd2015 - this error looks like it should be fixable (factoryId should be factoryResourceId):
I will take a look at the others. |
@annatisch I am using oav version 0.4.38 which will report model validation error. Before I upgraded my oav, I remembered no such model validation error with old version. |
@zhangyd2015 - thanks for the fix - it would be really great if we could get these last 5 examples passing:
Take for example IntegrationRuntimes_Start.
Another common error in the above examples seems to be the use of 'S1' as a value for the 'catalogPricingTier' enum, when the only valid values are "Basic", "Standard", "Premium", "PremiumRS". |
@annatisch All the model validation errors have been fixed. |
Thanks @zhangyd2015 - the PR looks good to me. Once @ravbhatnagar signs off on the new ARM APIs then we're good to go :) |
@@ -375,6 +375,99 @@ | |||
} | |||
} | |||
}, | |||
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/sharedFactory": { | |||
"post": { |
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.
The operation name should be an action, it should contain a verb since it is post.
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.
Added verb
} | ||
} | ||
}, | ||
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/sharedIntegrationRuntime": { |
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.
Same here. Unless you want to model them as sub resources, then it should be plural. But I prefer action here.
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.
added verb
@ravbhatnagar - are you able to sign-off on the changes made? |
@hvermis - can you confirm whether your feedback has all been addressed? |
we should be able to close this today. Apologies for the delay here but not an expert on msi so wanted to make sure the right thing is being done here. |
@ravbhatnagar I've renamed the API "grantAccess/revokeAccess" as your suggestion. |
Looks good as per discussion on skype. These are getting added to preview api version. When ARM enables support for listing child resources at a higher scope, these APis will be replaced with that. At that point, there wont be a need for /addIdentity and removeIdentity Apis also. Signing off for now. |
Thanks @zhangyd2015 and @ravbhatnagar
Is it possible to correct this at this point? |
@annatisch that violation is a breaking change and we are fixing it in our new API version |
Thanks @hvermis! @ravbhatnagar - do you approve my adding a suppression for this? |
ping @ravbhatnagar |
@annatisch Since this issue is not a regression introduced by this pull request, can we just merge this pull request and track this issue in separate thread? |
Thanks @zhangyd2015 - yes I'm happy to do that for the linter error. |
@zhangyd2015 Now that we have new API version out, this change should go there instead of 09-01. Can you please move it? |
@annatisch Please hold on the PR merge, I will let you know when we are ready to do that. |
Sure thing @zhangyd2015. We think the
Is there a particular reason you chose to flatten these properties? (i.e. the linter tool suggested it). |
@annatisch @zhangyd2015 Flattening is added to make authoring easier for our customers. Remove additionalProperties if you have to, as that property is there to keep any future properties that older SDK version doesn't know about, and doesn't help in all cases anyway because of polymorphic limitations. |
Thanks @annatisch and @hvermis. If you select the option " For additionalProperties, it is not only used for future properties, but also works for list properties. If we remove it, the model validation will be broken somehow. |
@annatisch, @zhangyd2015 We should not remove flatten directives. Instead remove the additionalProeprties from property classes and this will be fixed. I added those additionalProperties, but they never worked as I wanted. |
@hvermis - unfortunately in this case the additionalProperties are not the issue. Polymorphic models should not be flattened. |
@annatisch, @hvermis, @ravbhatnagar Thanks for the help. We've decided not implementing the preview API, and waiting for the official implementation from ARM level. So I will abandon this PR and create new PR on GA version (version 2018-06-01). Thank you guys a lot! |
Thanks @zhangyd2015 - I will close it. |
Automation for azure-sdk-for-javaA PR has been created for you based on this PR content. Once this PR will be merged, content will be added to your service PR: |
Add APIs for integration runtime sharing feature.
Add two fields 'pushedVersion' 'latestVersion' into SelfHostedIntegrationRuntimeStatus
Fixed issue #2057
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information
api-version
in the path should match theapi-version
in the spec).Quality of Swagger