Skip to content

Control Plane - Microsoft.AzurePlaywrightService integration into Microsoft.LoadTestService #33891

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

Merged
merged 68 commits into from
May 26, 2025
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
15a11a9
First commit with existing playwright service apis
mjmadhu Apr 11, 2025
d2781da
Added API specs for new RT - PlaywrightWorkspaces
mjmadhu Apr 11, 2025
195b5cc
Fixing Swagger Avocado CI failure
mjmadhu Apr 11, 2025
d90f656
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 11, 2025
589b277
Fixing Swagger LintDiff and TypeSpec Validation CI failures
mjmadhu Apr 11, 2025
7a663e9
Merge branch 'cp-malt-mpt-integration' of https://github.com/Azure/az…
mjmadhu Apr 11, 2025
82c3750
Added srmresourceidentifier scalar as mentioned in the comment
mjmadhu Apr 14, 2025
88de410
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu Apr 14, 2025
73288d3
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 14, 2025
092f9fa
Minor renaming of file to fix typo error
mjmadhu Apr 14, 2025
602f0a6
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu Apr 15, 2025
6d9fdb1
Removed kind property as not required
mjmadhu Apr 15, 2025
5c53618
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 16, 2025
43c91f1
Added readme files for playwright
mjmadhu Apr 16, 2025
ef5e526
Rectify the path for json files
mjmadhu Apr 16, 2025
d2a233b
Updated package names
mjmadhu Apr 16, 2025
135f1b3
Minor changes
mjmadhu Apr 16, 2025
a502eea
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 17, 2025
e5bf159
Added operations folder
mjmadhu Apr 17, 2025
04cce46
Reorganised resource-manager as per suggested folder structure
mjmadhu Apr 17, 2025
550b28e
Renaming operations folder
mjmadhu Apr 17, 2025
e029a43
Renaming operations folder
mjmadhu Apr 17, 2025
90ef6b9
Minor comment change
mjmadhu Apr 17, 2025
9a319b1
Removed all readme.language.md files as suggested
mjmadhu Apr 17, 2025
1ae2796
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 17, 2025
16251b4
Suggested changes
mjmadhu Apr 18, 2025
af9c23d
Regenerated loadtest swagger files from tsp
mjmadhu Apr 18, 2025
b240ff7
Merge branch 'cp-malt-mpt-integration' of https://github.com/Azure/az…
mjmadhu Apr 18, 2025
22d9452
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 18, 2025
9f5470d
Removed sdk gen references from readme.md
mjmadhu Apr 18, 2025
0ee9aa9
Merge branch 'cp-malt-mpt-integration' of https://github.com/Azure/az…
mjmadhu Apr 18, 2025
a93b46b
Deleted shared folder as suggested
mjmadhu Apr 18, 2025
c19c09d
Added newline in tspconfig.yaml
mjmadhu Apr 18, 2025
5708f03
Trying to fix tspconfig formatting failure
mjmadhu Apr 18, 2025
aaa667e
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 18, 2025
bd47b50
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 22, 2025
96f7799
Feedback comments done
mjmadhu Apr 23, 2025
e675776
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu Apr 28, 2025
f6b4156
Removed deprecated api-versions from loadtesting
mjmadhu Apr 28, 2025
0297b95
Added sdk configs in tspconfig.yaml
mjmadhu Apr 28, 2025
168d960
Suppressions for old loadtesting files for swagger-lintdiff
mjmadhu Apr 28, 2025
4a86e20
Added suppressionf for swagger lintdiff in existing files
mjmadhu Apr 28, 2025
41e5e7d
Added suppressionf for swagger lintdiff in existing files
mjmadhu Apr 28, 2025
85a0ca2
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu Apr 28, 2025
468d60e
As per review comment
mjmadhu Apr 29, 2025
f9d7940
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu Apr 29, 2025
66ceb0e
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 13, 2025
1c9d50a
Added Playwright Quota Resource
mjmadhu May 14, 2025
c95def9
Swagger LintDiff CI Fix
mjmadhu May 14, 2025
d09a611
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu May 14, 2025
1820bde
Minor data0type change
mjmadhu May 14, 2025
1f3c6c2
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu May 19, 2025
0e224d3
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu May 19, 2025
6b39503
TSV fix as per error
mjmadhu May 19, 2025
1b0de70
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 19, 2025
379b6e0
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 19, 2025
87653fb
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 20, 2025
6ec3357
Removed the suppressions
mjmadhu May 20, 2025
a0571d4
Overidden tracked operations for swagger lintdiff errors
mjmadhu May 20, 2025
925fa7e
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 20, 2025
87c90a4
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu May 21, 2025
c088103
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 21, 2025
82d8515
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 22, 2025
1b257e2
Merge branch 'main' into cp-malt-mpt-integration
qiaozha May 22, 2025
fb57d9f
Merge branch 'main' into cp-malt-mpt-integration
kazrael2119 May 23, 2025
3c1175c
Merge branch 'main' into cp-malt-mpt-integration
mjmadhu May 23, 2025
f2b2066
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
mjmadhu May 26, 2025
dbdd52c
Feedback comment python sdk
mjmadhu May 26, 2025
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
Expand Up @@ -8,14 +8,18 @@ parameters:
default: "sdk/loadtesting"
"service-directory-name":
default: "loadtestservice"
"provider-name":
default: "Microsoft.LoadTestService"
"service-name":
default: "loadtesting"
options:
"@azure-tools/typespec-autorest":
azure-resource-provider-folder: "resource-manager"
emit-common-types-schema: "never"
# `arm-resource-flattening` is only used for back-compat for specs existed on July 2024. All new service spec should NOT use this flag
arm-resource-flattening: true
emitter-output-dir: "{project-root}/.."
output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/loadtestservice.json"
output-file: "{azure-resource-provider-folder}/{provider-name}/{service-name}/{version-status}/{version}/loadtestservice.json"
omit-unreachable-types: true
use-read-only-status-schema: true
"@azure-tools/typespec-ts":
Expand All @@ -31,3 +35,23 @@ options:
flavor: "azure"
generate-test: true
generate-sample: true
"@azure-tools/typespec-csharp":
package-dir: "Azure.ResourceManager.LoadTesting"
flavor: azure
clear-output-folder: true
namespace: "{package-dir}"
"@azure-tools/typespec-java":
package-dir: "azure-resourcemanager-loadtesting"
namespace: "com.azure.resourcemanager.loadtesting"
flavor: azure
service-name: Load Test
"@azure-tools/typespec-go":
service-dir: "sdk/resourcemanager/loadtesting"
package-dir: "armloadtesting"
module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}"
fix-const-stuttering: true
flavor: "azure"
generate-samples: true
generate-fakes: true
head-as-boolean: true
inject-spans: true
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{
"title": "Operations_List",
"operationId": "Operations_List",
"parameters": {
"api-version": "2021-12-01-preview"
"api-version": "2025-07-01-preview"
},
"responses": {
"200": {
Expand Down Expand Up @@ -35,9 +37,29 @@
"operation": "Reads the LoadTests",
"description": "Read LoadTests"
}
},
{
"name": "Microsoft.LoadTestService/PlaywrightWorkspaces/Write",
"isDataAction": false,
"display": {
"provider": "Microsoft.LoadTestService",
"resource": "PlaywrightWorkspaces",
"operation": "Creates, updates or deletes Playwright workspace resource",
"description": "Creates, updates or deletes Playwright workspace resource"
}
},
{
"name": "Microsoft.LoadTestService/PlaywrightWorkspaces/Read",
"isDataAction": false,
"display": {
"provider": "Microsoft.LoadTestService",
"resource": "PlaywrightWorkspaces",
"operation": "Reads Playwright workspace resource",
"description": "Reads Playwright workspace resource"
}
}
],
"nextLink": null
"nextLink": "http://nextlink.contoso.com"
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"title": "PlaywrightWorkspaces_CheckNameAvailability",
"operationId": "PlaywrightWorkspaces_CheckNameAvailability",
"parameters": {
"api-version": "2025-07-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"body": {
"name": "dummyName",
"type": "Microsoft.LoadTestService/PlaywrightWorkspaces"
}
},
"responses": {
"200": {
"body": {
"nameAvailable": true,
"message": "Test message."
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{
"title": "PlaywrightWorkspaces_CreateOrUpdate",
"operationId": "PlaywrightWorkspaces_CreateOrUpdate",
"parameters": {
"api-version": "2025-07-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "dummyrg",
"playwrightWorkspaceName": "myWorkspace",
"resource": {
"location": "westus3",
"tags": {
"Team": "Dev Exp"
},
"properties": {
"regionalAffinity": "Enabled",
"localAuth": "Enabled"
}
}
},
"responses": {
"200": {
"body": {
"location": "westus3",
"properties": {
"dataplaneUri": "https://api.dataplane.00000000-0000-0000-0000-000000000000.domain.com",
"regionalAffinity": "Enabled",
"localAuth": "Enabled",
"provisioningState": "Succeeded"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/PlaywrightWorkspaces/myWorkspace",
"name": "myWorkspace",
"type": "Microsoft.LoadTestService/PlaywrightWorkspaces",
"tags": {
"Team": "Dev Exp"
},
"systemData": {
"createdBy": "userId1001",
"createdByType": "User",
"createdAt": "2021-09-28T12:32:33Z",
"lastModifiedBy": "userId1001",
"lastModifiedByType": "User",
"lastModifiedAt": "2021-09-28T12:32:33Z"
}
}
},
"201": {
"headers": {
"Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/locations/westus3/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-07-01-preview"
},
"body": {
"location": "westus3",
"properties": {
"dataplaneUri": "https://api.dataplane.00000000-0000-0000-0000-000000000000.domain.com",
"regionalAffinity": "Enabled",
"localAuth": "Enabled",
"provisioningState": "Succeeded"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/PlaywrightWorkspaces/myWorkspace",
"name": "myWorkspace",
"type": "Microsoft.LoadTestService/PlaywrightWorkspaces",
"tags": {
"Team": "Dev Exp"
},
"systemData": {
"createdBy": "userId1001",
"createdByType": "User",
"createdAt": "2021-09-28T12:32:33Z",
"lastModifiedBy": "userId1001",
"lastModifiedByType": "User",
"lastModifiedAt": "2021-09-28T12:32:33Z"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"title": "PlaywrightWorkspaces_Delete",
"operationId": "PlaywrightWorkspaces_Delete",
"parameters": {
"api-version": "2025-07-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "dummyrg",
"playwrightWorkspaceName": "myWorkspace"
},
"responses": {
"200": {},
"202": {
"headers": {
"Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/locations/westus3/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-07-01-preview"
}
},
"204": {}
}
}
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
{
"title": "PlaywrightWorkspaces_Get",
"operationId": "PlaywrightWorkspaces_Get",
"parameters": {
"api-version": "2021-12-01-preview",
"api-version": "2025-07-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "dummyrg",
"loadTestName": "myLoadTest"
"playwrightWorkspaceName": "myWorkspace"
},
"responses": {
"200": {
"body": {
"location": "westus",
"location": "westus3",
"properties": {
"description": "This is new load test resource",
"dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com",
"dataplaneUri": "https://api.dataplane.00000000-0000-0000-0000-000000000000.domain.com",
"regionalAffinity": "Enabled",
"localAuth": "Enabled",
"provisioningState": "Succeeded"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest",
"name": "myLoadTest",
"type": "Microsoft.LoadTestService/loadTests",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/PlaywrightWorkspaces/myWorkspace",
"name": "myWorkspace",
"type": "Microsoft.LoadTestService/PlaywrightWorkspaces",
"tags": {
"Team": "Dev Exp"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{
"title": "PlaywrightWorkspaces_ListByResourceGroup",
"operationId": "PlaywrightWorkspaces_ListByResourceGroup",
"parameters": {
"api-version": "2022-04-15-preview",
"api-version": "2025-07-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "dummyrg"
},
Expand All @@ -9,15 +11,16 @@
"body": {
"value": [
{
"location": "westus",
"location": "westus3",
"properties": {
"description": "This is new load test resource",
"dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com",
"dataplaneUri": "https://api.dataplane.00000000-0000-0000-0000-000000000000.domain.com",
"regionalAffinity": "Enabled",
"localAuth": "Enabled",
"provisioningState": "Succeeded"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest",
"name": "myLoadTest",
"type": "Microsoft.LoadTestService/loadTests",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/PlaywrightWorkspaces/myWorkspace",
"name": "myWorkspace",
"type": "Microsoft.LoadTestService/PlaywrightWorkspaces",
"tags": {
"Team": "Dev Exp"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
{
"title": "PlaywrightWorkspaces_ListBySubscription",
"operationId": "PlaywrightWorkspaces_ListBySubscription",
"parameters": {
"api-version": "2022-04-15-preview",
"api-version": "2025-07-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000"
},
"responses": {
"200": {
"body": {
"value": [
{
"location": "westus",
"location": "westus3",
"properties": {
"description": "This is new load test resource",
"dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com",
"dataplaneUri": "https://api.dataplane.00000000-0000-0000-0000-000000000000.domain.com",
"regionalAffinity": "Enabled",
"localAuth": "Enabled",
"provisioningState": "Succeeded"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest",
"name": "myLoadTest",
"type": "Microsoft.LoadTestService/loadTests",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/PlaywrightWorkspaces/myWorkspace",
"name": "myWorkspace",
"type": "Microsoft.LoadTestService/PlaywrightWorkspaces",
"tags": {
"Team": "Dev Exp"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,43 +1,38 @@
{
"title": "PlaywrightWorkspaces_Update",
"operationId": "PlaywrightWorkspaces_Update",
"parameters": {
"api-version": "2021-12-01-preview",
"api-version": "2025-07-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "dummyrg",
"loadTestName": "myLoadTest",
"LoadTestResourcePatchRequestBody": {
"playwrightWorkspaceName": "myWorkspace",
"properties": {
"tags": {
"Team": "Dev Exp",
"Division": "LT"
},
"identity": {
"type": "SystemAssigned"
},
"properties": {
"description": "This is new load test resource"
"regionalAffinity": "Disabled"
}
}
},
"responses": {
"200": {
"body": {
"location": "westus",
"location": "westus3",
"properties": {
"description": "This is new load test resource",
"dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com",
"dataplaneUri": "https://api.dataplane.00000000-0000-0000-0000-000000000000.domain.com",
"regionalAffinity": "Disabled",
"localAuth": "Enabled",
"provisioningState": "Succeeded"
},
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest",
"name": "myLoadTest",
"type": "Microsoft.LoadTestService/loadTests",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/PlaywrightWorkspaces/myWorkspace",
"name": "myWorkspace",
"type": "Microsoft.LoadTestService/PlaywrightWorkspaces",
"tags": {
"Team": "Dev Exp",
"Division": "LT"
},
"identity": {
"type": "SystemAssigned",
"principalId": "12345678-1234-1234-1234-123456789012",
"tenantId": "12345678-1234-1234-4321-123456789012"
},
"systemData": {
"createdBy": "userId1001",
"createdByType": "User",
Expand Down
20 changes: 20 additions & 0 deletions specification/loadtestservice/Playwright.Management/main.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import "@typespec/versioning";
import "@azure-tools/typespec-azure-resource-manager";
import "./routes.tsp";

using TypeSpec.Versioning;
using Azure.ResourceManager;

@armProviderNamespace("Microsoft.LoadTestService")
@service(#{ title: "Playwright Service Management API" })
@doc("Playwright service provides access to Playwright workspace resource and it's operations.")
@versioned(Versions)
namespace Playwright.Management;

@doc("Playwright service Management API Versions.")
enum Versions {
/** 2025-07-01-preview version */
@useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1)
@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v6)
v2025_07_01_preview: "2025-07-01-preview",
}
Loading
Loading