Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
2d4bee0
Add TypeSpec versioning decorators for ContainerApps 2026-01-01 stable
Apr 21, 2026
e66665f
Regenerate TypeSpec output for ContainerApps
Apr 24, 2026
ef62331
Add openapi.json to readme.md for avocado validation
Apr 24, 2026
a9b9926
Remove duplicate openapi.json from stable/2026-01-01 to fix avocado
Apr 24, 2026
b609250
Remove @removed properties from 2026-01-01 stable example files
Apr 24, 2026
5d3c569
Fix remaining OBJECT_ADDITIONAL_PROPERTIES model validation errors
Apr 24, 2026
b1f7b03
Remove SpringCloudGateway entry from JavaComponents_List example
Apr 24, 2026
f0dfa9e
Regenerate tsp compile output and add avocado suppression for openapi…
Apr 27, 2026
c0e9c6e
Remove preview-only properties from 2026-01-01 source and stable exam…
Apr 27, 2026
62b4ae3
Remove named scalar types to avoid breaking changes in preview swagger
Apr 27, 2026
39910a2
Remove properties not in stable 2026-01-01 swagger schema from examples
Apr 28, 2026
7e0fb5a
Fix tsp format: remove extra blank line in models.tsp
May 7, 2026
b1953a8
Remove split swagger files, update readme.md to reference openapi.json
May 11, 2026
1205a2b
Remove preview-only properties from stable swagger via @added/@remove…
May 12, 2026
2c794f2
Fix TypeSpec swagger fidelity: replace @secret with x-ms-secret exten…
May 15, 2026
d03c8ad
Add lint suppressions for consolidated openapi.json in stable 2026-01-01
May 18, 2026
3f053f8
Fix sasUrlSettingName and remove SourceToCloudApp example from stable
May 18, 2026
df7372d
Apply tsp format to all TypeSpec files
May 18, 2026
214454e
Fix TypeSpec breaking changes for 2026-01-01 stable swagger
May 19, 2026
d630738
Fix model validation: change rows type to accept array items
May 19, 2026
7af3909
Fix stable 2026-01-01 breaking changes in TypeSpec conversion
May 19, 2026
ca37715
Fix TypeSpec formatting in HttpRouteConfig.tsp
May 19, 2026
27b33f5
Fix 1021 AddedAdditionalProperties: JobScaleRule.metadata use empty m…
May 19, 2026
1fc4730
Fix 1044 XmsLongRunningOperationChanged: add LRO extension to HttpRou…
May 19, 2026
0ff56c6
Add suppress for no-openapi rule on LRO extension
May 19, 2026
4780321
Fix tsmv errors: summaries, LRO final state, remove duplicate summary
May 20, 2026
4555ce6
Fix TypeSpec to eliminate all structural preview breaking changes
May 20, 2026
b03f924
Fix stable 2026-01-01 breaking changes (1004, 1014, 1020)
May 20, 2026
eeb0a5a
Remove @operationId from ConnectedEnvironments updateStable
May 20, 2026
0deb99a
Remove @operationId from HttpRouteConfig deleteStable
May 20, 2026
9bd3dbd
Remove @@doc augments that impact both versions
May 20, 2026
a9fa611
Remove @operationId from version-split ops, use @@clientLocation instead
May 20, 2026
8b7e14c
Add example files for version-split operations with updated operationIds
May 20, 2026
a93ff71
Fix example parameter name for MaintenanceConfigurations_CreateOrUpda…
May 20, 2026
7dc8659
Apply tsp format to fix prettier/formatting check
May 20, 2026
8b260b7
Fix prettier formatting on new example files (trailing newline)
May 21, 2026
3abb9a6
Remove @extension decorators from stable-only code
May 21, 2026
73ff9d6
Replace @extension("format","uri") with @format("uri") in LegacyPage …
May 21, 2026
7d1c847
Remove @extension("x-ms-enum") from single-literal properties
May 21, 2026
58aaac4
Remove @added(Versions.v2025_10_02_preview) and LegacyPage models
May 21, 2026
d2f5d4b
Replace @extension("x-ms-secret",true) + @extension("format","passwor…
May 21, 2026
37efe0c
Remove @extension("format","uri"), orphaned suppressions, and use @se…
May 21, 2026
16e25d3
Fix LogicApps_Invoke response schema - use named model instead of unk…
May 21, 2026
8c0a9f0
Revert "Fix LogicApps_Invoke response schema - use named model instea…
May 21, 2026
06206b3
Restore Object model and ArmResponse<Object> for LogicApps_Invoke
May 21, 2026
17e3693
Remove version-splits: unify operations to ARM-correct patterns
May 21, 2026
42478cb
Fix HttpRouteConfig_Delete summary to match original swagger
May 21, 2026
e08d54d
Fix LogicApps_CreateOrUpdate body to be optional (matching original s…
May 21, 2026
7eac7d2
Fix SessionPool lifecycle enum: stable 2 values, preview 4 values
May 21, 2026
d2dc7d0
Fix ExtendedLocationType: stable uses singular name, preview keeps pl…
May 22, 2026
6673896
Add @secret to RegistryInfo.registryPassword for x-ms-secret:true
May 22, 2026
2f76edc
Fix HttpRouteConfig: use LegacyOps for delete/update to include envir…
May 22, 2026
1a21843
Merge branch 'main' into containerapps/2026-01-01-typespec-versioning
msyyc May 22, 2026
5f9aee5
Fix ExtendedLocation.type to use ExtendedLocationTypes and certificat…
May 22, 2026
f9bc7a1
Update readme.md suppressions for package-2026-01-01
May 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Configuration to setup App Resiliency
*/
@removed(Versions.v2026_01_01)
model AppResiliency
is Azure.ResourceManager.ProxyResource<AppResiliencyProperties> {
...ResourceNameParameter<
Expand Down Expand Up @@ -48,6 +50,7 @@ alias AppResiliencyOps = Azure.ResourceManager.Legacy.LegacyOperations<
ErrorType = DefaultErrorResponse
>;

@removed(Versions.v2026_01_01)
@armResourceOperations
@tag("AppResiliency")
interface AppResiliencies {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Information pertaining to an individual build.
*/
@removed(Versions.v2026_01_01)
@parentResource(BuilderResource)
model BuildResource is Azure.ResourceManager.ProxyResource<BuildProperties> {
...ResourceNameParameter<
Expand All @@ -24,6 +26,7 @@ model BuildResource is Azure.ResourceManager.ProxyResource<BuildProperties> {
>;
}

@removed(Versions.v2026_01_01)
@armResourceOperations
interface Builds {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Information about the SourceToCloud builder resource.
*/
@removed(Versions.v2026_01_01)
model BuilderResource
is Azure.ResourceManager.TrackedResource<BuilderProperties> {
...ResourceNameParameter<
Expand All @@ -24,6 +26,7 @@ model BuilderResource
...Azure.ResourceManager.ManagedServiceIdentityProperty;
}

@removed(Versions.v2026_01_01)
@armResourceOperations
interface Builders {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "@typespec/versioning";
import "./models.tsp";

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

namespace Microsoft.App;
/**
Expand Down Expand Up @@ -52,7 +54,6 @@ interface ConnectedEnvironments {
update is Azure.ResourceManager.Legacy.CustomPatchSync<
ConnectedEnvironment,
PatchModel = ConnectedEnvironmentPatchResource,
OptionalRequestBody = true,
Error = DefaultErrorResponse
>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Information pertaining to an individual build.
*/
@removed(Versions.v2026_01_01)
@parentResource(ContainerApp)
model ContainerAppsBuildResource
is Azure.ResourceManager.ProxyResource<ContainerAppsBuildProperties> {
Expand Down Expand Up @@ -51,6 +53,7 @@ alias ContainerAppsBuildResourceOps = Azure.ResourceManager.Legacy.LegacyOperati
}
>;

@removed(Versions.v2026_01_01)
@armResourceOperations
interface ContainerAppsBuilds {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Container App Function.
*/
@removed(Versions.v2026_01_01)
@parentResource(Revision)
model ContainerAppsFunction
is Azure.ResourceManager.ProxyResource<ContainerAppsFunctionProperties> {
Expand Down Expand Up @@ -82,6 +84,7 @@ alias ContainerAppsFunctionOperationGroupOps = Azure.ResourceManager.Legacy.Lega
ErrorType = DefaultErrorResponse
>;

@removed(Versions.v2026_01_01)
@armResourceOperations
@tag("AzureFunctionsOnContainerApps")
interface ContainerAppsFunctions {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Container App Patch
*/
@removed(Versions.v2026_01_01)
@parentResource(ContainerApp)
model ContainerAppsPatchResource
is Azure.ResourceManager.ProxyResource<PatchProperties> {
Expand Down Expand Up @@ -51,6 +53,7 @@ alias ContainerAppsPatchesOps = Azure.ResourceManager.Legacy.LegacyOperations<
}
>;

@removed(Versions.v2026_01_01)
@armResourceOperations
interface ContainerAppsPatches {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
Expand Down Expand Up @@ -41,14 +42,15 @@ interface ContainerAppsSessionPools {
/**
* Patches a session pool using JSON merge patch
*/
#suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@patch(#{ implicitOptionality: false })
@summary("Update properties of a session pool")
update is ArmCustomPatchAsync<
SessionPool,
PatchModel = SessionPoolUpdatableProperties,
LroHeaders = ArmAsyncOperationHeader<FinalResult = SessionPool> &
Azure.Core.Foundations.RetryAfterHeader
Azure.Core.Foundations.RetryAfterHeader & {
@header("Location") location?: string;
}
>;

/**
Expand Down Expand Up @@ -79,6 +81,7 @@ interface ContainerAppsSessionPools {
* Fetch the MCP server credentials of a session pool.
*/
@summary("Fetch the MCP server credentials of a session pool.")
@removed(Versions.v2026_01_01)
fetchMcpServerCredentials is ArmResourceActionSync<
SessionPool,
void,
Expand All @@ -89,6 +92,7 @@ interface ContainerAppsSessionPools {
* Rotate and fetch the rotated MCP server credentials of a session pool.
*/
@summary("Rotate and fetch the rotated MCP server credentials of a session pool.")
@removed(Versions.v2026_01_01)
rotateMcpServerCredentials is ArmResourceActionSync<
SessionPool,
void,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Dapr Component Resiliency Policy.
*/
@removed(Versions.v2026_01_01)
@parentResource(DaprComponent)
model DaprComponentResiliencyPolicy
is Azure.ResourceManager.ProxyResource<DaprComponentResiliencyPolicyProperties> {
Expand Down Expand Up @@ -56,6 +58,7 @@ alias DaprComponentResiliencyPolicyOps = Azure.ResourceManager.Legacy.LegacyOper
ErrorType = DefaultErrorResponse
>;

@removed(Versions.v2026_01_01)
@armResourceOperations
interface DaprComponentResiliencyPolicies {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* Dapr PubSub Event Subscription.
*/
@removed(Versions.v2026_01_01)
@parentResource(ManagedEnvironment)
model DaprSubscription
is Azure.ResourceManager.ProxyResource<DaprSubscriptionProperties> {
Expand Down Expand Up @@ -49,6 +51,7 @@ alias DaprSubscriptionOps = Azure.ResourceManager.Legacy.LegacyOperations<
ErrorType = DefaultErrorResponse
>;

@removed(Versions.v2026_01_01)
@armResourceOperations
interface DaprSubscriptions {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
* .NET Component.
*/
@removed(Versions.v2026_01_01)
@parentResource(ManagedEnvironment)
model DotNetComponent
is Azure.ResourceManager.ProxyResource<DotNetComponentProperties> {
Expand Down Expand Up @@ -48,6 +50,7 @@ alias DotNetComponentOps = Azure.ResourceManager.Legacy.LegacyOperations<
}
>;

@removed(Versions.v2026_01_01)
@armResourceOperations
interface DotNetComponents {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,20 @@ import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "@typespec/versioning";
import "./models.tsp";
import "./ManagedEnvironment.tsp";

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

namespace Microsoft.App;

/**
* Advanced Ingress routing for path/header based routing for a Container App Environment
* A set of host names and http request routing rules for a Container App Environment
*/
@parentResource(ManagedEnvironment)
model HttpRouteConfig
Expand Down Expand Up @@ -58,14 +61,13 @@ interface HttpRouteConfigs {
/**
* Get the specified Managed Http Route Config.
*/
@summary("Get the specified Managed Http Route Config.")
@summary("Get the specified Http Route Config.")
get is HttpRouteConfigOps.Read<HttpRouteConfig>;

/**
* Create or Update a Http Route Config.
*/
@summary("Create or Update a Http Route Config.")
@summary("Update tags of a manged http route object")
createOrUpdate is HttpRouteConfigOps.CreateOrUpdateSync<
HttpRouteConfig,
OptionalRequestBody = true
Expand All @@ -75,7 +77,7 @@ interface HttpRouteConfigs {
* Patches an http route config resource. Only patching of tags is supported
*/
@patch(#{ implicitOptionality: false })
@summary("Update tags of a manged http route object")
@summary("Update tags of a Http Route Config object")
update is ArmCustomPatchSync<
HttpRouteConfig,
PatchModel = HttpRouteConfig,
Expand All @@ -85,13 +87,13 @@ interface HttpRouteConfigs {
/**
* Deletes the specified Managed Http Route.
*/
@summary("Deletes the specified Managed Http Route.")
@summary("Deletes the specified Http Route Config.")
delete is ArmResourceDeleteWithoutOkAsync<HttpRouteConfig>;

/**
* Get the Managed Http Routes in a given managed environment.
*/
@summary("Get the Managed Http Routes in a given managed environment.")
@summary("List the Http Route Configs in a given managed environment.")
list is HttpRouteConfigOps.List<
HttpRouteConfig,
Response = ArmResponse<HttpRouteConfigCollection>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ interface JavaComponents {
/**
* Delete a Java Component.
*/
@summary("Delete a Java Component.")
@summary("Delete.")
delete is JavaComponentOps.DeleteWithoutOkAsync<JavaComponent>;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ using Azure.ResourceManager;
using Azure.ResourceManager.Foundations;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.App;
/**
Expand All @@ -26,6 +27,7 @@ model Job is Azure.ResourceManager.TrackedResource<JobProperties> {
* The complex type of the extended location.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@removed(Versions.v2026_01_01)
extendedLocation?: ExtendedLocation;

...Azure.ResourceManager.ManagedServiceIdentityProperty;
Expand Down Expand Up @@ -177,6 +179,7 @@ interface Jobs {
@tag("Jobs")
@summary("Resumes a suspended job")
@Azure.Core.useFinalStateVia("azure-async-operation")
@removed(Versions.v2026_01_01)
resume is ArmResourceActionAsyncBase<
Job,
void,
Expand All @@ -194,6 +197,7 @@ interface Jobs {
@tag("Jobs")
@summary("Suspends a job")
@Azure.Core.useFinalStateVia("azure-async-operation")
@removed(Versions.v2026_01_01)
suspend is ArmResourceActionAsyncBase<
Job,
void,
Expand Down Expand Up @@ -250,12 +254,23 @@ interface Jobs {
>;

/**
* Get the properties of a Container App Job.
* Get the properties for a given Container App Job.
*/
@tag("Jobs")
@tag("Diagnostics")
@summary("Get the properties for a given Container App Job.")
proxyGet is JobDetectorPropertyOps.Read<Job, Response = ArmResponse<Job>>;
@summary("Get the properties of a Container App Job.")
proxyGet is ArmResourceRead<

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Does this apply to preview version?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is a description/summary-only text change, No structural change., Can apply to preview version

Job,
Parameters = {
/** Proxy API Name for Container App Job. */
@path
@segment("detectorProperties")
@key
@pattern("^[-\\w\\._]+$")
apiName: string;
},
Error = DefaultErrorResponse
>;

/**
* Get the list of diagnostics for a Container App Job.
Expand Down
Loading
Loading