-
Notifications
You must be signed in to change notification settings - Fork 5.7k
[servicefabricmanagedclusters] 2026-02-01 #39563
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
Changes from all commits
488d9a1
8403c97
4b762dc
7aa27dc
89fb0c3
4a989d4
4b98fc8
33b14a3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -139,6 +139,7 @@ interface NodeTypes { | |
| /** | ||
| * Starts a fault simulation on the node type. | ||
| */ | ||
| @removed(Versions.v2026_02_01) | ||
| @tag("FaultSimulation") | ||
| startFaultSimulation is ArmResourceActionAsync< | ||
| NodeType, | ||
|
|
@@ -151,6 +152,7 @@ interface NodeTypes { | |
| /** | ||
| * Stops a fault simulation on the node type. | ||
| */ | ||
| @removed(Versions.v2026_02_01) | ||
| @tag("FaultSimulation") | ||
| stopFaultSimulation is ArmResourceActionAsync< | ||
| NodeType, | ||
|
|
@@ -163,6 +165,7 @@ interface NodeTypes { | |
| /** | ||
| * Gets a fault simulation by the simulationId. | ||
| */ | ||
| @removed(Versions.v2026_02_01) | ||
| @tag("FaultSimulation") | ||
| getFaultSimulation is ArmResourceActionSync< | ||
| NodeType, | ||
|
|
@@ -173,6 +176,7 @@ interface NodeTypes { | |
| /** | ||
| * Gets the list of recent fault simulations for the node type. | ||
| */ | ||
| @removed(Versions.v2026_02_01) | ||
| @tag("FaultSimulation") | ||
| @list | ||
| listFaultSimulation is ArmResourceActionSync< | ||
|
|
@@ -545,6 +549,12 @@ model NodeTypeProperties { | |
| */ | ||
| @added(Versions.v2025_06_01_preview) | ||
| isOutboundOnly?: boolean; | ||
|
|
||
| /** | ||
| * Specifies whether the node type should use a resilient ephemeral OS disk when using a supported SKU size. A resilient ephemeral OS disk provides improved reliability for ephemeral OS disks by enabling full caching. | ||
| */ | ||
| @added(Versions.v2026_02_01) | ||
| enableResilientEphemeralOsDisk?: boolean; | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar feedback here. APIs that allow clients to choose behavior based on well-designed enums are better and more extensible than adding boolean flags. Over time, APIs turn into messy true/false bitvectors. This could be something more like osDiskType: { ResilientEphemeral, StandardCaching, NoCaching }, or whatever options are (or will be) offered.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hey, these changes are already rolling out because they were approved in the previous ARM review. We were waiting until that rollout completed to complete the spec PR and start SDK generation. |
||
| } | ||
|
|
||
| /** | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "applicationName": "myApp", | ||
| "clusterName": "myCluster", | ||
| "parameters": { | ||
| "eventsHealthStateFilter": "Error", | ||
| "deployedApplicationsHealthStateFilter": "Error", | ||
| "servicesHealthStateFilter": "Error", | ||
| "excludeHealthStatistics": true, | ||
| "timeout": 30 | ||
| }, | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "202": { | ||
| "headers": { | ||
| "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01", | ||
| "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01" | ||
| } | ||
| } | ||
| }, | ||
| "operationId": "Applications_FetchHealth", | ||
| "title": "Fetch application health" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "applicationName": "myApp", | ||
| "clusterName": "myCluster", | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "202": { | ||
| "headers": { | ||
| "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01", | ||
| "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01" | ||
| } | ||
| } | ||
| }, | ||
| "operationId": "Applications_ReadUpgrade", | ||
| "title": "Get an application upgrade" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "applicationName": "myApp", | ||
| "clusterName": "myCluster", | ||
| "parameters": { | ||
| "nodeName": "nt1_0", | ||
| "serviceManifestName": "TestPkg", | ||
| "servicePackageActivationId": "sharedProcess", | ||
| "codePackageName": "Code", | ||
| "codePackageInstanceId": "133991326715515522" | ||
| }, | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "202": { | ||
| "headers": { | ||
| "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01", | ||
| "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01" | ||
| } | ||
| } | ||
| }, | ||
| "operationId": "Applications_RestartDeployedCodePackage", | ||
| "title": "Restart deployed code package" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "applicationName": "myApp", | ||
| "clusterName": "myCluster", | ||
| "parameters": { | ||
| "upgradeDomainName": "UD1" | ||
| }, | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "202": { | ||
| "headers": { | ||
| "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01", | ||
| "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01" | ||
| } | ||
| } | ||
| }, | ||
| "operationId": "Applications_ResumeUpgrade", | ||
| "title": "Resume upgrade" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "applicationName": "myApp", | ||
| "clusterName": "myCluster", | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "202": { | ||
| "headers": { | ||
| "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01", | ||
| "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01" | ||
| } | ||
| } | ||
| }, | ||
| "operationId": "Applications_StartRollback", | ||
| "title": "Start an application upgrade rollback" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| { | ||
| "parameters": { | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000", | ||
| "resourceGroupName": "resRg", | ||
| "clusterName": "myCluster", | ||
| "applicationName": "myApp", | ||
| "api-version": "2026-02-01", | ||
| "parameters": { | ||
| "upgradeKind": "Rolling", | ||
| "name": "fabric:/Voting", | ||
| "updateDescription": { | ||
| "rollingUpgradeMode": "Monitored", | ||
| "forceRestart": true, | ||
| "failureAction": "Manual", | ||
| "healthCheckWaitDurationInMilliseconds": "PT0H0M10S", | ||
| "healthCheckStableDurationInMilliseconds": "PT1H0M0S", | ||
| "healthCheckRetryTimeoutInMilliseconds": "PT0H15M0S", | ||
| "upgradeTimeoutInMilliseconds": "PT2H0M0S", | ||
| "upgradeDomainTimeoutInMilliseconds": "PT2H0M0S" | ||
| }, | ||
| "applicationHealthPolicy": { | ||
| "considerWarningAsError": true, | ||
| "maxPercentUnhealthyDeployedApplications": 10, | ||
| "defaultServiceTypeHealthPolicy": { | ||
| "maxPercentUnhealthyPartitionsPerService": 10, | ||
| "maxPercentUnhealthyReplicasPerPartition": 11, | ||
| "maxPercentUnhealthyServices": 12 | ||
| }, | ||
| "serviceTypeHealthPolicyMap": { | ||
| "VotingWeb": { | ||
| "maxPercentUnhealthyPartitionsPerService": 13, | ||
| "maxPercentUnhealthyReplicasPerPartition": 14, | ||
| "maxPercentUnhealthyServices": 15 | ||
| } | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "responses": { | ||
| "202": { | ||
| "headers": { | ||
| "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2023-07-01-preview", | ||
| "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2023-07-01-preview" | ||
| } | ||
| } | ||
| }, | ||
| "operationId": "Applications_UpdateUpgrade", | ||
| "title": "Update an application upgrade" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "applicationName": "myApp", | ||
| "clusterName": "myCluster", | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "202": { | ||
| "headers": { | ||
| "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2026-02-01", | ||
| "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/9c2ce367-47ea-43de-b69e-c5a423da4557?api-version=2026-02-01" | ||
| } | ||
| }, | ||
| "204": {} | ||
| }, | ||
| "operationId": "Applications_Delete", | ||
| "title": "Delete an application" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "applicationName": "myApp", | ||
| "clusterName": "myCluster", | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "200": { | ||
| "body": { | ||
| "name": "myApp", | ||
| "type": "Microsoft.ServiceFabric/managedClusters/applications", | ||
| "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", | ||
| "location": "eastus", | ||
| "properties": { | ||
| "parameters": { | ||
| "param1": "value1" | ||
| }, | ||
| "provisioningState": "Updating", | ||
| "upgradePolicy": { | ||
| "applicationHealthPolicy": { | ||
| "considerWarningAsError": true, | ||
| "defaultServiceTypeHealthPolicy": { | ||
| "maxPercentUnhealthyPartitionsPerService": 0, | ||
| "maxPercentUnhealthyReplicasPerPartition": 0, | ||
| "maxPercentUnhealthyServices": 0 | ||
| }, | ||
| "maxPercentUnhealthyDeployedApplications": 0, | ||
| "serviceTypeHealthPolicyMap": { | ||
| "service1": { | ||
| "maxPercentUnhealthyPartitionsPerService": 30, | ||
| "maxPercentUnhealthyReplicasPerPartition": 30, | ||
| "maxPercentUnhealthyServices": 30 | ||
| } | ||
| } | ||
| }, | ||
| "forceRestart": false, | ||
| "instanceCloseDelayDuration": 600, | ||
| "recreateApplication": false, | ||
| "rollingUpgradeMonitoringPolicy": { | ||
| "failureAction": "Rollback", | ||
| "healthCheckRetryTimeout": "00:10:00", | ||
| "healthCheckStableDuration": "00:05:00", | ||
| "healthCheckWaitDuration": "00:02:00", | ||
| "upgradeDomainTimeout": "00:15:00", | ||
| "upgradeTimeout": "01:00:00" | ||
| }, | ||
| "upgradeMode": "UnmonitoredAuto", | ||
| "upgradeReplicaSetCheckTimeout": 3600 | ||
| }, | ||
| "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" | ||
| }, | ||
| "tags": {} | ||
| }, | ||
| "headers": {} | ||
| } | ||
| }, | ||
| "operationId": "Applications_Get", | ||
| "title": "Get an application" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| { | ||
| "parameters": { | ||
| "api-version": "2026-02-01", | ||
| "clusterName": "myCluster", | ||
| "resourceGroupName": "resRg", | ||
| "subscriptionId": "00000000-0000-0000-0000-000000000000" | ||
| }, | ||
| "responses": { | ||
| "200": { | ||
| "body": { | ||
| "nextLink": "http://examplelink.com", | ||
| "value": [ | ||
| { | ||
| "name": "myApp", | ||
| "type": "Microsoft.ServiceFabric/managedClusters/applications", | ||
| "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", | ||
| "properties": { | ||
| "provisioningState": "Updating", | ||
| "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" | ||
| } | ||
| } | ||
| ] | ||
| }, | ||
| "headers": {} | ||
| } | ||
| }, | ||
| "operationId": "Applications_List", | ||
| "title": "Get a list of application resources" | ||
| } |
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.
Is it possible to add a well-chosen enum instead of adding boolean switches? Generally enums make better properties than booleans. They are more descriptive and flexible while being easier for customers to discover, understand and use. Ref: https://eng.ms/docs/products/arm/rp_onboarding/process/api_review_best_practices. They allow values other than just true/false and support description strings. Even if you only ever want two values, you can have a string enum with two values.
In this case, maybe something like securityGroup: { Managed, BringYourOwn, None } or something similar is worth considering.