diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionExecutionFilters_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionExecutionFilters_Delete.json index feba90ee8948..0c595d3cdb3d 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionExecutionFilters_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionExecutionFilters_Delete.json @@ -9,6 +9,7 @@ "executionFilter": "executionFilter1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionVersions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionVersions_Delete.json index 6aed9a19a8ed..35c42e7ebf93 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionVersions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActionVersions_Delete.json @@ -9,6 +9,7 @@ "version": "version1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActions_Delete.json index c3de07233a8d..05a7663d2d83 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-09-01-preview/EdgeActions_Delete.json @@ -8,6 +8,7 @@ "edgeActionName": "edgeAction1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-03-06-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionExecutionFilters_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionExecutionFilters_Delete.json index 303bae95081c..5ddbbaee0921 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionExecutionFilters_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionExecutionFilters_Delete.json @@ -9,6 +9,7 @@ "executionFilter": "executionFilter1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionVersions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionVersions_Delete.json index 9f703e6a6167..4aea75894627 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionVersions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActionVersions_Delete.json @@ -9,6 +9,7 @@ "version": "version1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActions_Delete.json index 42db6d08fd6c..86a8aedeaaf3 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/examples/2025-12-01-preview/EdgeActions_Delete.json @@ -8,6 +8,7 @@ "edgeActionName": "edgeAction1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-03-06-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/main.tsp b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/main.tsp index ae514cae9fcc..e142a7f72b4b 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/main.tsp +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/main.tsp @@ -86,7 +86,14 @@ interface EdgeActions { get is ArmResourceRead; create is ArmResourceCreateOrUpdateAsync; update is ArmCustomPatchAsync; - delete is ArmResourceDeleteWithoutOkAsync; + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "Service returns 200 for successful delete operations" + delete is ArmResourceDeleteWithoutOkAsync< + EdgeAction, + Azure.ResourceManager.Foundations.BaseParameters, + ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader, + {}, + ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; @@ -116,21 +123,43 @@ interface EdgeActionVersions { EdgeActionVersionProperties > >; - delete is ArmResourceDeleteWithoutOkAsync; + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "Service returns 200 for successful delete operations" + delete is ArmResourceDeleteWithoutOkAsync< + EdgeActionVersion, + Azure.ResourceManager.Foundations.BaseParameters, + ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader, + {}, + ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; listByEdgeAction is ArmResourceListByParent; deployVersionCode is ArmResourceActionAsync< EdgeActionVersion, VersionCode, EdgeActionVersionProperties >; + + /** Get the version code for the edge action version. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "Explicitly set content type for POST operations - expected by service" getVersionCode is ArmResourceActionAsync< EdgeActionVersion, void, - VersionCode + VersionCode, + Parameters = { + /** Content type */ + @header contentType: "application/json"; + } >; - #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "Operation matches 2024 baseline with 200, 202 responses" - swapDefault is ArmResourceActionNoContentAsync; + /** Swap the default version for the edge action. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "Explicitly set content type for POST operations - expected by service" + swapDefault is ArmResourceActionNoContentAsync< + EdgeActionVersion, + void, + Parameters = { + /** Content type */ + @header contentType: "application/json"; + } + >; } @armResourceOperations @@ -144,6 +173,13 @@ interface EdgeActionExecutionFilters { EdgeActionExecutionFilterProperties > >; - delete is ArmResourceDeleteWithoutOkAsync; + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "Service returns 200 for successful delete operations" + delete is ArmResourceDeleteWithoutOkAsync< + EdgeActionExecutionFilter, + Azure.ResourceManager.Foundations.BaseParameters, + ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader, + {}, + ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; listByEdgeAction is ArmResourceListByParent; } diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionExecutionFilters_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionExecutionFilters_Delete.json index feba90ee8948..0c595d3cdb3d 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionExecutionFilters_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionExecutionFilters_Delete.json @@ -9,6 +9,7 @@ "executionFilter": "executionFilter1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionVersions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionVersions_Delete.json index 6aed9a19a8ed..35c42e7ebf93 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionVersions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActionVersions_Delete.json @@ -9,6 +9,7 @@ "version": "version1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActions_Delete.json index c3de07233a8d..05a7663d2d83 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/examples/EdgeActions_Delete.json @@ -8,6 +8,7 @@ "edgeActionName": "edgeAction1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-03-06-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/openapi.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/openapi.json index c646b8fab93d..f054360bdcdf 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/openapi.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-09-01-preview/openapi.json @@ -353,6 +353,9 @@ } ], "responses": { + "200": { + "description": "Resource deleted successfully." + }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -845,6 +848,9 @@ } ], "responses": { + "200": { + "description": "Resource deleted successfully." + }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -1190,6 +1196,9 @@ } ], "responses": { + "200": { + "description": "Resource deleted successfully." + }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -1315,7 +1324,7 @@ "tags": [ "EdgeActionVersions" ], - "description": "A long-running resource action.", + "description": "Get the version code for the edge action version.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -1390,7 +1399,7 @@ "tags": [ "EdgeActionVersions" ], - "description": "A long-running resource action.", + "description": "Swap the default version for the edge action.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionExecutionFilters_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionExecutionFilters_Delete.json index 303bae95081c..5ddbbaee0921 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionExecutionFilters_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionExecutionFilters_Delete.json @@ -9,6 +9,7 @@ "executionFilter": "executionFilter1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionVersions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionVersions_Delete.json index 9f703e6a6167..4aea75894627 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionVersions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActionVersions_Delete.json @@ -9,6 +9,7 @@ "version": "version1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-09-01-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActions_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActions_Delete.json index 42db6d08fd6c..86a8aedeaaf3 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActions_Delete.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/examples/EdgeActions_Delete.json @@ -8,6 +8,7 @@ "edgeActionName": "edgeAction1" }, "responses": { + "200": {}, "202": { "headers": { "location": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-03-06-preview" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/openapi.json b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/openapi.json index e9d0bfdcaa74..d7ef8243a1f8 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/openapi.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/preview/2025-12-01-preview/openapi.json @@ -353,6 +353,9 @@ } ], "responses": { + "200": { + "description": "Resource deleted successfully." + }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -698,6 +701,9 @@ } ], "responses": { + "200": { + "description": "Resource deleted successfully." + }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -1043,6 +1049,9 @@ } ], "responses": { + "200": { + "description": "Resource deleted successfully." + }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -1168,7 +1177,7 @@ "tags": [ "EdgeActionVersions" ], - "description": "A long-running resource action.", + "description": "Get the version code for the edge action version.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -1243,7 +1252,7 @@ "tags": [ "EdgeActionVersions" ], - "description": "A long-running resource action.", + "description": "Swap the default version for the edge action.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/readme.md b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/readme.md index 4357f3d3a24e..ea18749a0131 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/readme.md +++ b/specification/cdn/resource-manager/Microsoft.Cdn/EdgeActions/readme.md @@ -53,6 +53,16 @@ suppressions: where: - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}/versions/{version}/swapDefault"].post reason: Preexisting LRO pattern (200,202) retained for backward compatibility with 2024-07-22-preview. + # Delete operations return 200 for synchronous completion in addition to 202/204 for LRO pattern. + - code: DeleteResponseCodes + where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}"].delete + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}/versions/{version}"].delete + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}/executionFilters/{executionFilter}"].delete + reason: >- + EdgeActions RP currently implements synchronous delete (returns 200). Adding 200 to the spec + enables SDK generation to accept 200 as a valid response. Transitioning to async delete (202) + while maintaining backward compatibility with existing clients from 2024-07-22-preview. ``` ### Tag: package-2025-09-01-preview @@ -78,6 +88,16 @@ suppressions: - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}/deleteAttachment"].post - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}/versions/{version}/swapDefault"].post reason: Preexisting LRO pattern (200,202) retained for backward compatibility with 2024-07-22-preview. + # Delete operations return 200 for synchronous completion in addition to 202/204 for LRO pattern. + - code: DeleteResponseCodes + where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}"].delete + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}/versions/{version}"].delete + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/edgeActions/{edgeActionName}/executionFilters/{executionFilter}"].delete + reason: >- + EdgeActions RP currently implements synchronous delete (returns 200). Adding 200 to the spec + enables SDK generation to accept 200 as a valid response. Transitioning to async delete (202) + while maintaining backward compatibility with existing clients from 2024-07-22-preview. ``` ---