Skip to content
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

[Azure Maps] Swagger improvement for Elevation + other minor fixes [Hub Generated] #16162

Merged
merged 34 commits into from
Oct 6, 2021

Conversation

alankashiwa
Copy link
Member

@alankashiwa alankashiwa commented Sep 25, 2021

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.

Changelog

Add a changelog entry for this PR by answering the following questions:

  1. What's the purpose of the update?
    • To improve swagger for generated clients and address some issues from this review in ApiView, as well as other minor fixes found during the process.
  2. When are you targeting to deploy the new service/feature to public regions? Services already deployed.
  3. When do you expect to publish the swagger? ASAP
  4. If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published. No data-plane SDKs are onboarded yet, so no refresh is required.

Contribution checklist:

Breaking Change Review Checklist

If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

  • Removing API(s) in a stable version
  • Removing properties in a stable version
  • Removing API version(s) in a stable version
  • Updating API in a stable or public preview version with Breaking Change Validation errors
  • Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

@openapi-workflow-bot
Copy link

Hi, @alankashiwa Thanks for your PR. I am workflow bot for review process. Here are some small tips.

  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use API Specs Comparison Report Generator
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. How to fix?

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com

    @openapi-workflow-bot
    Copy link

    [Call for Action] To better understand Azure service dev/test scenario, and support Azure service developer better on Swagger and REST API related tests in early phase, please help to fill in with this survey https://aka.ms/SurveyForEarlyPhase. It will take 5 to 10 minutes. If you already complete survey, please neglect this comment. Thanks.

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Sep 25, 2021

    Swagger Validation Report

    ️❌BreakingChange: 8 Errors, 2 Warnings failed [Detail]
    Rule Message
    1007 - RemovedClientParameter The new version is missing a client parameter that was found in the old version. Was 'WeatherApiVersion' removed or renamed?
    New: Weather/preview/1.0/weather.json#L43:3
    Old: Weather/preview/1.0/weather.json#L43:3
    1007 - RemovedClientParameter The new version is missing a client parameter that was found in the old version. Was 'WeatherLanguage' removed or renamed?
    New: Weather/preview/1.0/weather.json#L43:3
    Old: Weather/preview/1.0/weather.json#L43:3
    1009 - RemovedRequiredParameter The required parameter 'pointsRequestBody' was removed in the new version.
    Old: DEM/preview/1.0/elevation.json#L121:11
    1009 - RemovedRequiredParameter The required parameter 'linesRequestBody' was removed in the new version.
    Old: DEM/preview/1.0/elevation.json#L217:11
    1010 - AddingRequiredParameter The required parameter 'points' was added in the new version.
    New: DEM/preview/1.0/elevation.json#L121:11
    1010 - AddingRequiredParameter The required parameter 'polyline' was added in the new version.
    New: DEM/preview/1.0/elevation.json#L217:11
    1023 - TypeFormatChanged The new version has a different format than the previous one.
    New: DEM/preview/1.0/elevation.json#L277:13
    Old: DEM/preview/1.0/elevation.json#L274:13
    1028 - ArrayCollectionFormatChanged The new version has a different array collection format than the previous one.
    New: DEM/preview/1.0/elevation.json#L268:11
    Old: DEM/preview/1.0/elevation.json#L268:11
    ⚠️ 1026 - TypeChanged The new version has a different type 'number' than the previous one 'string'.
    New: DEM/preview/1.0/elevation.json#L277:13
    Old: DEM/preview/1.0/elevation.json#L274:13
    ⚠️ 1032 - DifferentAllOf The new version has a different 'allOf' property than the previous one.
    New: Search/preview/1.0/search.json#L1834:9
    Old: Search/preview/1.0/search.json#L1848:9
    ️⚠️LintDiff: 0 Warnings warning [Detail]
    The following errors/warnings exist before current PR submission:
    Rule Message
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Feedback/preview/1.0/feedback.json#L216
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Mobility/preview/1.0/mobility.json#L1464
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Mobility/preview/1.0/mobility.json#L1491
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Route/preview/1.0/route.json#L1813
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Route/preview/1.0/route.json#L1855
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Route/preview/1.0/route.json#L1878
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Route/preview/1.0/route.json#L1969
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Search/preview/1.0/search.json#L2075
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Spatial/preview/1.0/spatial.json#L1095
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Spatial/preview/1.0/spatial.json#L1118
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Spatial/preview/1.0/spatial.json#L1148
    R2026 - AvoidAnonymousTypes Inline/anonymous models must not be used, instead define a schema with a model name in the 'definitions' section and refer to it. This allows operations to share the models.
    Location: Spatial/preview/1.0/spatial.json#L1175
    ⚠️ R2007 - LongRunningOperationsWithLongRunningExtension The operation 'Dataset_Create' returns 202 status code, which indicates a long running operation, please enable 'x-ms-long-running-operation.
    Location: Dataset/preview/2.0/dataset.json#L196
    ⚠️ R2007 - LongRunningOperationsWithLongRunningExtension The operation 'Conversion_Convert' returns 202 status code, which indicates a long running operation, please enable 'x-ms-long-running-operation.
    Location: DwgConversion/preview/2.0/dwgconversion.json#L203
    ⚠️ R2007 - LongRunningOperationsWithLongRunningExtension The operation 'Tileset_Create' returns 202 status code, which indicates a long running operation, please enable 'x-ms-long-running-operation.
    Location: Tileset/preview/2.0/tileset.json#L216
    ⚠️ R2018 - XmsEnumValidation The enum types should have x-ms-enum type extension set with appropriate options. Property name: type
    Location: FeatureState/preview/2.0/featurestate.json#L827
    ⚠️ R2018 - XmsEnumValidation The enum types should have x-ms-enum type extension set with appropriate options. Property name: type
    Location: Search/preview/1.0/search.json#L3448
    ⚠️ R2018 - XmsEnumValidation The enum types should have x-ms-enum type extension set with appropriate options. Property name: geometryType
    Location: WFS/preview/2.0/wfs.json#L887
    ⚠️ R2064 - LROStatusCodesReturnTypeSchema 200/201 Responses of long running operations must have a schema definition for return type. OperationId: 'FeatureState_PutStateset', Response code: '200'
    Location: FeatureState/preview/2.0/featurestate.json#L325
    ⚠️ R2064 - LROStatusCodesReturnTypeSchema 200/201 Responses of long running operations must have a schema definition for return type. OperationId: 'FeatureState_UpdateStates', Response code: '200'
    Location: FeatureState/preview/2.0/featurestate.json#L465
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️️✔️Cross-Version Breaking Changes succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️️✔️[Staging] SDK Track2 Validation succeeded [Detail] [Expand]
    Validation passes for SDKTrack2Validation

    ️️✔️[Staging] PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️[Staging] SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    ️️✔️[Staging] Lint(RPaaS) succeeded [Detail] [Expand]
    Validation passes for Lint(RPaaS).
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Sep 25, 2021

    Swagger Generation Artifacts

    ️️✔️[Staging] ApiDocPreview succeeded [Detail] [Expand]
     Please click here to preview with your @microsoft account. 
    ️️✔️[Staging] SDK Breaking Change Tracking succeeded [Detail] [Expand]

    Breaking Changes Tracking

    ️✔️azure-sdk-for-python-track2 - track2_azure-maps-elevation - first release
    ️✔️azure-sdk-for-python-track2 - track2_azure-maps-geolocation - first release
    ️✔️azure-sdk-for-python-track2 - track2_azure-maps-route - first release
    ️✔️azure-sdk-for-python-track2 - track2_azure-maps-search - first release
    ️✔️azure-sdk-for-python-track2 - track2_azure-maps-traffic - first release
    ️✔️azure-sdk-for-python-track2 - track2_azure-maps-weather - first release
    ️⚠️ azure-sdk-for-python-track2 warning [Detail]
    ️⚠️ azure-sdk-for-java warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from 1ec9a8f. SDK Automation 14.0.0
      command	./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
      warn		specification/maps/data-plane/readme.md skipped due to azure-sdk-for-java not found in swagger-to-sdk
      command	./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
      warn	No file changes detected after generation
      warn	No package detected after generation
    ️️✔️ azure-sdk-for-net succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from 1ec9a8f. SDK Automation 14.0.0
      Only show 20 items here, please refer to log for details.
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      command	autorest --version=V2 --csharp --reflect-api-versions --license-header=MICROSOFT_MIT_NO_VERSION --use=@microsoft.azure/autorest.csharp@2.3.82 --csharp-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-net/sdk ../azure-rest-api-specs/specification/maps/data-plane/Traffic/readme.md
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      command	autorest --version=V2 --csharp --reflect-api-versions --license-header=MICROSOFT_MIT_NO_VERSION --use=@microsoft.azure/autorest.csharp@2.3.82 --csharp-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-net/sdk ../azure-rest-api-specs/specification/maps/data-plane/Weather/readme.md
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
    • ️✔️Azure.Maps.Elevation [View full logs]  [Release SDK Changes]
    • ️✔️Azure.Maps.Geolocation [View full logs]  [Release SDK Changes]
    • ️✔️Azure.Maps.Route [View full logs]  [Release SDK Changes]
    • ️✔️Azure.Maps.Search [View full logs]  [Release SDK Changes]
    • ️✔️Azure.Maps.Traffic [View full logs]  [Release SDK Changes]
    • ️✔️Azure.Maps.Weather [View full logs]  [Release SDK Changes]
    Posted by Swagger Pipeline | How to fix these errors?

    @alankashiwa alankashiwa changed the title [Hub Generated] Review request for DEM to add version preview/1.0 [Azure Maps] Swagger improvement for Elevation and other minor fix [Hub Generated] Sep 25, 2021
    @openapi-workflow-bot
    Copy link

    Hi @alankashiwa, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review.
    Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
    If you want to know the production traffic statistic, please see ARM Traffic statistic.
    If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback.

    This was referenced Sep 25, 2021
    @alankashiwa
    Copy link
    Member Author

    @tjprescott I've reverted the flattening, used the enum definition for View from #16283, and rebased the latest main branch to resolve the merge conflicts. I think we are ready to merge. Thanks a lot for the review!

    @tjprescott tjprescott merged commit 1ec9a8f into Azure:main Oct 6, 2021
    This was referenced Oct 6, 2021
    @alankashiwa alankashiwa deleted the dev-maps-DEM-1.0 branch October 29, 2021 07:40
    jovannikolov-msft pushed a commit to jovannikolov-msft/azure-rest-api-specs that referenced this pull request Dec 1, 2021
    …ub Generated] (Azure#16162)
    
    * Add blockchain to latest profile
    
    * Add additional types
    
    * All: Rename CoordinatePair* to LatLongPair*
    
    * Elevation: Assign more descriptive name for point/line request body
    
    * Elevation: Modify descriptions for rows and columns parameters
    
    * Elevation: Use collectionFormat for parameter bounds
    
    * Elevation: Add x-ms-client-flatten to data prop (X: reverted later)
    
    * Elevation: Condense to a single result type for all the methods
    
    * Geolocation: flatten countryRegion prop
    
    * Common: add client name for View parameter
    
    * Search/Weather: Clean up referneces and apiversion
    
    * Elevation: Delete flatten since it's impossible to move array into object
    
    * Elevation: user-friendly key names for x-ms-examples
    
    * Elevation: rename the request body directly instead of using x-ms-client-name
    
    * Elevation: Remove language specific reference
    
    * Common: Remove language specific reference
    
    * Geolocation: Remove language specific reference
    
    * Elevation: rename data property and its type
    
    * Elevation: rename 'endpointsOfPolyline' to simply 'polyline'
    
    * Revert "Geolocation: flatten countryRegion prop"
    
    This reverts commit 2ace329bd9a2442f5b7efb9e25da5e9d7d00bef2.
    
    * Common: Change View's type to enum and modify its client name
    
    Co-authored-by: Mark Cowlishaw <markcowl@microsoft.com>
    LeiWang3 pushed a commit to LeiWang3/azure-rest-api-specs that referenced this pull request Mar 31, 2022
    …ub Generated] (Azure#16162)
    
    * Add blockchain to latest profile
    
    * Add additional types
    
    * All: Rename CoordinatePair* to LatLongPair*
    
    * Elevation: Assign more descriptive name for point/line request body
    
    * Elevation: Modify descriptions for rows and columns parameters
    
    * Elevation: Use collectionFormat for parameter bounds
    
    * Elevation: Add x-ms-client-flatten to data prop (X: reverted later)
    
    * Elevation: Condense to a single result type for all the methods
    
    * Geolocation: flatten countryRegion prop
    
    * Common: add client name for View parameter
    
    * Search/Weather: Clean up referneces and apiversion
    
    * Elevation: Delete flatten since it's impossible to move array into object
    
    * Elevation: user-friendly key names for x-ms-examples
    
    * Elevation: rename the request body directly instead of using x-ms-client-name
    
    * Elevation: Remove language specific reference
    
    * Common: Remove language specific reference
    
    * Geolocation: Remove language specific reference
    
    * Elevation: rename data property and its type
    
    * Elevation: rename 'endpointsOfPolyline' to simply 'polyline'
    
    * Revert "Geolocation: flatten countryRegion prop"
    
    This reverts commit 2ace329bd9a2442f5b7efb9e25da5e9d7d00bef2.
    
    * Common: Change View's type to enum and modify its client name
    
    Co-authored-by: Mark Cowlishaw <markcowl@microsoft.com>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 FalsePositive-BreakingChange
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    6 participants