Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
571d831
Copy fleet-2026-02-01-preview to fleet-2026-03-02-preview.
dvadas Feb 4, 2026
76d3065
Initial changes for fleet-2026-03-02-preview release (#40256)
dvadas Feb 13, 2026
3fd6b63
Extract label selector out to its own model. (#40665)
dvadas Feb 27, 2026
eaa9243
fix: update type of lastAppliedMemberSelector on ClusterMeshProfileSt…
Ealianis Mar 9, 2026
754da54
Updating Mesh Member and ClusterMesh Profile State Enums (#42446)
zuhairm2001 Apr 17, 2026
c29467b
add Azure Kubernetes Fleet Manager API version 2026-05-01-preview
Mar 9, 2026
fe0e714
Add 2026-05-01-preview json spec / examples
Mar 9, 2026
5873951
Fixed maxAllowedFailures type on stage / group status objects (#41423)
Ealianis Mar 16, 2026
8b174af
Add memberSelector field to UpdateStage in 2026-05-01-preview (#41483)
nibooy Mar 18, 2026
d656b8f
Target Fleet 2026-05-01-preview: Add support for external rollout via…
weng271190436 Mar 27, 2026
a0d6af3
Add Scheduled Start Gate to 2026-05-01-preview (#41895)
JunyuQian Apr 1, 2026
4fba331
Add an extra field absolute-start-time to Scheduled Start Properties …
JunyuQian Apr 1, 2026
a9f3f4f
Adding memberSelector to UpdateGroup in dev-aks-fleet-2026-05-01-prev…
nibooy Apr 6, 2026
7515953
fix: update updategroup doc contract (#42330)
nibooy Apr 13, 2026
f7488ac
Add 2026-05-01-preview tag block in README
Apr 16, 2026
81ed2ad
Make cluster update strategy reference name optional because it is pa…
Apr 16, 2026
abcfafd
Fix DescriptionMustNotBeNodeName
Apr 16, 2026
be51e68
Run tsp compile
Apr 17, 2026
3434621
[fleet] Readd accidently removed MAF fields from TSPs (#42895)
Ealianis May 5, 2026
aa1799c
Add managed namespace Rollout Strategy and PATCH examples to 20260501…
weng271190436 May 7, 2026
6a7c703
Get update namespace final state via original uri (#43299)
weng271190436 May 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
import "@azure-tools/typespec-azure-core";
import "./selector.tsp";

using Azure.ResourceManager;
using Azure.ResourceManager.Foundations;
using TypeSpec.Http;
using TypeSpec.Rest;
using TypeSpec.Versioning;

namespace Microsoft.ContainerService;

@doc("A cluster mesh profile stores the general information about the mesh.")
@added(Versions.v2026_03_02_preview)
@resource("clusterMeshProfiles")
@parentResource(Fleet)
model ClusterMeshProfile
is Azure.ResourceManager.ProxyResource<ClusterMeshProfileProperties> {
@doc("The name of the ClusterMeshProfile resource.")
@pattern("^[a-z0-9]([-a-z0-9]*[a-z0-9])?$")
@minLength(1)
@maxLength(63)
@path
@segment("clusterMeshProfiles")
@key("clusterMeshProfileName")
@visibility(Lifecycle.Read)
name: string;

...EntityTagProperty;
}

@doc("A cluster mesh profile stores the general information about the mesh.")
@added(Versions.v2026_03_02_preview)
model ClusterMeshProfileProperties {
@doc("The provisioning state of the cluster mesh profile.")
@visibility(Lifecycle.Read)
provisioningState?: ClusterMeshProfileProvisioningState;

@doc("""
Select the members of the mesh.
* Only key/value pairs with the `=` operator are accepted in the label selector.
* If empty or not specified, no Fleet members will be selected to join the mesh.
""")
@visibility(Lifecycle.Read, Lifecycle.Create)
memberSelector?: MemberSelector;

@doc("The cluster mesh profile status.")
@visibility(Lifecycle.Read)
status?: ClusterMeshProfileStatus;
}

@doc("The provisioning state of the cluster mesh profile resource.")
@added(Versions.v2026_03_02_preview)
union ClusterMeshProfileProvisioningState {
string,
ResourceProvisioningState,
}

@doc("Cluster mesh state.")
@added(Versions.v2026_03_02_preview)
union ClusterMeshState {
string,

@doc("The mesh is not connected.")
NotConnected: "NotConnected",

@doc("The mesh is applying.")
Applying: "Applying",

@doc("The mesh is connected.")
Connected: "Connected",

@doc("The mesh is degraded.")
Degraded: "Degraded",

@doc("The mesh failed to connect.")
Failed: "Failed",
}

@doc("Status of the cluster mesh.")
@added(Versions.v2026_03_02_preview)
model ClusterMeshProfileStatus {
@doc("The state of the cluster mesh.")
@visibility(Lifecycle.Read)
state: ClusterMeshState;

@visibility(Lifecycle.Read)
@doc("The last applied MemberSelector for the cluster mesh profile.")
lastAppliedMemberSelector?: MemberSelector;

@visibility(Lifecycle.Read)
@doc("The last operation ID for the cluster mesh profile.")
lastOperationId?: string;

@visibility(Lifecycle.Read)
@doc("The last operation error of the cluster mesh profile.")
lastOperationError?: Azure.ResourceManager.Foundations.ErrorDetail;
}

@added(Versions.v2026_03_02_preview)
@armResourceOperations
interface ClusterMeshProfiles {
get is ArmResourceRead<ClusterMeshProfile>;

createOrUpdate is ArmResourceCreateOrUpdateAsync<
ClusterMeshProfile,
Azure.ResourceManager.Foundations.BaseParameters<ClusterMeshProfile> &
IfMatchParameters<ClusterMeshProfile> &
IfNoneMatchParameters<ClusterMeshProfile>,
LroHeaders = Azure.Core.Foundations.RetryAfterHeader
>;

delete is ArmResourceDeleteWithoutOkAsync<
ClusterMeshProfile,
Azure.ResourceManager.Foundations.BaseParameters<ClusterMeshProfile> &
IfMatchParameters<ClusterMeshProfile>
>;

listByFleet is ArmResourceListByParent<ClusterMeshProfile>;

@doc("Applies the cluster mesh profile to selected fleet members.")
apply is Azure.ResourceManager.ArmResourceActionAsync<
ClusterMeshProfile,
void,
ClusterMeshProfile,
BaseParameters<ClusterMeshProfile> & IfMatchParameters<ClusterMeshProfile>
>;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"title": "AutoUpgradeProfileOperations_GenerateUpdateRun",
"operationId": "AutoUpgradeProfileOperations_GenerateUpdateRun",
"parameters": {
"api-version": "2026-03-02-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "rgfleets",
"fleetName": "fleet1",
"autoUpgradeProfileName": "aup1"
},
"responses": {
"200": {
"body": {
"id": "lfte"
}
},
"202": {
"headers": {
"Azure-AsyncOperation": "https://contoso.com/operationstatus"
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"title": "Create an AutoUpgradeProfile.",
"operationId": "AutoUpgradeProfiles_CreateOrUpdate",
"parameters": {
"api-version": "2026-03-02-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "rgfleets",
"If-Match": "uktvayathbu",
"If-None-Match": "vdjolwxnefqamimybcvxxva",
"fleetName": "fleet1",
"autoUpgradeProfileName": "autoupgradeprofile1",
"resource": {
"properties": {
"channel": "Stable",
"updateStrategyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgfleets/providers/Microsoft.ContainerService/fleets/fleet1/updateStrategies/strategy1",
"nodeImageSelection": {
"type": "Latest"
},
"disabled": true
}
}
},
"responses": {
"200": {
"body": {
"properties": {
"channel": "Stable",
"provisioningState": "Succeeded",
"updateStrategyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgfleets/providers/Microsoft.ContainerService/fleets/fleet1/updateStrategies/strategy1",
"nodeImageSelection": {
"type": "Latest"
},
"disabled": true
},
"eTag": "\"EtagValue\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/fleets/myFleet/autoUpgradeProfiles/autoupgradeprofile1",
"name": "autoupgradeprofile1",
"type": "Microsoft.ContainerService/fleets/autoUpgradeProfiles",
"systemData": {
"createdBy": "someUser",
"createdByType": "User",
"createdAt": "2022-03-23T05:40:40.657Z",
"lastModifiedBy": "someOtherUser",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-03-23T05:40:40.657Z"
}
}
},
"201": {
"headers": {
"Azure-AsyncOperation": "https://contoso.com/operationstatus"
},
"body": {
"properties": {
"channel": "Stable",
"provisioningState": "Succeeded",
"updateStrategyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgfleets/providers/Microsoft.ContainerService/fleets/fleet1/updateStrategies/strategy1",
"nodeImageSelection": {
"type": "Latest"
},
"disabled": true
},
"eTag": "\"EtagValue\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/fleets/myFleet/autoUpgradeProfiles/autoupgradeprofile1",
"name": "autoupgradeprofile1",
"type": "Microsoft.ContainerService/fleets/autoUpgradeProfiles",
"systemData": {
"createdBy": "someUser",
"createdByType": "User",
"createdAt": "2022-03-23T05:40:40.657Z",
"lastModifiedBy": "someOtherUser",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-03-23T05:40:40.657Z"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"operationId": "AutoUpgradeProfiles_Delete",
"title": "Delete an AutoUpgradeProfile resource.",
"parameters": {
"api-version": "2026-03-02-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "rg1",
"fleetName": "fleet1",
"autoUpgradeProfileName": "autoupgradeprofile1"
},
"responses": {
"202": {
"headers": {
"Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2026-03-02-preview",
"Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2026-03-02-preview"
}
},
"204": {}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"title": "Gets an AutoUpgradeProfile resource.",
"operationId": "AutoUpgradeProfiles_Get",
"parameters": {
"api-version": "2026-03-02-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "rgfleets",
"fleetName": "fleet1",
"autoUpgradeProfileName": "autoupgradeprofile1"
},
"responses": {
"200": {
"body": {
"properties": {
"channel": "Stable",
"provisioningState": "Succeeded",
"updateStrategyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgfleets/providers/Microsoft.ContainerService/fleets/fleet1/updateStrategies/strategy1",
"nodeImageSelection": {
"type": "Latest"
},
"disabled": true
},
"eTag": "\"EtagValue\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/fleets/myFleet/autoUpgradeProfiles/autoupgradeprofile1",
"name": "autoupgradeprofile1",
"type": "Microsoft.ContainerService/fleets/autoUpgradeProfiles",
"systemData": {
"createdBy": "someUser",
"createdByType": "User",
"createdAt": "2022-03-23T05:40:40.657Z",
"lastModifiedBy": "someOtherUser",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-03-23T05:40:40.657Z"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"title": "Lists the AutoUpgradeProfile resources by fleet.",
"operationId": "AutoUpgradeProfiles_ListByFleet",
"parameters": {
"api-version": "2026-03-02-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "rgfleets",
"fleetName": "fleet1"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/fleets/myFleet/autoUpgradeProfiles/autoupgradeprofile1",
"name": "autoupgradeprofile1",
"type": "Microsoft.ContainerService/fleets/autoUpgradeProfiles",
"systemData": {
"createdBy": "@contoso.com",
"createdByType": "User",
"createdAt": "2023-03-01T01:10:08.395Z",
"lastModifiedBy": "@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-03-01T01:10:08.395Z"
},
"properties": {
"provisioningState": "Succeeded",
"channel": "Stable",
"updateStrategyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgfleets/providers/Microsoft.ContainerService/fleets/fleet1/updateStrategies/strategy1",
"nodeImageSelection": {
"type": "Latest"
},
"disabled": true
},
"eTag": "\"EtagValue\""
}
],
"nextLink": "http://nextlink.contoso.com"
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"title": "Apply a ClusterMeshProfile",
"operationId": "ClusterMeshProfiles_Apply",
"parameters": {
"api-version": "2026-03-02-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "rgfleets",
"fleetName": "fleet1",
"clusterMeshProfileName": "clustermeshprofile1"
},
"responses": {
"200": {
"body": {
"properties": {
"provisioningState": "Succeeded",
"memberSelector": {
"byLabel": "env=production"
},
"status": {
"state": "Connected",
"lastAppliedMemberSelector": {
"byLabel": "env=production"
},
"lastOperationId": "12345678-1234-1234-1234-123456789012"
}
},
"eTag": "\"EtagValue\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/fleets/myFleet/clusterMeshProfiles/clustermeshprofile1",
"name": "clustermeshprofile1",
"type": "Microsoft.ContainerService/fleets/clusterMeshProfiles",
"systemData": {
"createdBy": "someUser",
"createdByType": "User",
"createdAt": "2022-03-23T05:40:40.657Z",
"lastModifiedBy": "someOtherUser",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-03-23T05:40:40.657Z"
}
}
},
"202": {
"headers": {
"Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2026-03-02-preview",
"Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2026-03-02-preview"
}
}
}
}
Loading
Loading