{ "id": "https://schema.management.azure.com/schemas/2023-04-15-preview/Microsoft.Chaos.json#", "title": "Microsoft.Chaos", "description": "Microsoft Chaos Resource Types", "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "experiments": { "description": "Microsoft.Chaos/experiments", "properties": { "apiVersion": { "enum": [ "2023-04-15-preview" ], "type": "string" }, "identity": { "description": "The identity of the experiment resource.", "oneOf": [ { "$ref": "#/definitions/ResourceIdentity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "location": { "description": "The geo-location where the resource lives", "type": "string" }, "name": { "description": "String that represents a Experiment resource name.", "oneOf": [ { "minLength": 1, "pattern": "^[^<>%&:?#/\\\\]+$", "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "properties": { "description": "The properties of the experiment resource.", "oneOf": [ { "$ref": "#/definitions/ExperimentProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "tags": { "description": "Resource tags.", "oneOf": [ { "additionalProperties": { "type": "string" }, "properties": {}, "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "type": { "enum": [ "Microsoft.Chaos/experiments" ], "type": "string" } }, "required": [ "name", "properties", "apiVersion", "type" ], "type": "object" } }, "extension_resourceDefinitions": { "targets": { "description": "Microsoft.Chaos/targets", "properties": { "apiVersion": { "enum": [ "2023-04-15-preview" ], "type": "string" }, "location": { "description": "Location of the target resource.", "type": "string" }, "name": { "description": "String that represents a Target resource name.", "oneOf": [ { "pattern": "^[a-zA-Z0-9_\\-\\.]+$", "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "properties": { "description": "The properties of the target resource.", "oneOf": [ { "additionalProperties": {}, "properties": {}, "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "resources": { "items": { "oneOf": [ { "$ref": "#/definitions/targets_capabilities_childResource" } ] }, "type": "array" }, "type": { "enum": [ "Microsoft.Chaos/targets" ], "type": "string" } }, "required": [ "name", "properties", "apiVersion", "type" ], "type": "object" }, "targets_capabilities": { "description": "Microsoft.Chaos/targets/capabilities", "properties": { "apiVersion": { "enum": [ "2023-04-15-preview" ], "type": "string" }, "name": { "description": "String that represents a Capability resource name.", "oneOf": [ { "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "type": { "enum": [ "Microsoft.Chaos/targets/capabilities" ], "type": "string" } }, "required": [ "name", "apiVersion", "type" ], "type": "object" } }, "definitions": { "Action": { "description": "Model that represents the base action model.", "oneOf": [ { "description": "Model that represents a continuous action.", "properties": { "duration": { "description": "ISO8601 formatted string that represents a duration.", "type": "string" }, "parameters": { "description": "List of key value pairs.", "oneOf": [ { "items": { "$ref": "#/definitions/KeyValuePair" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "selectorId": { "description": "String that represents a selector.", "minLength": 1, "type": "string" }, "type": { "enum": [ "continuous" ], "type": "string" } }, "required": [ "duration", "parameters", "selectorId", "type" ], "type": "object" }, { "description": "Model that represents a delay action.", "properties": { "duration": { "description": "ISO8601 formatted string that represents a duration.", "type": "string" }, "type": { "enum": [ "delay" ], "type": "string" } }, "required": [ "duration", "type" ], "type": "object" }, { "description": "Model that represents a discrete action.", "properties": { "parameters": { "description": "List of key value pairs.", "oneOf": [ { "items": { "$ref": "#/definitions/KeyValuePair" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "selectorId": { "description": "String that represents a selector.", "minLength": 1, "type": "string" }, "type": { "enum": [ "discrete" ], "type": "string" } }, "required": [ "parameters", "selectorId", "type" ], "type": "object" } ], "properties": { "name": { "description": "String that represents a Capability URN.", "maxLength": 2048, "type": "string" } }, "required": [ "name" ], "type": "object" }, "Branch": { "description": "Model that represents a branch in the step.", "properties": { "actions": { "description": "List of actions.", "oneOf": [ { "items": { "$ref": "#/definitions/Action" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "name": { "description": "String of the branch name.", "minLength": 1, "type": "string" } }, "required": [ "name", "actions" ], "type": "object" }, "ExperimentProperties": { "description": "Model that represents the Experiment properties model.", "properties": { "selectors": { "description": "List of selectors.", "oneOf": [ { "items": { "$ref": "#/definitions/Selector" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "startOnCreation": { "description": "A boolean value that indicates if experiment should be started on creation or not.", "oneOf": [ { "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "steps": { "description": "List of steps.", "oneOf": [ { "items": { "$ref": "#/definitions/Step" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] } }, "required": [ "steps", "selectors" ], "type": "object" }, "Filter": { "description": "Model that represents available filter types that can be applied to a targets list.", "oneOf": [ { "description": "Model that represents a simple target filter.", "properties": { "parameters": { "description": "Model that represents the Simple filter parameters.", "oneOf": [ { "$ref": "#/definitions/SimpleFilterParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "type": { "enum": [ "Simple" ], "type": "string" } }, "required": [ "type" ], "type": "object" } ], "properties": {}, "type": "object" }, "KeyValuePair": { "description": "A map to describe the settings of an action.", "properties": { "key": { "description": "The name of the setting for the action.", "minLength": 1, "type": "string" }, "value": { "description": "The value of the setting for the action.", "minLength": 1, "type": "string" } }, "required": [ "key", "value" ], "type": "object" }, "ResourceIdentity": { "description": "The identity of a resource.", "properties": { "type": { "description": "String of the resource identity type.", "oneOf": [ { "enum": [ "None", "SystemAssigned", "UserAssigned" ], "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "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}'.", "oneOf": [ { "additionalProperties": { "$ref": "#/definitions/UserAssignedIdentity" }, "properties": {}, "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] } }, "required": [ "type" ], "type": "object" }, "Selector": { "additionalProperties": {}, "description": "Model that represents a selector in the Experiment resource.", "oneOf": [ { "description": "Model that represents a list selector.", "properties": { "targets": { "description": "List of Target references.", "oneOf": [ { "items": { "$ref": "#/definitions/TargetReference" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "type": { "enum": [ "List" ], "type": "string" } }, "required": [ "targets", "type" ], "type": "object" }, { "description": "Model that represents a query selector.", "properties": { "queryString": { "description": "Azure Resource Graph (ARG) Query Language query for target resources.", "type": "string" }, "subscriptionIds": { "description": "Subscription id list to scope resource query.", "oneOf": [ { "items": { "type": "string" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "type": { "enum": [ "Query" ], "type": "string" } }, "required": [ "queryString", "subscriptionIds", "type" ], "type": "object" } ], "properties": { "filter": { "description": "Model that represents available filter types that can be applied to a targets list.", "oneOf": [ { "$ref": "#/definitions/Filter" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "id": { "description": "String of the selector ID.", "minLength": 1, "type": "string" } }, "required": [ "id" ], "type": "object" }, "SimpleFilterParameters": { "description": "Model that represents the Simple filter parameters.", "properties": { "zones": { "description": "List of Azure availability zones to filter targets by.", "oneOf": [ { "items": { "type": "string" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] } }, "type": "object" }, "Step": { "description": "Model that represents a step in the Experiment resource.", "properties": { "branches": { "description": "List of branches.", "oneOf": [ { "items": { "$ref": "#/definitions/Branch" }, "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "name": { "description": "String of the step name.", "minLength": 1, "type": "string" } }, "required": [ "name", "branches" ], "type": "object" }, "TargetReference": { "description": "Model that represents a reference to a Target in the selector.", "properties": { "id": { "description": "String of the resource ID of a Target resource.", "oneOf": [ { "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_\\-\\.]+$", "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "type": { "description": "Enum of the Target reference type.", "oneOf": [ { "enum": [ "ChaosTarget" ], "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] } }, "required": [ "type", "id" ], "type": "object" }, "UserAssignedIdentity": { "description": "User assigned identity properties", "properties": {}, "type": "object" }, "targets_capabilities_childResource": { "description": "Microsoft.Chaos/targets/capabilities", "properties": { "apiVersion": { "enum": [ "2023-04-15-preview" ], "type": "string" }, "name": { "description": "String that represents a Capability resource name.", "oneOf": [ { "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, "type": { "enum": [ "capabilities" ], "type": "string" } }, "required": [ "name", "apiVersion", "type" ], "type": "object" } } }