-
Notifications
You must be signed in to change notification settings - Fork 5.5k
[servicefabricmanagedclusters] 2025-10-01-preview #37886
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
base: main
Are you sure you want to change the base?
Conversation
Next Steps to Merge✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.Comment generated by summarize-checks workflow run. |
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
rename parameters body to parameters
for application patch, move parameters to properties level fetchApplicationHealth -> fetchHealth
formatting fix restart replica example
...esource-manager/Microsoft.ServiceFabric/ServiceFabricManagedClusters/ApplicationResource.tsp
Show resolved
Hide resolved
...esource-manager/Microsoft.ServiceFabric/ServiceFabricManagedClusters/ApplicationResource.tsp
Show resolved
Hide resolved
...esource-manager/Microsoft.ServiceFabric/ServiceFabricManagedClusters/ApplicationResource.tsp
Show resolved
Hide resolved
...esource-manager/Microsoft.ServiceFabric/ServiceFabricManagedClusters/ApplicationResource.tsp
Outdated
Show resolved
Hide resolved
* List of application parameters with overridden values from their default values specified in the application manifest. | ||
*/ | ||
#suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "Day 0 property of app resource, used to pass string to string dictionary" | ||
parameters?: Record<string>; |
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.
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.
Do you have an example for how that should look? We're using Record for the CreateOrUpdate parameters field, so I had just gone ahead and defined it the same 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.
I found this discussion from back in May https://teams.microsoft.com/l/message/19:[email protected]/1746552761724?tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&parentMessageId=1746212216120&teamName=Azure%20SDK&channelName=TypeSpec%20Discussion&createdTime=1746552761724
I'm not sure if we can change how we define this property without causing it to diverge from the application model that we have for our create / update requests since that uses a dictionary<string, string>. Our customers expect this property to be in the same format.
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.
Yes, I understand the desire to maintain the existing patterns. This makes it hard to move APIs toward more consistency and compliance though. Note that customers also expect ARM resources to support ARM core features.
From other comments, it sounds like you are wrapping an sfclient, which seems like the perfect opportunity to adopt a newer better pattern. If you are set on exposing this property as a dictionary, please schedule an ARM API Modeling office hours slot so we can discuss and understand the big picture better.
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.
There is a corresponding PUT operation that has been published since day 1, so we were hoping to keep the property shape the same.
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 understand the history here. Given that PUT already uses this pattern, matching it for PATCH is probably the best option for this PR.
Going forward, please keep in mind that your service has its own interface, even when wrapping another interface. It's not always the case that passing through the wrapped API unchanged is the best option. We want to always be leveraging opportunities to raise the bar on quality, consistency and usability of Azure APIs all-up. Wrapping another API is a good opportunity to fix legacy issues in APIs that don't meet current ARM rules and guidelines.
* try KVP array
* revert change to patch application parameters
@iliu816 - Thank-you: I appreciate the effort and attention that went into this PR. I've signed off for ARM with comments. |
ARM (Control Plane) API Specification Update Pull Request
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.
Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!
Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
Additional information
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
suppressions guide to get approval.
Getting help
Purpose of this PR
andDue diligence checklist
.write access
per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositoriesNext 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.and https://aka.ms/ci-fix.
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.