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

Adding new ACA Session Data Plane APIs #31996

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

shivamkm07
Copy link

@shivamkm07 shivamkm07 commented Jan 6, 2025

Data Plane API Specification Update Pull Request

Related PR: https://msazure.visualstudio.com/One/_git/AAPT-Antares-Containerapps/pullrequest/11352385

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

API Info: The Basics

Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

  • Link to API Spec engagement record issue:

Is this review for (select one):

  • a private preview
  • a public preview
  • GA release

Change Scope

This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

  • Design Document:
  • Previous API Spec Doc:
  • Updated paths:

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.

❔Got questions? Need additional info?? We are here to help!

Contact us!

The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

Click here for links to tools, specs, guidelines & other good stuff

Tooling

Guidelines & Specifications

Helpful Links

Getting help

  • First, please carefully read through this PR description, from top to bottom.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Copy link

openapi-pipeline-app bot commented Jan 6, 2025

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This is the public specs repo main branch which is not intended for iterative development.
    You must acknowledge that you understand that after this PR is merged, you won't be able to stop your changes from being published to Azure customers.
    If this is what you intend, add PublishToCustomers label to your PR.
    Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ This PR has at least one change violating Azure versioning policy (label: VersioningReviewRequired).
    To unblock this PR, either a) introduce a new API version with these changes instead of modifying an existing API version, or b) follow the process at aka.ms/brch.
  • ❌ The required check named Swagger PrettierCheck has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide

Copy link

openapi-pipeline-app bot commented Jan 6, 2025

Generated ApiView

Language Package Name ApiView Link
JavaScript @azure-rest/microsoft-app-dynamicsessions-rest https://apiview.dev/Assemblies/Review/271a97363c604130921a89db618ac151?revisionId=a6ca5dde1a3340a48511925ee534720f
TypeSpec Microsoft.App.DynamicSessions https://apiview.dev/Assemblies/Review/0df869ba4f0a43928e7a1e8561f20ee2?revisionId=7f6039071f9e4019b593ec6d9b55dca5

@shivamkm07 shivamkm07 changed the title Adding new Session Data Plane APIs Adding new ACA Session Data Plane APIs Jan 6, 2025
Copy link
Contributor

Thank you for your contribution shivamkm07! We will review the pull request and get back to you soon.

@microsoft-github-policy-service microsoft-github-policy-service bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Jan 6, 2025
@azure-sdk
Copy link
Collaborator

API change check

APIView has identified API level changes in this PR and created following API reviews.

Microsoft.App.DynamicSessions

@azure-sdk
Copy link
Collaborator

azure-sdk commented Jan 6, 2025

API change check

APIView has identified API level changes in this PR and created following API reviews.

Microsoft.App.DynamicSessions

@get
get is Foundations.Operation<SessionIdentifier, Session>;

#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No suitable standard operation found."
Copy link
Member

Choose a reason for hiding this comment

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

Can't we avoid these suppression as it means they are not following standard pattern ?

Copy link
Author

Choose a reason for hiding this comment

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

Yeah I tried to use resource Operations which is the standard, but that requires resource Id i.e sessionIdentifier added in the URL Path instead of query params, which is not what we follow for other data-plane APIs. So these suppressions are required.


@route("/listSessions")
interface ListSessions {
#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No suitable standard operation found."
Copy link
Contributor

Choose a reason for hiding this comment

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

it would be helpful to add the reason of suppression in comments

"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
{
"name": "offset",
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this word "offset" the correct word to be used according to Azure API guidelines? Did you see this "offset" word recommended somewhere or did you comeup with it?

"format": "int32"
},
{
"name": "limit",
Copy link
Contributor

Choose a reason for hiding this comment

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

Same comment for this word "limit" as well. From what I remember there are recommended words to use. Can you check once incase you haven't checked?

Copy link
Contributor

Choose a reason for hiding this comment

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

The above comments are just suggestions, you can ignore them unless API review team asks you to update.

Anyways, according to the guidelines I see that recommended words are "maxpagesize" instead of "limit" and "skip" instead of "offset" words.

Copy link
Contributor

Choose a reason for hiding this comment

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

"sessions": {
"type": "array",
"description": "The list of sessions.",
"items": {
Copy link
Contributor

Choose a reason for hiding this comment

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

Just a suggestion, ignore if not relevant: Do we want to send "nextLink" field in the response body with an absolute URL that the client can GET in order to retrieve the next page of the collection.

https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#query-options:~:text=DO%20return%20a%20nextLink%20field%20with

Copy link
Member

@mikekistler mikekistler left a comment

Choose a reason for hiding this comment

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

The PR pipeline tooling is failing because of a bad example file that is already merged to main:

CodeExecution_Execute_Async_Running.json

The problem is that the headers field is not allowed here. It should be included in the parameters section.

A quick check of the other example files found a second occurrence of this problem in

CodeExecution_Execute_Async_Completed.json

Please open a separate PR to correct this problem (fixing just these files)

The runtime failure in the PR tooling obscures a deviation from the Azure Versioning policy. The 2024-10-02-preview API version was already merged to main in the public repo, so updates to this version must be done in a new API version. I've added the VersioningReviewRequired label by hand to signal this.

@mikekistler mikekistler added the VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required label Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer-reported Issues that are reported by GitHub users external to the Azure organization. data-plane TypeSpec Authored with TypeSpec VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Azure Container Apps - Azure Container Apps] API Review
7 participants