Microsoft.Chaos experiments 2025-01-01

Bicep resource definition

The experiments resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Chaos/experiments resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Chaos/experiments@2025-01-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    selectors: [
      {
        filter: {
          type: 'string'
          // For remaining properties, see ChaosTargetFilter objects
        }
        id: 'string'
        type: 'string'
        // For remaining properties, see ChaosTargetSelector objects
      }
    ]
    steps: [
      {
        branches: [
          {
            actions: [
              {
                name: 'string'
                type: 'string'
                // For remaining properties, see ChaosExperimentAction objects
              }
            ]
            name: 'string'
          }
        ]
        name: 'string'
      }
    ]
  }
  tags: {
    {customized property}: 'string'
  }
}

ChaosTargetFilter objects

Set the type property to specify the type of object.

For Simple, use:

{
  parameters: {
    zones: [
      'string'
    ]
  }
  type: 'Simple'
}

ChaosTargetSelector objects

Set the type property to specify the type of object.

For List, use:

{
  targets: [
    {
      id: 'string'
      type: 'string'
    }
  ]
  type: 'List'
}

For Query, use:

{
  queryString: 'string'
  subscriptionIds: [
    'string'
  ]
  type: 'Query'
}

ChaosExperimentAction objects

Set the type property to specify the type of object.

For continuous, use:

{
  duration: 'string'
  parameters: [
    {
      key: 'string'
      value: 'string'
    }
  ]
  selectorId: 'string'
  type: 'continuous'
}

For delay, use:

{
  duration: 'string'
  type: 'delay'
}

For discrete, use:

{
  parameters: [
    {
      key: 'string'
      value: 'string'
    }
  ]
  selectorId: 'string'
  type: 'discrete'
}

Property Values

ChaosExperimentAction

Name Description Value
name String that represents a Capability URN. string

Constraints:
Max length = 2048 (required)
type Set to 'continuous' for type ContinuousAction. Set to 'delay' for type DelayAction. Set to 'discrete' for type DiscreteAction. 'continuous'
'delay'
'discrete' (required)

ChaosExperimentBranch

Name Description Value
actions List of actions. ChaosExperimentAction[] (required)
name String of the branch name. string

Constraints:
Min length = 1 (required)

ChaosExperimentStep

Name Description Value
branches List of branches. ChaosExperimentBranch[] (required)
name String of the step name. string

Constraints:
Min length = 1 (required)

ChaosTargetFilter

Name Description Value
type Set to 'Simple' for type ChaosTargetSimpleFilter. 'Simple' (required)

ChaosTargetListSelector

Name Description Value
targets List of Target references. TargetReference[] (required)
type Chaos target selector discriminator type 'List' (required)

ChaosTargetQuerySelector

Name Description Value
queryString Azure Resource Graph (ARG) Query Language query for target resources. string (required)
subscriptionIds Subscription id list to scope resource query. string[] (required)
type Chaos target selector discriminator type 'Query' (required)

ChaosTargetSelector

Name Description Value
filter Model that represents available filter types that can be applied to a targets list. ChaosTargetFilter
id String of the selector ID. string

Constraints:
Min length = 1 (required)
type Set to 'List' for type ChaosTargetListSelector. Set to 'Query' for type ChaosTargetQuerySelector. 'List'
'Query' (required)

ChaosTargetSimpleFilter

Name Description Value
parameters Model that represents the Simple filter parameters. ChaosTargetSimpleFilterParameters
type Chaos target filter discriminator type 'Simple' (required)

ChaosTargetSimpleFilterParameters

Name Description Value
zones List of Azure availability zones to filter targets by. string[]

ContinuousAction

Name Description Value
duration ISO8601 formatted string that represents a duration. string (required)
parameters List of key value pairs. KeyValuePair[] (required)
selectorId String that represents a selector. string

Constraints:
Min length = 1 (required)
type Chaos experiment action discriminator type 'continuous' (required)

DelayAction

Name Description Value
duration ISO8601 formatted string that represents a duration. string (required)
type Chaos experiment action discriminator type 'delay' (required)

DiscreteAction

Name Description Value
parameters List of key value pairs. KeyValuePair[] (required)
selectorId String that represents a selector. string

Constraints:
Min length = 1 (required)
type Chaos experiment action discriminator type 'discrete' (required)

ExperimentProperties

Name Description Value
selectors List of selectors. ChaosTargetSelector[] (required)
steps List of steps. ChaosExperimentStep[] (required)

KeyValuePair

Name Description Value
key The name of the setting for the action. string

Constraints:
Min length = 1 (required)
value The value of the setting for the action. string

