azure-resource-manager-schemas/schemas/2023-04-15-preview/Microsoft.Chaos.json

690 строки
19 KiB
JSON

{
"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"
}
}
}