[Traffic Manager] Adding new preview api-version for Traffic Manager. This adds ONE new feature to Traffic Manager: HeatMap.#1580
Conversation
…ersion includes a new nested resource: Microsoft.Network/trafficManagerProfiles/heatMaps. This resource will be used to represent a heatmap of a Traffic Manager profile's traffic across a world map based off of the traffic's latency and volume. [Traffic Manager] Adding new feature to preview API: APP RUM. Also fixing some heatmap specifications.
|
@hrkulkarMsft, |
|
@ravbhatnagar this is new new API version, please review and sign-off. |
|
@hrkulkarMsft please update |
|
Should the readme.md still try to build non-preview api? Or should I add? openapi-type: arm
tag: package-2017-09-previewTag: package-2017-09-previewThese settings apply only when input-file:
- Microsoft.Network/2017-09-01-preview/trafficmanager.json |
|
@hrkulkarMsft, the readme file seems correct, it seems CI is failing because from the swagger you are referring |
|
If you already have autorest installed I would recommend to run it locally against your swagger to catch linter errors, and fix them. Assuming you are in the root folder of local clone of rest-api-spec, you can run this: |
|
Thanks, my validator wasn't throwing that warning because git hadn't renamed the case remotely to match my local branch. For Operations API -- our parent RP (Microsoft.Network) implements this should we still reference it in our Swagger? |
|
For |
|
To repro semantic and model validation locally
|
|
Thanks Anu, I was able to successfully run these validations this time. One general question I have. I do get this warning: { For child resources, it seems it's generally the practice to have a sort of 'List' operations on them. However, in the case of this particular resource -- it could be very large. Would a list operation still be preferable to have, even if there is only one instance of this resource? |
| "$ref": "#/definitions/CloudError" | ||
| } | ||
| } | ||
| }, |
There was a problem hiding this comment.
Is this a long running operation? if yes mark it so using "x-ms-long-running-operation": true
There was a problem hiding this comment.
No, it should be short-running.
| "$ref": "#/definitions/CloudError" | ||
| } | ||
| } | ||
| }, |
There was a problem hiding this comment.
Is this a long running operation? if yes mark it so using "x-ms-long-running-operation": true
There was a problem hiding this comment.
No, it should be short-running.
| "required": false, | ||
| "schema": { | ||
| "type": "string", | ||
| "enum": [""] |
There was a problem hiding this comment.
curious what exactly this enum is? if not used please remove.
|
@hrkulkarMsft regarding |
|
@anuchandy Sorry, I should have been more specific. The payload can return close to 4MB in our preview version -- this will be right under ARM limit to keep it from needing pagination. If we decide to have multiple heatMap resources at some point then (i.e.: a history of a Profile's heatMap), I would imagine that a List operation could get large. In current implementation we are specifically trying to limit the data to avoid pagination. If close to 4 MB should still require pagination, then I will add the extension. |
|
@hrkulkarMsft thanks for clarifying, got it so there will be only one |
ravbhatnagar
left a comment
There was a problem hiding this comment.
@hrkulkarMsft - please take a look at this feedback.
There was a problem hiding this comment.
What is this key? Is it a secret? Shouldn't this be obtained via a POST?
There was a problem hiding this comment.
The API signature is not correct for a GET or a PUT. it needs a segment for the resource name.
There was a problem hiding this comment.
as discussed in person - make is default
There was a problem hiding this comment.
How is this different from the "id" property in "Resource" model?
There was a problem hiding this comment.
Is this a fixed finite set? Consider exposing this list through an API or make an enum. Or is this list same as the supported azure locations?
There was a problem hiding this comment.
Are all properties in the model patchable?
There was a problem hiding this comment.
camelcase resource type name -> trafficManagerProfiles
There was a problem hiding this comment.
All properties are patchable?
There was a problem hiding this comment.
Are you sure you want to return the entire Endpoint resource in the response of a Profile? You can just return the resource Ids for the endpoints.
There was a problem hiding this comment.
You will have to do a linked access check to make sure user has access to these resources (endpoints).
There was a problem hiding this comment.
This should be ISO8601 format
There was a problem hiding this comment.
ISO 8601 format datetime?
There was a problem hiding this comment.
Is this not the arm resource id of the endpoint
| "description": "Class representing a Traffic Manager HeatMap properties." | ||
| }, | ||
| "HeatMapEndpoint": { | ||
| "properties": { |
There was a problem hiding this comment.
lets keep just resourceid
c495de7 to
1ed2684
Compare
|
@ravbhatnagar : Submitted a new iteration in the review with the changes we discussed. • {heatMapsType}: can now only be “default” in value. I’ll take note of the general API feedback to fix, but for this iteration would it be possible to only fix the HeatMap implementation, and then update the existing API comments later? |
|
Hi There, I am the AutoRest Linter Azure bot. I am here to help. My task is to analyze the situation from the AutoRest linter perspective. Please review the below analysis result: File: AutoRest Linter Guidelines | AutoRest Linter Issues Send feedback and make AutoRest Linter Azure Bot smarter day by day! Thanks for your co-operation. |
Forcing git to rename HeatMap-Get.json to HeatMap-GET.json Fixing examples validation and json to match examples. Adding query parameters to HeatMap. Removing endpoint identifying properties. Must be accessed through additional GET. Removing RealUserMetrics API. Needs separate review. Adding query parameters for HeatMap.
|
Hi There, I am the AutoRest Linter Azure bot. I am here to help. My task is to analyze the situation from the AutoRest linter perspective. Please review the below analysis result: File: AutoRest Linter Guidelines | AutoRest Linter Issues Send feedback and make AutoRest Linter Azure Bot smarter day by day! Thanks for your co-operation. |
|
@hrkulkarMsft - sounds good. |
|
RubyCoden is failing https://travis-ci.org/Azure/azure-rest-api-specs/jobs/268142263, checking with the codegen owners. |
|
Hey, is there anything I need to do to unblock codegen? |
|
hi @hrkulkarMsft sorry for the delay. No action required from your side now, we are tracking the code-gen issue here Azure/azure-sdk-for-ruby#944. Merging this PR. Summary:
|
|
Cool, thanks Anu! Changed the PR to better reflect these changes since the other feature was moved to a separate PR. |
|
No modification for AutorestCI/azure-sdk-for-node |
|
No modification for AutorestCI/azure-sdk-for-python |
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-versionin the path should match theapi-versionin the spec).Quality of Swagger