diff --git a/.github/package-lock.json b/.github/package-lock.json index cb3f07c5bc4e..3d9f34599296 100644 --- a/.github/package-lock.json +++ b/.github/package-lock.json @@ -2854,9 +2854,9 @@ } }, "node_modules/globals": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", - "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", + "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", "dev": true, "license": "MIT", "engines": { diff --git a/.github/shared/package-lock.json b/.github/shared/package-lock.json index 4197f75611a6..3bdc4f4777c1 100644 --- a/.github/shared/package-lock.json +++ b/.github/shared/package-lock.json @@ -37,9 +37,9 @@ } }, "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.3.1.tgz", - "integrity": "sha512-FIweGOR9zrNuskfDXn8dfsA4eJEe8LmmGsGSDikEZvgYm36SO36yMhasXSOX7/OTGZ3b7I9iPhOxB24D8xL5uQ==", + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-15.2.2.tgz", + "integrity": "sha512-54fvjSwWiBTdVviiUItOCeyxtPSBmCrSEjlOl8XFEDuYD3lXY1lOBWKim/WJ3i1EYzdGx6rSOjK5KRDMppLI4Q==", "license": "MIT", "dependencies": { "js-yaml": "^4.1.1" @@ -2109,9 +2109,9 @@ } }, "node_modules/globals": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", - "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", + "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", "dev": true, "license": "MIT", "engines": { diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/StaticSitesAsyncOperations.tsp b/specification/web/resource-manager/Microsoft.Web/AppService/StaticSitesAsyncOperations.tsp new file mode 100644 index 000000000000..fd4efd9e400c --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/AppService/StaticSitesAsyncOperations.tsp @@ -0,0 +1,67 @@ +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "./models.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using TypeSpec.Versioning; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.Web; + +/** + * Static Sites async operation status and result resource operations. + */ +@armResourceOperations +@added(Versions.v2026_03_15) +interface StaticSitesAsyncOperations { + /** + * Gets the status of a static site async operation. + */ + @autoRoute + @summary("Gets the status of a static site async operation.") + getOperationStatus( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + + /** + * The provider namespace (this parameter will not show up in operations). + */ + @path + @segment("providers") + provider: "Microsoft.Web", + + ...LocationResourceParameter, + ...Foundations.OperationIdParameter, + ): ArmResponse | DefaultErrorResponse; + + /** + * Gets the result of a static site async operation. + */ + @autoRoute + @summary("Gets the result of a static site async operation.") + getOperationResult( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + + /** + * The provider namespace (this parameter will not show up in operations). + */ + @path + @segment("providers") + provider: "Microsoft.Web", + + ...LocationResourceParameter, + ...Foundations.OperationIdParameter, + ): ArmResponse | ArmAcceptedLroResponse | DefaultErrorResponse; +} + +@@segment(StaticSitesAsyncOperations.getOperationStatus::parameters.operationId, + "staticSitesOperationStatuses" +); +@@segment(StaticSitesAsyncOperations.getOperationResult::parameters.operationId, + "staticSitesOperationResults" +); diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/examples/2026-03-15/GetStaticSiteOperationResult.json b/specification/web/resource-manager/Microsoft.Web/AppService/examples/2026-03-15/GetStaticSiteOperationResult.json new file mode 100644 index 000000000000..e54c0e9d2e17 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/AppService/examples/2026-03-15/GetStaticSiteOperationResult.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "operationId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "api-version": "2026-03-15", + "location": "West US", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/West%20US/staticSitesOperationResults/34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "name": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "type": "Microsoft.Web/locations/staticSitesOperationResults" + } + }, + "202": { + "headers": { + "Location": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/West%20US/staticSiteOperationStatuses/34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "Retry-After": 10 + } + } + }, + "operationId": "StaticSitesAsyncOperations_GetOperationResult", + "title": "Gets the result of a static site async operation" +} diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/examples/2026-03-15/GetStaticSiteOperationStatus.json b/specification/web/resource-manager/Microsoft.Web/AppService/examples/2026-03-15/GetStaticSiteOperationStatus.json new file mode 100644 index 000000000000..5304cfbec28b --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/AppService/examples/2026-03-15/GetStaticSiteOperationStatus.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "operationId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "api-version": "2026-03-15", + "location": "West US", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/West%20US/staticSiteOperationStatuses/34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "type": "Microsoft.Web/locations/staticSiteOperationStatuses", + "name": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "properties": { + "status": "Succeeded", + "startTime": "2026-03-04T10:00:00Z", + "endTime": "2026-03-04T10:05:00Z", + "staticSiteProperties": { + "allowConfigFileUpdates": true, + "branch": "demo", + "contentDistributionEndpoint": "", + "customDomains": [], + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "keyVaultReferenceIdentity": "SystemAssigned", + "linkedBackends": [], + "privateEndpointConnections": [], + "repositoryUrl": "https://github.com/username/repo", + "stagingEnvironmentPolicy": "Enabled" + } + } + } + } + }, + "operationId": "StaticSitesAsyncOperations_GetOperationStatus", + "title": "Gets the status of a static site async operation" +} diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/main.tsp b/specification/web/resource-manager/Microsoft.Web/AppService/main.tsp index 9116bdc92ce3..007279dead6a 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/main.tsp +++ b/specification/web/resource-manager/Microsoft.Web/AppService/main.tsp @@ -43,6 +43,7 @@ import "./StaticSiteUserProvidedFunctionAppARMResource.tsp"; import "./StaticSiteBasicAuthPropertiesARMResource.tsp"; import "./StaticSiteCustomDomainOverviewARMResource.tsp"; import "./StaticSiteLinkedBackendARMResource.tsp"; +import "./StaticSitesAsyncOperations.tsp"; import "./Site.tsp"; import "./AIGateway.tsp"; import "./BackupItem.tsp"; diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/models.tsp b/specification/web/resource-manager/Microsoft.Web/AppService/models.tsp index 6e6fdee97e13..e3e3d4ba0531 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/models.tsp +++ b/specification/web/resource-manager/Microsoft.Web/AppService/models.tsp @@ -1,11 +1,13 @@ import "@typespec/versioning"; import "@typespec/rest"; import "@typespec/http"; +import "@typespec/openapi"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; using TypeSpec.Rest; using TypeSpec.Http; +using TypeSpec.OpenAPI; using Azure.ResourceManager; using Azure.ResourceManager.Foundations; using Azure.Core; @@ -8460,7 +8462,9 @@ model StaticSite { /** * A user's github repository token. This is used to setup the Github Actions workflow file and API secrets. */ - #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "Using x-ms-secret without format:password to match existing swagger." + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "Using x-ms-secret extension directly to avoid format:password from @secret." + @extension("x-ms-secret", true) repositoryToken?: string; /** @@ -16245,3 +16249,62 @@ model StorageMount { */ credentialsKeyVaultReference?: KeyVaultReferenceWithStatus; } + +/** + * Properties of a static sites asynchronous operation status. + */ +model StaticSitesOperationStatusProperties { + /** + * The current status of the asynchronous operation performed. For example, Running, Succeeded, Failed + */ + @visibility(Lifecycle.Read) + status?: string; + + /** + * The start time of the asynchronous operation. + */ + startTime?: string; + + /** + * The end time of the asynchronous operation. + */ + endTime?: string; + + /** + * The generic properties of a staticSite. + */ + staticSiteProperties?: StaticSite; + + /** + * Error details for the asynchronous operation, if any. + */ + error?: ErrorResponse; +} + +/** + * Status object for a static sites asynchronous operation. + */ +model StaticSitesOperationStatus { + /** + * The fully qualified ID for the staticSitesOperationStatus. For example, /subscriptions/{subscriptionId}/providers/Microsoft.Web/staticSitesOperationStatuses/{operationId} + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * The type of the resource. For example, Microsoft.Web/staticSitesOperationStatuses + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * The name of the staticSitesOperationStatus. For example, a1f6e015-a5de-468f-ad54-9c75638d7134 + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Properties of the async operation status. + */ + properties?: StaticSitesOperationStatusProperties; +} diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/preview/2026-03-01-preview/openapi.json b/specification/web/resource-manager/Microsoft.Web/AppService/preview/2026-03-01-preview/openapi.json index 8a390566f940..3e1848ea5eb0 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/preview/2026-03-01-preview/openapi.json +++ b/specification/web/resource-manager/Microsoft.Web/AppService/preview/2026-03-01-preview/openapi.json @@ -54231,7 +54231,8 @@ }, "repositoryToken": { "type": "string", - "description": "A user's github repository token. This is used to setup the Github Actions workflow file and API secrets." + "description": "A user's github repository token. This is used to setup the Github Actions workflow file and API secrets.", + "x-ms-secret": true }, "buildProperties": { "$ref": "#/definitions/StaticSiteBuildProperties", diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/routes.tsp b/specification/web/resource-manager/Microsoft.Web/AppService/routes.tsp index 5000cf651e75..fa558cf31856 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/routes.tsp +++ b/specification/web/resource-manager/Microsoft.Web/AppService/routes.tsp @@ -2,12 +2,14 @@ import "@azure-tools/typespec-azure-core"; import "@typespec/rest"; +import "@typespec/versioning"; import "./models.tsp"; import "@azure-tools/typespec-azure-resource-manager"; import "@typespec/openapi"; using TypeSpec.Rest; using TypeSpec.Http; +using TypeSpec.Versioning; using Azure.ResourceManager; using TypeSpec.OpenAPI; diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-03-01/openapi.json b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-03-01/openapi.json index d538e45fcefa..fe6516109103 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-03-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-03-01/openapi.json @@ -53818,7 +53818,8 @@ }, "repositoryToken": { "type": "string", - "description": "A user's github repository token. This is used to setup the Github Actions workflow file and API secrets." + "description": "A user's github repository token. This is used to setup the Github Actions workflow file and API secrets.", + "x-ms-secret": true }, "buildProperties": { "$ref": "#/definitions/StaticSiteBuildProperties", diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-05-01/openapi.json b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-05-01/openapi.json index 8e2df5dd2b5a..9eeec045d46f 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-05-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2025-05-01/openapi.json @@ -53856,7 +53856,8 @@ }, "repositoryToken": { "type": "string", - "description": "A user's github repository token. This is used to setup the Github Actions workflow file and API secrets." + "description": "A user's github repository token. This is used to setup the Github Actions workflow file and API secrets.", + "x-ms-secret": true }, "buildProperties": { "$ref": "#/definitions/StaticSiteBuildProperties", diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperation.json b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperation.json new file mode 100644 index 000000000000..9bf4a079106c --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperation.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "operationId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "api-version": "2026-03-15", + "location": "West US", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "204": {} + }, + "operationId": "StaticSitesOperationsInterface_GetStaticSiteOperation", + "title": "Gets the status of a static site async operation" +} diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperationResult.json b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperationResult.json new file mode 100644 index 000000000000..e54c0e9d2e17 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperationResult.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "operationId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "api-version": "2026-03-15", + "location": "West US", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/West%20US/staticSitesOperationResults/34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "name": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "type": "Microsoft.Web/locations/staticSitesOperationResults" + } + }, + "202": { + "headers": { + "Location": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/West%20US/staticSiteOperationStatuses/34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "Retry-After": 10 + } + } + }, + "operationId": "StaticSitesAsyncOperations_GetOperationResult", + "title": "Gets the result of a static site async operation" +} diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperationStatus.json b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperationStatus.json new file mode 100644 index 000000000000..5304cfbec28b --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/examples/GetStaticSiteOperationStatus.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "operationId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "api-version": "2026-03-15", + "location": "West US", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/West%20US/staticSiteOperationStatuses/34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "type": "Microsoft.Web/locations/staticSiteOperationStatuses", + "name": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab5d5", + "properties": { + "status": "Succeeded", + "startTime": "2026-03-04T10:00:00Z", + "endTime": "2026-03-04T10:05:00Z", + "staticSiteProperties": { + "allowConfigFileUpdates": true, + "branch": "demo", + "contentDistributionEndpoint": "", + "customDomains": [], + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "keyVaultReferenceIdentity": "SystemAssigned", + "linkedBackends": [], + "privateEndpointConnections": [], + "repositoryUrl": "https://github.com/username/repo", + "stagingEnvironmentPolicy": "Enabled" + } + } + } + } + }, + "operationId": "StaticSitesAsyncOperations_GetOperationStatus", + "title": "Gets the status of a static site async operation" +} diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/openapi.json b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/openapi.json index e8b018413b44..cdee74d9756c 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/openapi.json +++ b/specification/web/resource-manager/Microsoft.Web/AppService/stable/2026-03-15/openapi.json @@ -206,6 +206,9 @@ { "name": "StaticSiteLinkedBackendARMResourceOperationGroup" }, + { + "name": "StaticSitesAsyncOperations" + }, { "name": "AiGateways" }, @@ -1963,6 +1966,106 @@ } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/staticSitesOperationResults/{operationId}": { + "get": { + "operationId": "StaticSitesAsyncOperations_GetOperationResult", + "tags": [ + "StaticSitesAsyncOperations" + ], + "summary": "Gets the result of a static site async operation.", + "description": "Gets the result of a static site async operation.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/OperationIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets the result of a static site async operation": { + "$ref": "./examples/GetStaticSiteOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/staticSitesOperationStatuses/{operationId}": { + "get": { + "operationId": "StaticSitesAsyncOperations_GetOperationStatus", + "tags": [ + "StaticSitesAsyncOperations" + ], + "summary": "Gets the status of a static site async operation.", + "description": "Gets the status of a static site async operation.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/OperationIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/StaticSitesOperationStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets the status of a static site async operation": { + "$ref": "./examples/GetStaticSiteOperationStatus.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/usages": { "get": { "operationId": "GetUsagesInLocation_list", @@ -55575,6 +55678,58 @@ } ] }, + "StaticSitesOperationStatus": { + "type": "object", + "description": "Status object for a static sites asynchronous operation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the staticSitesOperationStatus. For example, /subscriptions/{subscriptionId}/providers/Microsoft.Web/staticSitesOperationStatuses/{operationId}", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Web/staticSitesOperationStatuses", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the staticSitesOperationStatus. For example, a1f6e015-a5de-468f-ad54-9c75638d7134", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/StaticSitesOperationStatusProperties", + "description": "Properties of the async operation status." + } + } + }, + "StaticSitesOperationStatusProperties": { + "type": "object", + "description": "Properties of a static sites asynchronous operation status.", + "properties": { + "status": { + "type": "string", + "description": "The current status of the asynchronous operation performed. For example, Running, Succeeded, Failed", + "readOnly": true + }, + "startTime": { + "type": "string", + "description": "The start time of the asynchronous operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the asynchronous operation." + }, + "staticSiteProperties": { + "$ref": "#/definitions/StaticSite", + "description": "The generic properties of a staticSite." + }, + "error": { + "$ref": "#/definitions/ErrorResponse", + "description": "Error details for the asynchronous operation, if any." + } + } + }, "StaticSitesWorkflowPreview": { "type": "object", "description": "Preview for the Static Site Workflow to be generated",