From a1bec27ff5a1773251d3b95151318865d6f8856f Mon Sep 17 00:00:00 2001 From: James Duan Date: Thu, 26 Oct 2023 01:36:40 -0700 Subject: [PATCH] Chaos Microsoft.Chaos 2023-11-01 stable (#26255) * Adds base for updating Microsoft.Chaos from version preview/2023-09-01-preview to version 2023-11-01 * Updates readme * Updates API version in new specs and examples * Updates for experiments for GA (#26179) * Add experiment schema enforced quota limits (#26243) * Add experiment schema enforced quota limits --------- Co-authored-by: Connor Blomquist * Chaos consolidate execution details (#26020) * feat: consolidate execution details api * chore: fix typos and add expand * Chaos swap expand to post (#26271) * chore: remove expand and add execution details to post endpoint * chore: fix comments on PR * update wording on description (#26330) Co-authored-by: James Duan * update details to getExecutionDetails (#26332) Co-authored-by: James Duan * resolve merge conflict with main (#26393) Co-authored-by: James Duan * Jduan/fix merge 2 (#26400) * Revert "resolve merge conflict with main (#26393)" This reverts commit 3d7e4a185c4b26bd75631d234acd080c01378d22. * Merge remote-tracking branch 'origin/main' into jduan/fix-merge-2 # Conflicts: # specification/chaos/resource-manager/readme.md --------- Co-authored-by: James Duan * Revert "Jduan/fix merge 2 (#26400)" This reverts commit be8c3366ec543c7811df0b3ef50f46992fa4e114. * Revert "resolve merge conflict with main (#26393)" This reverts commit 3d7e4a185c4b26bd75631d234acd080c01378d22. * Merge remote-tracking branch 'origin/main' into jduan/fix-merge-3 # Conflicts: # specification/chaos/resource-manager/readme.md * reset readme back to main (#26408) Co-authored-by: James Duan --------- Co-authored-by: Brent Rusinow <44413020+brrusino@users.noreply.github.com> Co-authored-by: Connor Blomquist Co-authored-by: Connor Blomquist Co-authored-by: RenzoPrettoMS <113057297+RenzoPrettoMS@users.noreply.github.com> Co-authored-by: James Duan --- .../stable/2023-11-01/capabilities.json | 262 ++++++ .../stable/2023-11-01/capabilityTypes.json | 131 +++ .../2023-11-01/examples/CancelExperiment.json | 16 + .../examples/CreateUpdateCapability.json | 35 + .../examples/CreateUpdateExperiment.json | 182 ++++ .../examples/CreateUpdateTarget.json | 45 + .../2023-11-01/examples/DeleteCapability.json | 16 + .../2023-11-01/examples/DeleteExperiment.json | 16 + .../2023-11-01/examples/DeleteTarget.json | 15 + .../examples/DetailsExperiment.json | 64 ++ .../2023-11-01/examples/GetCapability.json | 32 + .../examples/GetCapabilityType.json | 30 + .../2023-11-01/examples/GetExperiment.json | 70 ++ .../examples/GetExperimentExecution.json | 24 + .../examples/GetOperationStatus.json | 20 + .../stable/2023-11-01/examples/GetTarget.json | 35 + .../2023-11-01/examples/GetTargetType.json | 28 + .../2023-11-01/examples/ListCapabilities.json | 36 + .../examples/ListCapabilityTypes.json | 34 + .../examples/ListExperimentExecutions.json | 38 + .../ListExperimentsInAResourceGroup.json | 75 ++ .../ListExperimentsInASubscription.json | 74 ++ .../2023-11-01/examples/ListTargetTypes.json | 33 + .../2023-11-01/examples/ListTargets.json | 40 + .../2023-11-01/examples/StartExperiment.json | 16 + .../2023-11-01/examples/UpdateExperiment.json | 84 ++ .../stable/2023-11-01/experiments.json | 547 ++++++++++++ .../stable/2023-11-01/operationStatuses.json | 122 +++ .../stable/2023-11-01/operations.json | 70 ++ .../stable/2023-11-01/targetTypes.json | 125 +++ .../stable/2023-11-01/targets.json | 250 ++++++ .../stable/2023-11-01/types/capabilities.json | 84 ++ .../2023-11-01/types/capabilityTypes.json | 125 +++ .../stable/2023-11-01/types/common.json | 222 +++++ .../stable/2023-11-01/types/experiments.json | 828 ++++++++++++++++++ .../stable/2023-11-01/types/targetTypes.json | 88 ++ .../stable/2023-11-01/types/targets.json | 64 ++ .../chaos/resource-manager/readme.md | 2 +- 38 files changed, 3977 insertions(+), 1 deletion(-) create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilities.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilityTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CancelExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateCapability.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateTarget.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteCapability.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteTarget.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DetailsExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapability.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapabilityType.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperimentExecution.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetOperationStatus.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTarget.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTargetType.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilities.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilityTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentExecutions.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInAResourceGroup.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInASubscription.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargetTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargets.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/StartExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/UpdateExperiment.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/experiments.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operations.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targetTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targets.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilities.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilityTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/common.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/experiments.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targetTypes.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targets.json diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilities.json new file mode 100644 index 000000000000..3b1d565c9eb4 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilities.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities": { + "get": { + "description": "Get a list of Capability resources that extend a Target resource..", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capabilityListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capabilities that extend a virtual machine Target resource.": { + "$ref": "./examples/ListCapabilities.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}": { + "get": { + "description": "Get a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/GetCapability.json" + } + } + }, + "delete": { + "description": "Delete a Capability that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource deletion was successful." + }, + "204": { + "description": "Capability resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/DeleteCapability.json" + } + } + }, + "put": { + "description": "Create or update a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + }, + { + "name": "capability", + "description": "Capability resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/CreateUpdateCapability.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilityTypes.json new file mode 100644 index 000000000000..93c5dfd4fbd4 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/capabilityTypes.json @@ -0,0 +1,131 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes": { + "get": { + "description": "Get a list of Capability Type resources for given Target Type and location.", + "tags": [ + "CapabilityTypes" + ], + "operationId": "CapabilityTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability Type resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capability Types for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/ListCapabilityTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes/{capabilityTypeName}": { + "get": { + "description": "Get a Capability Type resource for given Target Type and location.", + "tags": [ + "Capabilities" + ], + "operationId": "CapabilityTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityTypeName" + } + ], + "responses": { + "200": { + "description": "Capability Type resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability Type for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/GetCapabilityType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CancelExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CancelExperiment.json new file mode 100644 index 000000000000..9771436c07a5 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CancelExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2023-11-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-11-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateCapability.json new file mode 100644 index 000000000000..f63cc10d48be --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateCapability.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2023-11-01", + "capability": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateExperiment.json new file mode 100644 index 000000000000..e2c3262d756c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateExperiment.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2023-11-01", + "experiment": { + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-11-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/experiments/00000000-0000-0000-0000-000000000000?api-version=2023-11-01" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "provisioningState": "Creating", + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + }, + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-11-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/experiments/00000000-0000-0000-0000-000000000000?api-version=2023-11-01" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "provisioningState": "Updating", + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateTarget.json new file mode 100644 index 000000000000..0daec29e68db --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/CreateUpdateTarget.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2023-11-01", + "target": { + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteCapability.json new file mode 100644 index 000000000000..bce66fdc213c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteCapability.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2023-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteExperiment.json new file mode 100644 index 000000000000..9771436c07a5 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2023-11-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-11-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteTarget.json new file mode 100644 index 000000000000..f153f7c8480f --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DeleteTarget.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2023-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DetailsExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DetailsExperiment.json new file mode 100644 index 000000000000..b1eff66de46e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/DetailsExperiment.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "executionId": "f24500ad-744e-4a26-864b-b76199eac333", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.Chaos/experiments/executions/getExecutionDetails", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/f24500ad-744e-4a26-864b-b76199eac333/getExecutionDetails", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "lastActionAt": "2020-12-14T21:52:52.2552574Z", + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed", + "failureReason": "Dependency failure", + "runInformation": { + "steps": [ + { + "stepName": "FirstStep", + "stepId": "FirstStep", + "status": "failed", + "branches": [ + { + "branchName": "FirstBranch", + "branchId": "FirstBranch", + "status": "failed", + "actions": [ + { + "actionName": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors", + "actionId": "59499d33-6751-4b6e-a1f6-58f4d56a040a", + "status": "failed", + "startTime": "2020-12-14T13:56:13.6270153-08:00", + "endTime": "2020-12-14T13:56:13.6270153-08:00", + "targets": [ + { + "status": "succeeded", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "targetFailedTime": "2021-04-02T16:30:55+00:00", + "targetCompletedTime": "2021-04-02T17:30:55+00:00" + }, + { + "status": "failed", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "targetFailedTime": "2021-04-02T16:30:55+00:00", + "targetCompletedTime": "2021-04-02T17:30:55+00:00" + } + ] + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapability.json new file mode 100644 index 000000000000..f5a4c5c25ff9 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapability.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapabilityType.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapabilityType.json new file mode 100644 index 000000000000..abde0f54db5b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetCapabilityType.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "capabilityTypeName": "Shutdown-1.0", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "kind": "fault", + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "runtimeProperties": { + "kind": "continuous" + }, + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperiment.json new file mode 100644 index 000000000000..c2cb3bfeab60 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperiment.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperimentExecution.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperimentExecution.json new file mode 100644 index 000000000000..19b4e1818a16 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetExperimentExecution.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "executionId": "f24500ad-744e-4a26-864b-b76199eac333", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/f24500ad-744e-4a26-864b-b76199eac333", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetOperationStatus.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetOperationStatus.json new file mode 100644 index 000000000000..25b395bb4489 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetOperationStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "location": "West US", + "asyncOperationId": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/locations/westus/operationStatuses/713192d7-503f-477a-9cfe-4efc3ee2bd11", + "name": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "startTime": "2017-01-01T13:13:13.933Z", + "endTime": "2017-01-01T16:13:13.933Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTarget.json new file mode 100644 index 000000000000..1979ff357cc5 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTarget.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTargetType.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTargetType.json new file mode 100644 index 000000000000..4f4cb0a58e19 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/GetTargetType.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-Agent", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilities.json new file mode 100644 index 000000000000..0d96a4c36511 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilities.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities?continuationToken=&api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilityTypes.json new file mode 100644 index 000000000000..836e09b62520 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListCapabilityTypes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "kind": "fault", + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "runtimeProperties": { + "kind": "continuous" + }, + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes?continuationToken=&api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentExecutions.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentExecutions.json new file mode 100644 index 000000000000..964e9bb4e090 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentExecutions.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed" + } + }, + { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/14d98367-52ef-4596-be4f-53fc81bbfc33", + "name": "14d98367-52ef-4596-be4f-53fc81bbfc33", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "success" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails?continuationToken=&api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInAResourceGroup.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInAResourceGroup.json new file mode 100644 index 000000000000..9e7523236b87 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInAResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "continuationToken": null, + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInASubscription.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInASubscription.json new file mode 100644 index 000000000000..03302290fb4a --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListExperimentsInASubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "continuationToken": null, + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargetTypes.json new file mode 100644 index 000000000000..7418a5a4f41d --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargetTypes.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "continuationToken": null, + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes?continuationToken=&api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargets.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargets.json new file mode 100644 index 000000000000..7aa2d8ffcd19 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/ListTargets.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "continuationToken": null, + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets?continuationToken=&api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/StartExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/StartExperiment.json new file mode 100644 index 000000000000..9771436c07a5 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/StartExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2023-11-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-11-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/UpdateExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/UpdateExperiment.json new file mode 100644 index 000000000000..f4ff78c92c3b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/examples/UpdateExperiment.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2023-11-01", + "experiment": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentity/exampleUMI": {} + } + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-11-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentity/exampleUMI": {} + }, + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/experiments.json new file mode 100644 index 000000000000..56c91ed1ce9b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/experiments.json @@ -0,0 +1,547 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a subscription.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a subscription.": { + "$ref": "./examples/ListExperimentsInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a resource group.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a resource group.": { + "$ref": "./examples/ListExperimentsInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}": { + "delete": { + "description": "Delete a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Asynchronous delete operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete a Experiment in a resource group.": { + "$ref": "./examples/DeleteExperiment.json" + } + } + }, + "get": { + "description": "Get a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "Experiment resource returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Experiment in a resource group.": { + "$ref": "./examples/GetExperiment.json" + } + } + }, + "put": { + "description": "Create or update a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "name": "experiment", + "description": "Experiment resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + } + ], + "responses": { + "201": { + "description": "Long running create experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "200": { + "description": "Long running replace experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create/update a Experiment in a resource group.": { + "$ref": "./examples/CreateUpdateExperiment.json" + } + } + }, + "patch": { + "description": "The operation to update an experiment.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Update", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "name": "experiment", + "in": "body", + "required": true, + "description": "Parameters supplied to the Update experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentUpdate" + } + } + ], + "responses": { + "202": { + "description": "Long running update operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Update an Experiment in a resource group.": { + "$ref": "./examples/UpdateExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/cancel": { + "post": { + "description": "Cancel a running Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Cancel", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Long running cancel operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Cancel a running Experiment.": { + "$ref": "./examples/CancelExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/start": { + "post": { + "description": "Start a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Start", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Long running start experiment operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Start a Experiment.": { + "$ref": "./examples/StartExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions": { + "get": { + "description": "Get a list of executions of an Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAllExecutions", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "List of executions returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all executions of an Experiment.": { + "$ref": "./examples/ListExperimentExecutions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions/{executionId}": { + "get": { + "description": "Get an execution of an Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_GetExecution", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/executionId" + } + ], + "responses": { + "200": { + "description": "Execution returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecution" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the execution of a Experiment.": { + "$ref": "./examples/GetExperimentExecution.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions/{executionId}/getExecutionDetails": { + "post": { + "description": "Execution details of an experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ExecutionDetails", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/executionId" + } + ], + "responses": { + "200": { + "description": "Get experiment execution details.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionDetails" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get experiment execution details.": { + "$ref": "./examples/DetailsExperiment.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json new file mode 100644 index 000000000000..da61e7addde3 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json @@ -0,0 +1,122 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{location}/operationsStatuses/{asyncOperationId}": { + "get": { + "x-ms-examples": { + "Get specific operation status": { + "$ref": "./examples/GetOperationStatus.json" + } + }, + "tags": [ + "asyncOperations" + ], + "operationId": "OperationStatuses_Get", + "description": "Get the status of a long running azure asynchronous operation.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region name of operation." + }, + { + "name": "asyncOperationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Operation status.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "OperationStatus": { + "description": "The status of operation.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The operation Id." + }, + "name": { + "type": "string", + "description": "The operation name." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the operation." + }, + "status": { + "type": "string", + "description": "The status of the operation." + }, + "error": { + "type": "object", + "description": "The error detail of the operation if any.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "parameters": {} +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operations.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operations.json new file mode 100644 index 000000000000..81e03703d6bb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operations.json @@ -0,0 +1,70 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Chaos/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Get a list all available Operations.", + "operationId": "Operations_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "List of Operations returned if request was successful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": {} + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targetTypes.json new file mode 100644 index 000000000000..7ab87bd2e24b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targetTypes.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes": { + "get": { + "description": "Get a list of Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target Type resources returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Target Types for westus2 location.": { + "$ref": "./examples/ListTargetTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}": { + "get": { + "description": "Get a Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + } + ], + "responses": { + "200": { + "description": "Target Type resource returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target Type for westus2 location": { + "$ref": "./examples/GetTargetType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targets.json new file mode 100644 index 000000000000..c1c1cfe6d541 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/targets.json @@ -0,0 +1,250 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets": { + "get": { + "description": "Get a list of Target resources that extend a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target resources returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/targetListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Targets that extend a virtual machine resource.": { + "$ref": "./examples/ListTargets.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}": { + "get": { + "description": "Get a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target that extends a virtual machine resource.": { + "$ref": "./examples/GetTarget.json" + } + } + }, + "delete": { + "description": "Delete a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource deletion was successful." + }, + "204": { + "description": "Target resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Target that extends a virtual machine resource.": { + "$ref": "./examples/DeleteTarget.json" + } + } + }, + "put": { + "description": "Create or update a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "name": "target", + "description": "Target resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Target that extends a virtual machine resource.": { + "$ref": "./examples/CreateUpdateTarget.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilities.json new file mode 100644 index 000000000000..5692e35f207e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilities.json @@ -0,0 +1,84 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Types", + "version": "2023-11-01" + }, + "paths": {}, + "definitions": { + "capability": { + "type": "object", + "description": "Model that represents a Capability resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The standard system metadata of a resource type.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of a capability resource.", + "$ref": "#/definitions/capabilityProperties", + "readOnly": true + } + } + }, + "capabilityProperties": { + "type": "object", + "description": "Model that represents the Capability properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability extends.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "capabilityListResult": { + "type": "object", + "description": "Model that represents a list of Capability resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capability" + }, + "description": "List of Capability resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilityTypes.json new file mode 100644 index 000000000000..eb6b5d207893 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/capabilityTypes.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Metadata Types", + "version": "2023-11-01" + }, + "paths": {}, + "definitions": { + "capabilityType": { + "type": "object", + "description": "Model that represents a Capability Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata properties of the capability type resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the Capability Type resource." + }, + "properties": { + "description": "The properties of the capability type resource.", + "$ref": "#/definitions/capabilityTypeProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "capabilityTypeProperties": { + "type": "object", + "description": "Model that represents the Capability Type properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability Type extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability Type extends.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability Type parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "String of the kind of this Capability Type.", + "readOnly": true + }, + "azureRbacActions": { + "type": "array", + "description": "Control plane actions necessary to execute capability type.", + "items": { + "type": "string", + "description": "Control plane action necessary to execute capability type." + } + }, + "azureRbacDataActions": { + "type": "array", + "description": "Data plane actions necessary to execute capability type.", + "items": { + "type": "string", + "description": "Data plane action necessary to execute capability type." + } + }, + "runtimeProperties": { + "type": "object", + "description": "Runtime properties of this Capability Type.", + "properties": { + "kind": { + "type": "string", + "description": "String of the kind of the resource's action type (continuous or discrete).", + "readOnly": true + } + } + } + }, + "additionalProperties": false + }, + "capabilityTypeListResult": { + "type": "object", + "description": "Model that represents a list of Capability Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capabilityType" + }, + "description": "List of Capability Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/common.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/common.json new file mode 100644 index 000000000000..51843a87901d --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/common.json @@ -0,0 +1,222 @@ +{ + "swagger": "2.0", + "info": { + "title": "Common Types", + "version": "2023-11-01" + }, + "paths": {}, + "definitions": { + "resourceIdentity": { + "type": "object", + "description": "The identity of a resource.", + "properties": { + "type": { + "type": "string", + "description": "String of the resource identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "$ref": "../../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/UserAssignedIdentities", + "description": "The list of user identities associated with the Experiment. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + }, + "principalId": { + "type": "string", + "description": "GUID that represents the principal ID of this resource identity.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "GUID that represents the tenant ID of this resource identity.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "readOnly": true + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "url": { + "type": "string", + "description": "String that represents a URL.", + "maxLength": 2048, + "x-nullable": false + }, + "urn": { + "type": "string", + "description": "String that represents a URN.", + "maxLength": 2048, + "x-nullable": false + }, + "urlNullable": { + "type": "string", + "description": "Optional string that represents a URL.", + "maxLength": 2048, + "x-nullable": true + }, + "provisioningState": { + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "type": "string", + "description": "Current provisioning state for a given Azure Chaos resource.", + "example": "Succeeded", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded" + }, + { + "value": "Failed" + }, + { + "value": "Canceled" + }, + { + "value": "Creating" + }, + { + "value": "Updating" + }, + { + "value": "Deleting" + } + ] + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "description": "String that sets the API version.", + "type": "string", + "in": "query", + "required": true, + "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}(|-preview)$", + "x-ms-parameter-location": "client" + }, + "subscriptionId": { + "name": "subscriptionId", + "description": "GUID that represents an Azure subscription ID.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "String that represents an Azure resource group.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]$", + "x-ms-parameter-location": "method" + }, + "parentResourcePath": { + "name": "parentResourcePath", + "description": "String that represents the path to a parent resource starting with the providers segment.", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "parentProviderNamespace": { + "name": "parentProviderNamespace", + "description": "String that represents a resource provider namespace.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9]+\\.[a-zA-Z0-9]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceType": { + "name": "parentResourceType", + "description": "String that represents a resource type.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceName": { + "name": "parentResourceName", + "description": "String that represents a resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "targetName": { + "name": "targetName", + "description": "String that represents a Target resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityName": { + "name": "capabilityName", + "description": "String that represents a Capability resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "targetTypeName": { + "name": "targetTypeName", + "description": "String that represents a Target Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityTypeName": { + "name": "capabilityTypeName", + "description": "String that represents a Capability Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "locationName": { + "name": "locationName", + "description": "String that represents a Location resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "continuationToken": { + "name": "continuationToken", + "description": "String that sets the continuation token.", + "type": "string", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/experiments.json new file mode 100644 index 000000000000..4c8ad6902819 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/experiments.json @@ -0,0 +1,828 @@ +{ + "swagger": "2.0", + "info": { + "title": "Experiment Types", + "version": "2023-11-01" + }, + "paths": {}, + "parameters": { + "experimentName": { + "name": "experimentName", + "description": "String that represents a Experiment resource name.", + "type": "string", + "in": "path", + "required": true, + "minLength": 1, + "pattern": "^[^<>%&:?#/\\\\]+$", + "x-ms-parameter-location": "method" + }, + "statusId": { + "name": "statusId", + "description": "GUID that represents a Experiment status.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "method" + }, + "runningFilter": { + "name": "running", + "description": "Optional value that indicates whether to filter results based on if the Experiment is currently running. If null, then the results will not be filtered.", + "type": "boolean", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + }, + "executionId": { + "name": "executionId", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "description": "GUID that represents a Experiment execution detail.", + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + } + }, + "definitions": { + "experiment": { + "type": "object", + "description": "Model that represents a Experiment resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata of the experiment resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "identity": { + "description": "The identity of the experiment resource.", + "$ref": "./common.json#/definitions/resourceIdentity" + }, + "properties": { + "description": "The properties of the experiment resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentProperties" + } + }, + "required": [ + "properties" + ] + }, + "experimentUpdate": { + "type": "object", + "description": "Describes an experiment update.", + "properties": { + "identity": { + "description": "The identity of the experiment resource.", + "$ref": "./common.json#/definitions/resourceIdentity" + } + } + }, + "experimentProperties": { + "description": "Model that represents the Experiment properties model.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "./common.json#/definitions/provisioningState", + "description": "Most recent provisioning state for the given experiment resource.", + "readOnly": true + }, + "steps": { + "type": "array", + "items": { + "$ref": "#/definitions/step" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of steps.", + "minItems": 1, + "maxItems": 4 + }, + "selectors": { + "type": "array", + "items": { + "$ref": "#/definitions/selector" + }, + "description": "List of selectors.", + "minItems": 1 + } + }, + "required": [ + "steps", + "selectors" + ], + "additionalProperties": false + }, + "experimentListResult": { + "type": "object", + "description": "Model that represents a list of Experiment resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experiment" + }, + "description": "List of Experiment resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment resources.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "step": { + "type": "object", + "description": "Model that represents a step in the Experiment resource.", + "properties": { + "name": { + "type": "string", + "description": "String of the step name.", + "minLength": 1 + }, + "branches": { + "type": "array", + "description": "List of branches.", + "items": { + "$ref": "#/definitions/branch" + }, + "x-ms-identifiers": [ + "name" + ], + "minItems": 1, + "maxItems": 9 + } + }, + "required": [ + "name", + "branches" + ], + "additionalProperties": false + }, + "branch": { + "type": "object", + "description": "Model that represents a branch in the step. 9 total per experiment.", + "properties": { + "name": { + "type": "string", + "description": "String of the branch name.", + "minLength": 1 + }, + "actions": { + "type": "array", + "description": "List of actions.", + "items": { + "$ref": "#/definitions/action" + }, + "x-ms-identifiers": [ + "name" + ], + "minItems": 1, + "maxItems": 9 + } + }, + "required": [ + "name", + "actions" + ], + "additionalProperties": false + }, + "action": { + "type": "object", + "description": "Model that represents the base action model. 9 total per experiment.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum that discriminates between action models." + }, + "name": { + "$ref": "./common.json#/definitions/urn", + "description": "String that represents a Capability URN." + } + }, + "required": [ + "type", + "name" + ] + }, + "delayAction": { + "type": "object", + "description": "Model that represents a delay action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$", + "format": "duration" + } + }, + "required": [ + "duration" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "delay" + }, + "discreteAction": { + "type": "object", + "description": "Model that represents a discrete action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "discrete" + }, + "continuousAction": { + "type": "object", + "description": "Model that represents a continuous action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$", + "format": "duration" + }, + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "duration", + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "continuous" + }, + "keyValuePair": { + "description": "A map to describe the settings of an action.", + "type": "object", + "properties": { + "key": { + "description": "The name of the setting for the action.", + "type": "string", + "minLength": 1 + }, + "value": { + "description": "The value of the setting for the action.", + "type": "string", + "minLength": 1 + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + }, + "selector": { + "type": "object", + "description": "Model that represents a selector in the Experiment resource.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum of the selector type.", + "enum": [ + "List", + "Query" + ], + "x-ms-enum": { + "name": "SelectorType", + "modelAsString": true + } + }, + "id": { + "type": "string", + "description": "String of the selector ID.", + "minLength": 1 + }, + "filter": { + "$ref": "#/definitions/filter" + } + }, + "required": [ + "type", + "id" + ], + "additionalProperties": true + }, + "listSelector": { + "type": "object", + "description": "Model that represents a list selector.", + "allOf": [ + { + "$ref": "#/definitions/selector" + } + ], + "properties": { + "targets": { + "type": "array", + "description": "List of Target references.", + "minItems": 1, + "maxItems": 50, + "items": { + "$ref": "#/definitions/targetReference" + } + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "List", + "required": [ + "targets" + ] + }, + "querySelector": { + "type": "object", + "description": "Model that represents a query selector.", + "allOf": [ + { + "$ref": "#/definitions/selector" + } + ], + "properties": { + "queryString": { + "type": "string", + "description": "Azure Resource Graph (ARG) Query Language query for target resources." + }, + "subscriptionIds": { + "type": "array", + "description": "Subscription id list to scope resource query.", + "items": { + "type": "string", + "description": "String of the availability zone ID." + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "Query", + "required": [ + "queryString", + "subscriptionIds" + ] + }, + "filter": { + "type": "object", + "description": "Model that represents available filter types that can be applied to a targets list.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum that discriminates between filter types. Currently only `Simple` type is supported.", + "enum": [ + "Simple" + ], + "x-ms-enum": { + "name": "FilterType", + "modelAsString": true + } + } + }, + "required": [ + "type" + ] + }, + "simpleFilter": { + "type": "object", + "description": "Model that represents a simple target filter.", + "allOf": [ + { + "$ref": "#/definitions/filter" + } + ], + "properties": { + "parameters": { + "$ref": "#/definitions/simpleFilterParameters" + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "Simple" + }, + "simpleFilterParameters": { + "description": "Model that represents the Simple filter parameters.", + "type": "object", + "properties": { + "zones": { + "type": "array", + "items": { + "type": "string", + "description": "String of the availability zone ID." + }, + "description": "List of Azure availability zones to filter targets by." + } + }, + "additionalProperties": false + }, + "targetReference": { + "type": "object", + "description": "Model that represents a reference to a Target in the selector.", + "properties": { + "type": { + "type": "string", + "description": "Enum of the Target reference type.", + "enum": [ + "ChaosTarget" + ], + "x-ms-enum": { + "name": "TargetReferenceType", + "modelAsString": true + } + }, + "id": { + "type": "string", + "description": "String of the resource ID of a Target resource.", + "pattern": "^\\/[Ss][Uu][Bb][Ss][Cc][Rr][Ii][Pp][Tt][Ii][Oo][Nn][Ss]\\/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\/[Rr][Ee][Ss][Oo][Uu][Rr][Cc][Ee][Gg][Rr][Oo][Uu][Pp][Ss]\\/[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\/[a-zA-Z0-9_\\-\\.]+\\/[a-zA-Z0-9_\\-\\.]+\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[Mm][Ii][Cc][Rr][Oo][Ss][Oo][Ff][Tt]\\.[Cc][Hh][Aa][Oo][Ss]\\/[Tt][Aa][Rr][Gg][Ee][Tt][Ss]\\/[a-zA-Z0-9_\\-\\.]+$" + } + }, + "required": [ + "type", + "id" + ], + "additionalProperties": false + }, + "experimentCancelOperationResult": { + "type": "object", + "description": "Model that represents the result of a cancel Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentStartOperationResult": { + "type": "object", + "description": "Model that represents the result of a start Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionActionTargetDetailsProperties": { + "description": "Model that represents the Experiment action target details properties model.", + "type": "object", + "properties": { + "status": { + "description": "The status of the execution.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target for the action.", + "type": "string", + "readOnly": true + }, + "targetFailedTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the failed date time.", + "readOnly": true, + "x-nullable": true + }, + "targetCompletedTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the completed date time.", + "readOnly": true, + "x-nullable": true + }, + "error": { + "description": "The error of the action.", + "type": "object", + "$ref": "#/definitions/experimentExecutionActionTargetDetailsError", + "readOnly": true, + "x-nullable": true + } + } + }, + "experimentExecutionActionTargetDetailsError": { + "type": "object", + "description": "Model that represents the Experiment action target details error model.", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message", + "type": "string", + "readOnly": true + } + } + }, + "experimentExecution": { + "type": "object", + "description": "Model that represents the execution of a Experiment.", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of experiment execution status.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentExecutionProperties" + } + }, + "additionalProperties": false + }, + "experimentExecutionProperties": { + "description": "Model that represents the execution properties of an Experiment.", + "type": "object", + "properties": { + "status": { + "description": "The status of the execution.", + "type": "string", + "readOnly": true + }, + "startedAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the start date time.", + "readOnly": true + }, + "stoppedAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the stop date time.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionListResult": { + "description": "Model that represents a list of Experiment executions and a link for pagination.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecution" + }, + "description": "List of Experiment executions.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment executions.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionDetails": { + "description": "Model that represents the execution details of an Experiment.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of the experiment execution details.", + "$ref": "#/definitions/experimentExecutionDetailsProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "experimentExecutionDetailsProperties": { + "description": "Model that represents the extended properties of an experiment execution.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/experimentExecutionProperties" + } + ], + "properties": { + "failureReason": { + "description": "The reason why the execution failed.", + "type": "string", + "readOnly": true + }, + "lastActionAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the last action date time.", + "readOnly": true + }, + "runInformation": { + "description": "The information of the experiment run.", + "type": "object", + "properties": { + "steps": { + "description": "The steps of the experiment run.", + "type": "array", + "items": { + "$ref": "#/definitions/stepStatus" + }, + "x-ms-identifiers": [ + "stepName" + ], + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "stepStatus": { + "description": "Model that represents the a list of branches and branch statuses.", + "type": "object", + "properties": { + "stepName": { + "description": "The name of the step.", + "type": "string", + "readOnly": true + }, + "stepId": { + "description": "The id of the step.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value of the status of the step.", + "type": "string", + "readOnly": true + }, + "branches": { + "description": "The array of branches.", + "type": "array", + "items": { + "$ref": "#/definitions/branchStatus" + }, + "x-ms-identifiers": [ + "branchName" + ], + "readOnly": true + } + } + }, + "branchStatus": { + "description": "Model that represents the a list of actions and action statuses.", + "type": "object", + "properties": { + "branchName": { + "description": "The name of the branch status.", + "type": "string", + "readOnly": true + }, + "branchId": { + "description": "The id of the branch status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the branch.", + "type": "string", + "readOnly": true + }, + "actions": { + "description": "The array of actions.", + "type": "array", + "items": { + "$ref": "#/definitions/actionStatus" + }, + "x-ms-identifiers": [ + "actionId" + ], + "readOnly": true + } + } + }, + "actionStatus": { + "type": "object", + "description": "Model that represents the an action and its status.", + "properties": { + "actionName": { + "description": "The name of the action status.", + "type": "string", + "readOnly": true + }, + "actionId": { + "description": "The id of the action status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the action.", + "type": "string", + "readOnly": true + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the start time of the action.", + "readOnly": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the end time of the action.", + "readOnly": true + }, + "targets": { + "description": "The array of targets.", + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecutionActionTargetDetailsProperties" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targetTypes.json new file mode 100644 index 000000000000..6b3aa144b12a --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targetTypes.json @@ -0,0 +1,88 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Metadata Types", + "version": "2023-11-01" + }, + "paths": {}, + "definitions": { + "targetType": { + "type": "object", + "description": "Model that represents a Target Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata properties of the target type resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the Target Type resource." + }, + "properties": { + "description": "The properties of the target type resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetTypeProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetTypeProperties": { + "type": "object", + "description": "Model that represents the base Target Type properties model.", + "properties": { + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "propertiesSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Target Type properties.", + "readOnly": true + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource types this Target Type can extend.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "targetTypeListResult": { + "type": "object", + "description": "Model that represents a list of Target Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/targetType" + }, + "description": "List of Target Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targets.json new file mode 100644 index 000000000000..ec1f0e749b16 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/types/targets.json @@ -0,0 +1,64 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Types", + "version": "2023-11-01" + }, + "paths": {}, + "definitions": { + "target": { + "type": "object", + "description": "Model that represents a Target resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata of the target resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the target resource." + }, + "properties": { + "description": "The properties of the target resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetProperties": { + "type": "object", + "description": "Model that represents the base Target properties model.", + "properties": {}, + "additionalProperties": true + }, + "targetListResult": { + "type": "object", + "description": "Model that represents a list of Target resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/target" + }, + "description": "List of Target resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/readme.md b/specification/chaos/resource-manager/readme.md index 74fd23c34b28..72e4e91dd059 100644 --- a/specification/chaos/resource-manager/readme.md +++ b/specification/chaos/resource-manager/readme.md @@ -285,4 +285,4 @@ directive: where: $.definitions.Operation.properties.isDataAction from: types.json reason: We are consuming the type model declaration from "common". I don't think our service is responsible for updating this error... Plz push back otherwise. -``` +``` \ No newline at end of file