Constraints:
Min length = 1 (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. UserAssignedIdentities

Microsoft.Chaos/experiments

Name Description Value
identity The managed service identities assigned to this resource. ManagedServiceIdentity
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 1
Pattern = ^[^<>%&:?#/\\]+$ (required)
properties The properties of the experiment resource. ExperimentProperties (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates

TargetReference

Name Description Value
id String of the resource ID of a Target resource. string (required)
type Enum of the Target reference type. 'ChaosTarget' (required)

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

Usage Examples

Azure Verified Modules

The following Azure Verified Modules can be used to deploy this resource type.

Module Description
Chaos Experiment AVM Resource Module for Chaos Experiment

ARM template resource definition

The experiments resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Chaos/experiments resource, add the following JSON to your template.

{
  "type": "Microsoft.Chaos/experiments",
  "apiVersion": "2025-01-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "selectors": [ {
      "filter": {
        "type": "string"
        // For remaining properties, see ChaosTargetFilter objects
      },
      "id": "string",
      "type": "string"
      // For remaining properties, see ChaosTargetSelector objects
    } ],
    "steps": [
      {
        "branches": [
          {
            "actions": [ {
              "name": "string",
              "type": "string"
              // For remaining properties, see ChaosExperimentAction objects
            } ],
            "name": "string"
          }
        ],
        "name": "string"
      }
    ]
  },
  "tags": {
    "{customized property}": "string"
  }
}

ChaosTargetFilter objects

Set the type property to specify the type of object.

For Simple, use:

{
  "parameters": {
    "zones": [ "string" ]
  },
  "type": "Simple"
}

ChaosTargetSelector objects

Set the type property to specify the type of object.

For List, use:

{
  "targets": [
    {
      "id": "string",
      "type": "string"
    }
  ],
  "type": "List"
}

For Query, use:

{
  "queryString": "string",
  "subscriptionIds": [ "string" ],
  "type": "Query"
}

ChaosExperimentAction objects

Set the type property to specify the type of object.

For continuous, use:

{
  "duration": "string",
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "selectorId": "string",
  "type": "continuous"
}

For delay, use:

{
  "duration": "string",
  "type": "delay"
}

For discrete, use:

{
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "selectorId": "string",
  "type": "discrete"
}

Property Values

ChaosExperimentAction

Name Description Value
name String that represents a Capability URN. string

Constraints:
Max length = 2048 (required)
type Set to 'continuous' for type ContinuousAction. Set to 'delay' for type DelayAction. Set to 'discrete' for type DiscreteAction. 'continuous'
'delay'
'discrete' (required)

ChaosExperimentBranch

Name Description Value
actions List of actions. ChaosExperimentAction[] (required)
name String of the branch name. string

Constraints:
Min length = 1 (required)

ChaosExperimentStep

Name Description Value
branches List of branches. ChaosExperimentBranch[] (required)
name String of the step name. string

Constraints:
Min length = 1 (required)

ChaosTargetFilter

Name Description Value
type Set to 'Simple' for type ChaosTargetSimpleFilter. 'Simple' (required)

ChaosTargetListSelector

Name Description Value
targets List of Target references. TargetReference[] (required)
type Chaos target selector discriminator type 'List' (required)

ChaosTargetQuerySelector

Name Description Value
queryString Azure Resource Graph (ARG) Query Language query for target resources. string (required)
subscriptionIds Subscription id list to scope resource query. string[] (required)
type Chaos target selector discriminator type 'Query' (required)

ChaosTargetSelector

Name Description Value
filter Model that represents available filter types that can be applied to a targets list. ChaosTargetFilter
id String of the selector ID. string

Constraints:
Min length = 1 (required)
type Set to 'List' for type ChaosTargetListSelector. Set to 'Query' for type ChaosTargetQuerySelector. 'List'
'Query' (required)

ChaosTargetSimpleFilter

Name Description Value
parameters Model that represents the Simple filter parameters. ChaosTargetSimpleFilterParameters
type Chaos target filter discriminator type 'Simple' (required)

ChaosTargetSimpleFilterParameters

Name Description Value
zones List of Azure availability zones to filter targets by. string[]

ContinuousAction

Name Description Value
duration ISO8601 formatted string that represents a duration. string (required)
parameters List of key value pairs. KeyValuePair[] (required)
selectorId String that represents a selector. string

Constraints:
Min length = 1 (required)
type Chaos experiment action discriminator type 'continuous' (required)

DelayAction

Name Description Value
duration ISO8601 formatted string that represents a duration. string (required)
type Chaos experiment action discriminator type 'delay' (required)

DiscreteAction

Name Description Value
parameters List of key value pairs. KeyValuePair[] (required)
selectorId String that represents a selector. string

Constraints:
Min length = 1 (required)
type Chaos experiment action discriminator type 'discrete' (required)

ExperimentProperties

Name Description Value
selectors List of selectors. ChaosTargetSelector[] (required)
steps List of steps. ChaosExperimentStep[] (required)

KeyValuePair

Name Description Value
key The name of the setting for the action. string

Constraints:
Min length = 1 (required)
value The value of the setting for the action. string

