Share via


Broker - Create Or Update

Create a BrokerResource

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}?api-version=2025-10-01

URI Parameters

Name In Required Type Description
brokerName
path True

string

minLength: 3
maxLength: 63
pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$

Name of broker.

instanceName
path True

string

minLength: 3
maxLength: 63
pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$

Name of instance.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

The name of the resource group. The name is case insensitive.

subscriptionId
path True

string (uuid)

The ID of the target subscription. The value must be an UUID.

api-version
query True

string

minLength: 1

The API version to use for this operation.

Request Body

Name Type Description
extendedLocation

ExtendedLocation

Edge location of the resource.

properties

BrokerProperties

The resource-specific properties for this resource.

Responses

Name Type Description
200 OK

BrokerResource

Resource 'BrokerResource' update operation succeeded

201 Created

BrokerResource

Resource 'BrokerResource' create operation succeeded

Headers

  • Azure-AsyncOperation: string
  • Retry-After: integer
Other Status Codes

ErrorResponse

An unexpected error response.

Security

azure_auth

Azure Active Directory OAuth2 Flow.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

Broker_CreateOrUpdate
Broker_CreateOrUpdate_Complex
Broker_CreateOrUpdate_Minimal
Broker_CreateOrUpdate_Simple

Broker_CreateOrUpdate

Sample request

PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123?api-version=2025-10-01

{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  }
}

Sample response

{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "dowrkel",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "dowrkel",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}

Broker_CreateOrUpdate_Complex

Sample request

PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123?api-version=2025-10-01

{
  "properties": {
    "cardinality": {
      "backendChain": {
        "partitions": 2,
        "redundancyFactor": 2,
        "workers": 2
      },
      "frontend": {
        "replicas": 2,
        "workers": 2
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "50M"
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Medium"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  }
}

Sample response

{
  "properties": {
    "cardinality": {
      "backendChain": {
        "partitions": 2,
        "redundancyFactor": 2,
        "workers": 2
      },
      "frontend": {
        "replicas": 2,
        "workers": 2
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "50M"
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Medium",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "llptmlifnqqwairx",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
  "properties": {
    "cardinality": {
      "backendChain": {
        "partitions": 2,
        "redundancyFactor": 2,
        "workers": 2
      },
      "frontend": {
        "replicas": 2,
        "workers": 2
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "50M"
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Medium",
    "provisioningState": "Accepted"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "llptmlifnqqwairx",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}

Broker_CreateOrUpdate_Minimal

Sample request

PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123?api-version=2025-10-01

{
  "properties": {
    "memoryProfile": "Tiny"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  }
}

Sample response

{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "dowrkel",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "dowrkel",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}

Broker_CreateOrUpdate_Simple

Sample request

PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123?api-version=2025-10-01

{
  "properties": {
    "cardinality": {
      "backendChain": {
        "partitions": 2,
        "redundancyFactor": 2,
        "workers": 2
      },
      "frontend": {
        "replicas": 2,
        "workers": 2
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Low"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  }
}

Sample response

{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "dowrkel",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "dowrkel",
  "type": "Microsoft.IoTOperations/instances/brokers",
  "systemData": {
    "createdBy": "contosouser",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "contosouser",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}

Definitions

Name Description
AdvancedSettings

Broker Advanced Settings

BackendChain

Desired properties of the backend instances of the broker

BrokerDiagnostics

Broker Diagnostic Setting properties

BrokerMemoryProfile

The memory profile settings of the Broker

BrokerPersistence

Disk persistence configuration.

When persistence is enabled, certain items (non-performance-critical data) selected for persistence will reside only on disk. Below are the affected items:

  • Retained messages will be stored on disk only.
  • WILL messages will be stored on disk only.
  • DSS key/value pairs will be stored on disk only, except for performance-critical items like timed locks, which remain in both disk and memory for improved performance.

Optional. Everything is in-memory if not set. Note: if configured, all MQTT session states are written to disk.

BrokerPersistenceEncryption

Broker Persistence Encryption properties.

BrokerPersistencePolicyMode

Broker Persistence Policy Mode values.

BrokerProperties

Broker Resource properties

BrokerResource

Instance broker resource

BrokerRetainMessagesCustomPolicy

Custom Broker Retain Message Policy.

BrokerRetainMessagesDynamic

Dynamic settings of BrokerRetainMessagesCustomPolicy.

BrokerRetainMessagesSettings

Broker Retain Messages properties.

BrokerStateStoreCustomPolicy

Broker State Store Custom Policy.

BrokerStateStoreDynamic

Dynamic settings of BrokerStateStoreCustomPolicy.

BrokerStateStoreKeyType

Broker State Store Key Type properties.

BrokerStateStorePolicyResources

Broker State Store Policy Resources properties.

BrokerStateStorePolicySettings

Broker State Store Custom Policy Settings.

BrokerSubscriberQueueCustomPolicy

Custom Subscriber Queue Policy Properties.

BrokerSubscriberQueueCustomPolicySettings

Broker Subscriber Queue Custom Policy properties.

BrokerSubscriberQueueDynamic

Dynamic settings of BrokerSubscriberQueueCustomPolicy.

Cardinality

Cardinality properties

CertManagerCertOptions

Cert Manager Cert properties

CertManagerPrivateKey

Cert Manager private key properties

ClientConfig

The settings of Client Config.

createdByType

The type of identity that created the resource.

DiagnosticsLogs

Diagnostic Log properties

DiskBackedMessageBuffer

DiskBackedMessageBuffer properties

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

ExtendedLocation

Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances.

ExtendedLocationType

The enum defining type of ExtendedLocation accepted.

Frontend

The desired properties of the frontend instances of the Broker

GenerateResourceLimits

GenerateResourceLimits properties

KubernetesReference

Kubernetes reference

LocalKubernetesReference

Kubernetes reference

Metrics

Diagnostic Metrics properties

OperationalMode

Mode properties

OperatorValues

Valid operators are In, NotIn, Exists and DoesNotExist.

PrivateKeyAlgorithm

Private key algorithm types.

PrivateKeyRotationPolicy

Private key rotation policy.

ProvisioningState

The enum defining status of resource.

ResourceHealthState

The health state of the resource.

SelfCheck

Broker Diagnostic Self check properties

SelfTracing

Diagnostic Self tracing properties

SubscriberMessageDropStrategy

The enum defining strategies for dropping messages from the subscriber queue.

SubscriberQueueLimit

The settings of Subscriber Queue Limit.

systemData

Metadata pertaining to creation and last modification of the resource.

Traces

Broker Diagnostic Trace properties

VolumeClaimResourceRequirements

VolumeClaimResourceRequirements properties

VolumeClaimResourceRequirementsClaims

VolumeClaimResourceRequirementsClaims properties.

VolumeClaimSpec

VolumeClaimSpec properties

VolumeClaimSpecSelector

VolumeClaimSpecSelector properties

VolumeClaimSpecSelectorMatchExpressions

VolumeClaimSpecSelectorMatchExpressions properties

AdvancedSettings

Broker Advanced Settings

Name Type Default value Description
clients

ClientConfig

Configurations related to All Clients.

encryptInternalTraffic

OperationalMode

Enabled

The setting to enable or disable encryption of internal Traffic.

internalCerts

CertManagerCertOptions

Certificate rotation and private key configuration.

BackendChain

Desired properties of the backend instances of the broker

Name Type Default value Description
partitions

integer (int32)

minimum: 1
maximum: 16

The desired number of physical backend partitions.

redundancyFactor

integer (int32)

minimum: 1
maximum: 5

The desired numbers of backend replicas (pods) in a physical partition.

workers

integer (int32)

minimum: 1
maximum: 16
1

Number of logical backend workers per replica (pod).

BrokerDiagnostics

Broker Diagnostic Setting properties

Name Type Description
logs

DiagnosticsLogs

Diagnostic log settings for the resource.

metrics

Metrics

The metrics settings for the resource.

selfCheck

SelfCheck

The self check properties.

traces

Traces

The trace properties.

BrokerMemoryProfile

The memory profile settings of the Broker

Value Description
Tiny

Tiny memory profile.

Low

Low memory profile.

Medium

Medium memory profile.

High

High memory profile.

BrokerPersistence

Disk persistence configuration.

When persistence is enabled, certain items (non-performance-critical data) selected for persistence will reside only on disk. Below are the affected items:

  • Retained messages will be stored on disk only.
  • WILL messages will be stored on disk only.
  • DSS key/value pairs will be stored on disk only, except for performance-critical items like timed locks, which remain in both disk and memory for improved performance.

Optional. Everything is in-memory if not set. Note: if configured, all MQTT session states are written to disk.

Name Type Description
encryption

BrokerPersistenceEncryption

Controls settings related to encryption of the persistence database. Optional, defaults to enabling encryption.

maxSize

string

The max size of the message buffer on disk. If a PVC template is specified using persistentVolumeClaimSpec Then this size is used as the request and limit sizes of that template. If a PVC template isn't specified Then local-path provisioner is requested with this size limit. Required.

persistentVolumeClaimSpec

VolumeClaimSpec

Use the specified persistent volume claim template to mount a persistent volume. Same object as in diskBackedMessageBuffer, but with a limitation that access modes field must be set to ReadWriteOncePod.

If unset, a default PVC with default properties will be used. Among other things this PVC will use the cluster default storage class, which may or may not be using a local path provisioner. User is opting in to sub-optimal behavior if they leave this unset or set it without the storage class field, and their cluster default is not a local path class.

retain BrokerRetainMessagesPolicy:

BrokerRetainMessagesCustomPolicy

Controls which topic's retained messages should be persisted to disk.

stateStore BrokerStateStorePolicy:

BrokerStateStoreCustomPolicy

Controls which keys should be persisted to disk for the state store.

subscriberQueue BrokerSubscriberQueuePolicy:

BrokerSubscriberQueueCustomPolicy

Controls which subscriber message queues should be persisted to disk. Important: to facilitate reconnection, session state metadata are ALWAYS written to disk if any persistence setting is specified, even if this section isn't set.

BrokerPersistenceEncryption

Broker Persistence Encryption properties.

Name Type Description
mode

OperationalMode

Determines if encryption is enabled.

BrokerPersistencePolicyMode

Broker Persistence Policy Mode values.

Value Description
All

Policy mode for All.

None

Policy mode for None.

Custom

Indicates that the policy is a custom policy.

BrokerProperties

Broker Resource properties

Name Type Default value Description
advanced

AdvancedSettings

Advanced settings of Broker.

cardinality

Cardinality

The cardinality details of the broker.

diagnostics

BrokerDiagnostics

Spec defines the desired identities of Broker diagnostics settings.

diskBackedMessageBuffer

DiskBackedMessageBuffer

Settings of Disk Backed Message Buffer.

generateResourceLimits

GenerateResourceLimits

This setting controls whether Kubernetes CPU resource limits are requested. Increasing the number of replicas or workers proportionally increases the amount of CPU resources requested. If this setting is enabled and there are insufficient CPU resources, an error will be emitted.

healthState

ResourceHealthState

Unknown

The health state of the resource.

memoryProfile

BrokerMemoryProfile

Medium

Memory profile of Broker.

persistence

BrokerPersistence

The persistence settings of the Broker.

provisioningState

ProvisioningState

The status of the last operation.

BrokerResource

Instance broker resource

Name Type Description
extendedLocation

ExtendedLocation

Edge location of the resource.

id

string (arm-id)

Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"

name

string

The name of the resource

properties

BrokerProperties

The resource-specific properties for this resource.

systemData

systemData

Azure Resource Manager metadata containing createdBy and modifiedBy information.

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

BrokerRetainMessagesCustomPolicy

Custom Broker Retain Message Policy.

Name Type Description
mode string:

Custom

'All' to persist all retain messages, 'None' to not persist any, 'Custom' to persist only the specified topics.

retainSettings

BrokerRetainMessagesSettings

Settings for the policy.

BrokerRetainMessagesDynamic

Dynamic settings of BrokerRetainMessagesCustomPolicy.

Name Type Description
mode

OperationalMode

Mode of the BrokerRetainMessagesCustomPolicy.

BrokerRetainMessagesSettings

Broker Retain Messages properties.

Name Type Description
dynamic

BrokerRetainMessagesDynamic

Controls if MQTT clients can request for disk persistence via MQTTv5 user property. Works in addition to other groups (logical OR).

topics

string[]

List of topics under which retained messages would be persisted to disk. Wildcards # and + supported.

BrokerStateStoreCustomPolicy

Broker State Store Custom Policy.

Name Type Description
mode string:

Custom

'All' to persist all keys, 'None' to not persist any, 'Custom' to persist only the specified keys.

stateStoreSettings

BrokerStateStorePolicySettings

Settings for the policy.

BrokerStateStoreDynamic

Dynamic settings of BrokerStateStoreCustomPolicy.

Name Type Description
mode

OperationalMode

Mode of the BrokerStateStoreCustomPolicy.

BrokerStateStoreKeyType

Broker State Store Key Type properties.

Value Description
Pattern

Used for glob-style pattern matching.

String

Used to do exact match, for example, when a key contains characters that might be otherwise matched as a pattern (*, ?, [0-9]).

Binary

Used to match a binary key.

BrokerStateStorePolicyResources

Broker State Store Policy Resources properties.

Name Type Description
keyType

BrokerStateStoreKeyType

The key to persist to disk.

keys

string[]

List of keys to persist to disk, required.

BrokerStateStorePolicySettings

Broker State Store Custom Policy Settings.

Name Type Description
dynamic

BrokerStateStoreDynamic

Controls if MQTT clients can request for disk persistence via MQTTv5 user property. Works in addition to other groups (logical OR).

stateStoreResources

BrokerStateStorePolicyResources[]

List of key and key type to persist to disk.

BrokerSubscriberQueueCustomPolicy

Custom Subscriber Queue Policy Properties.

Name Type Description
mode string:

Custom

'All' to persist all subscriber queues, 'None' to not persist any, 'Custom' to persist only the specified queues.

subscriberQueueSettings

BrokerSubscriberQueueCustomPolicySettings

Custom policy, required if mode is Custom. Subscriber queues from all groups are persisted to disk (logical OR).

BrokerSubscriberQueueCustomPolicySettings

Broker Subscriber Queue Custom Policy properties.

Name Type Description
dynamic

BrokerSubscriberQueueDynamic

Controls if MQTT clients can request for disk persistence via MQTTv5 user property. Works in addition to other groups (logical OR).

subscriberClientIds

string[]

List of client IDs of the subscribers, wildcard * supported.

BrokerSubscriberQueueDynamic

Dynamic settings of BrokerSubscriberQueueCustomPolicy.

Name Type Description
mode

OperationalMode

Mode of the BrokerSubscriberQueueCustomPolicy.

Cardinality

Cardinality properties

Name Type Description
backendChain

BackendChain

The backend broker desired properties

frontend

Frontend

The frontend desired properties

CertManagerCertOptions

Cert Manager Cert properties

Name Type Description
duration

string

Lifetime of certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.

privateKey

CertManagerPrivateKey

Configuration of certificate private key.

renewBefore

string

When to begin renewing certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.

CertManagerPrivateKey

Cert Manager private key properties

Name Type Description
algorithm

PrivateKeyAlgorithm

algorithm for private key.

rotationPolicy

PrivateKeyRotationPolicy

cert-manager private key rotationPolicy.

ClientConfig

The settings of Client Config.

Name Type Description
maxKeepAliveSeconds

integer (int32)

minimum: 0
maximum: 65535

Upper bound of a client's Keep Alive, in seconds.

maxMessageExpirySeconds

integer (int32)

minimum: 1
maximum: 4294967295

Upper bound of Message Expiry Interval, in seconds.

maxPacketSizeBytes

integer (int32)

minimum: 1
maximum: 268435456

Max message size for a packet in Bytes.

maxReceiveMaximum

integer (int32)

minimum: 1
maximum: 65535

Upper bound of Receive Maximum that a client can request in the CONNECT packet.

maxSessionExpirySeconds

integer (int32)

minimum: 1
maximum: 4294967295

Upper bound of Session Expiry Interval, in seconds.

subscriberQueueLimit

SubscriberQueueLimit

The limit on the number of queued messages for a subscriber.

createdByType

The type of identity that created the resource.

Value Description
User
Application
ManagedIdentity
Key

DiagnosticsLogs

Diagnostic Log properties

Name Type Default value Description
level

string

info

The log level. Examples - 'debug', 'info', 'warn', 'error', 'trace'.

DiskBackedMessageBuffer

DiskBackedMessageBuffer properties

Name Type Description
ephemeralVolumeClaimSpec

VolumeClaimSpec

Use the specified persistent volume claim template to mount a "generic ephemeral volume" for the message buffer. See https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes for details.

maxSize

string

pattern: ^[0-9]+[KMGTPE]$

The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See https://kubernetes.io/docs/concepts/storage/volumes/#emptydir for details.

persistentVolumeClaimSpec

VolumeClaimSpec

Use the specified persistent volume claim template to mount a persistent volume for the message buffer.

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

ExtendedLocation

Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances.

Name Type Description
name

string

The name of the extended location.

type

ExtendedLocationType

Type of ExtendedLocation.

ExtendedLocationType

The enum defining type of ExtendedLocation accepted.

Value Description
CustomLocation

CustomLocation type

Frontend

The desired properties of the frontend instances of the Broker

Name Type Default value Description
replicas

integer (int32)

minimum: 1
maximum: 16

The desired number of frontend instances (pods).

workers

integer (int32)

minimum: 1
maximum: 16
2

Number of logical frontend workers per instance (pod).

GenerateResourceLimits

GenerateResourceLimits properties

Name Type Default value Description
cpu

OperationalMode

Enabled

The toggle to enable/disable cpu resource limits.

KubernetesReference

Kubernetes reference

Name Type Description
apiGroup

string

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kind

string

Kind is the type of resource being referenced

name

string

Name is the name of resource being referenced

namespace

string

Namespace is the namespace of the resource being referenced. This field is required when the resource has a namespace.

LocalKubernetesReference

Kubernetes reference

Name Type Description
apiGroup

string

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kind

string

Kind is the type of resource being referenced

name

string

Name is the name of resource being referenced

Metrics

Diagnostic Metrics properties

Name Type Default value Description
prometheusPort

integer (int32)

minimum: 0
maximum: 65535
9600

The prometheus port to expose the metrics.

OperationalMode

Mode properties

Value Description
Enabled

Enabled is equivalent to True

Disabled

Disabled is equivalent to False.

OperatorValues

Valid operators are In, NotIn, Exists and DoesNotExist.

Value Description
In

In operator.

NotIn

NotIn operator.

Exists

Exists operator.

DoesNotExist

DoesNotExist operator.

PrivateKeyAlgorithm

Private key algorithm types.

Value Description
Ec256

Algorithm - ec256.

Ec384

Algorithm - ec384.

Ec521

Algorithm - ec521.

Ed25519

Algorithm - ed25519.

Rsa2048

Algorithm - rsa2048.

Rsa4096

Algorithm - rsa4096.

Rsa8192

Algorithm - rsa8192.

PrivateKeyRotationPolicy

Private key rotation policy.

Value Description
Always

Rotation Policy - Always.

Never

Rotation Policy - Never.

ProvisioningState

The enum defining status of resource.

Value Description
Succeeded

Resource has been created.

Failed

Resource creation failed.

Canceled

Resource creation was canceled.

Provisioning

Resource is getting provisioned.

Updating

Resource is Updating.

Deleting

Resource is Deleting.

Accepted

Resource has been Accepted.

ResourceHealthState

The health state of the resource.

Value Description
Available

Resource is Available and functioning as expected.

Degraded

Resource health is degraded.

Unavailable

Resource is not functioning as expected.

Unknown

Resource state is unknown.

SelfCheck

Broker Diagnostic Self check properties

Name Type Default value Description
intervalSeconds

integer (int32)

minimum: 30
maximum: 300
30

The self check interval.

mode

OperationalMode

Enabled

The toggle to enable/disable self check.

timeoutSeconds

integer (int32)

minimum: 5
maximum: 120
15

The timeout for self check.

SelfTracing

Diagnostic Self tracing properties

Name Type Default value Description
intervalSeconds

integer (int32)

minimum: 1
maximum: 300
30

The self tracing interval.

mode

OperationalMode

Enabled

The toggle to enable/disable self tracing.

SubscriberMessageDropStrategy

The enum defining strategies for dropping messages from the subscriber queue.

Value Description
None

Messages are never dropped.

DropOldest

The oldest message is dropped.

SubscriberQueueLimit

The settings of Subscriber Queue Limit.

Name Type Default value Description
length

integer (int64)

minimum: 1

The maximum length of the queue before messages start getting dropped.

strategy

SubscriberMessageDropStrategy

None

The strategy to use for dropping messages from the queue.

systemData

Metadata pertaining to creation and last modification of the resource.

Name Type Description
createdAt

string (date-time)

The timestamp of resource creation (UTC).

createdBy

string

The identity that created the resource.

createdByType

createdByType

The type of identity that created the resource.

lastModifiedAt

string (date-time)

The timestamp of resource last modification (UTC)

lastModifiedBy

string

The identity that last modified the resource.

lastModifiedByType

createdByType

The type of identity that last modified the resource.

Traces

Broker Diagnostic Trace properties

Name Type Default value Description
cacheSizeMegabytes

integer (int32)

minimum: 1
maximum: 128
16

The cache size in megabytes.

mode

OperationalMode

Enabled

The toggle to enable/disable traces.

selfTracing

SelfTracing

The self tracing properties.

spanChannelCapacity

integer (int32)

minimum: 1000
maximum: 100000
1000

The span channel capacity.

VolumeClaimResourceRequirements

VolumeClaimResourceRequirements properties

Name Type Description
claims

VolumeClaimResourceRequirementsClaims[]

Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.

This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.

limits

object

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

object

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

VolumeClaimResourceRequirementsClaims

VolumeClaimResourceRequirementsClaims properties.

Name Type Description
name

string

Name of the resource. This must match the name of a resource in spec.resourceClaims.

VolumeClaimSpec

VolumeClaimSpec properties

Name Type Description
accessModes

string[]

AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

LocalKubernetesReference

This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.

dataSourceRef

KubernetesReference

Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.

resources

VolumeClaimResourceRequirements

Resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

selector

VolumeClaimSpecSelector

A label query over volumes to consider for binding.

storageClassName

string

Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeMode

string

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is a beta feature.

volumeName

string

VolumeName is the binding reference to the PersistentVolume backing this claim.

VolumeClaimSpecSelector

VolumeClaimSpecSelector properties

Name Type Description
matchExpressions

VolumeClaimSpecSelectorMatchExpressions[]

MatchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabels

object

MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

VolumeClaimSpecSelectorMatchExpressions

VolumeClaimSpecSelectorMatchExpressions properties

Name Type Description
key

string

key is the label key that the selector applies to.

operator

OperatorValues

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

values

string[]

values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.