Constraints:
Min length = 1 (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. UserAssignedIdentities

Microsoft.Chaos/experiments

Name Description Value
apiVersion The api version '2025-01-01'
identity The managed service identities assigned to this resource. ManagedServiceIdentity
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 1
Pattern = ^[^<>%&:?#/\\]+$ (required)
properties The properties of the experiment resource. ExperimentProperties (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Chaos/experiments'

TargetReference

Name Description Value
id String of the resource ID of a Target resource. string (required)
type Enum of the Target reference type. 'ChaosTarget' (required)

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

Usage Examples

Terraform (AzAPI provider) resource definition

The experiments resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Chaos/experiments resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Chaos/experiments@2025-01-01"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      selectors = [
        {
          filter = {
            type = "string"
            // For remaining properties, see ChaosTargetFilter objects
          }
          id = "string"
          type = "string"
          // For remaining properties, see ChaosTargetSelector objects
        }
      ]
      steps = [
        {
          branches = [
            {
              actions = [
                {
                  name = "string"
                  type = "string"
                  // For remaining properties, see ChaosExperimentAction objects
                }
              ]
              name = "string"
            }
          ]
          name = "string"
        }
      ]
    }
  })
}

ChaosTargetFilter objects

Set the type property to specify the type of object.

For Simple, use:

{
  parameters = {
    zones = [
      "string"
    ]
  }
  type = "Simple"
}

ChaosTargetSelector objects

Set the type property to specify the type of object.

For List, use:

{
  targets = [
    {
      id = "string"
      type = "string"
    }
  ]
  type = "List"
}

For Query, use:

{
  queryString = "string"
  subscriptionIds = [
    "string"
  ]
  type = "Query"
}

ChaosExperimentAction objects

Set the type property to specify the type of object.

For continuous, use:

{
  duration = "string"
  parameters = [
    {
      key = "string"
      value = "string"
    }
  ]
  selectorId = "string"
  type = "continuous"
}

For delay, use:

{
  duration = "string"
  type = "delay"
}

For discrete, use:

{
  parameters = [
    {
      key = "string"
      value = "string"
    }
  ]
  selectorId = "string"
  type = "discrete"
}

Property Values

ChaosExperimentAction

Name Description Value
name String that represents a Capability URN. string

Constraints:
Max length = 2048 (required)
type Set to 'continuous' for type ContinuousAction. Set to 'delay' for type DelayAction. Set to 'discrete' for type DiscreteAction. 'continuous'
'delay'
'discrete' (required)

ChaosExperimentBranch

Name Description Value
actions List of actions. ChaosExperimentAction[] (required)
name String of the branch name. string

Constraints:
Min length = 1 (required)

ChaosExperimentStep

Name Description Value
branches List of branches. ChaosExperimentBranch[] (required)
name String of the step name. string

Constraints:
Min length = 1 (required)

ChaosTargetFilter

Name Description Value
type Set to 'Simple' for type ChaosTargetSimpleFilter. 'Simple' (required)

ChaosTargetListSelector

Name Description Value
targets List of Target references. TargetReference[] (required)
type Chaos target selector discriminator type 'List' (required)

ChaosTargetQuerySelector

Name Description Value
queryString Azure Resource Graph (ARG) Query Language query for target resources. string (required)
subscriptionIds Subscription id list to scope resource query. string[] (required)
type Chaos target selector discriminator type 'Query' (required)

ChaosTargetSelector

Name Description Value
filter Model that represents available filter types that can be applied to a targets list. ChaosTargetFilter
id String of the selector ID. string

Constraints:
Min length = 1 (required)
type Set to 'List' for type ChaosTargetListSelector. Set to 'Query' for type ChaosTargetQuerySelector. 'List'
'Query' (required)

ChaosTargetSimpleFilter

Name Description Value
parameters Model that represents the Simple filter parameters. ChaosTargetSimpleFilterParameters
type Chaos target filter discriminator type 'Simple' (required)

ChaosTargetSimpleFilterParameters

Name Description Value
zones List of Azure availability zones to filter targets by. string[]

ContinuousAction

Name Description Value
duration ISO8601 formatted string that represents a duration. string (required)
parameters List of key value pairs. KeyValuePair[] (required)
selectorId String that represents a selector. string

Constraints:
Min length = 1 (required)
type Chaos experiment action discriminator type 'continuous' (required)

DelayAction

Name Description Value
duration ISO8601 formatted string that represents a duration. string (required)
type Chaos experiment action discriminator type 'delay' (required)

DiscreteAction

Name Description Value
parameters List of key value pairs. KeyValuePair[] (required)
selectorId String that represents a selector. string

Constraints:
Min length = 1 (required)
type Chaos experiment action discriminator type 'discrete' (required)

ExperimentProperties

Name Description Value
selectors List of selectors. ChaosTargetSelector[] (required)
steps List of steps. ChaosExperimentStep[] (required)

KeyValuePair

Name Description Value
key The name of the setting for the action. string

Constraints:
Min length = 1 (required)
value The value of the setting for the action. string

Constraints:
Min length = 1 (required)

ManagedServiceIdentity

Name Description Value
type Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. UserAssignedIdentities

Microsoft.Chaos/experiments

Name Description Value
identity The managed service identities assigned to this resource. ManagedServiceIdentity
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 1
Pattern = ^[^<>%&:?#/\\]+$ (required)
properties The properties of the experiment resource. ExperimentProperties (required)
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Chaos/experiments@2025-01-01"

TargetReference

Name Description Value
id String of the resource ID of a Target resource. string (required)
type Enum of the Target reference type. 'ChaosTarget' (required)

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value