Microsoft.Monitor pipelineGroups 2025-03-01-preview

Bicep resource definition

The pipelineGroups 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.Monitor/pipelineGroups resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Monitor/pipelineGroups@2025-03-01-preview' = {
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  location: 'string'
  name: 'string'
  properties: {
    executionPlacement: {
      constraints: [
        {
          capability: 'string'
          operator: 'string'
          values: [
            'string'
          ]
        }
      ]
      distribution: {
        maxInstancesPerHost: int
      }
    }
    exporters: [
      {
        azureMonitorWorkspaceLogs: {
          api: {
            dataCollectionEndpointUrl: 'string'
            dataCollectionRule: 'string'
            schema: {
              recordMap: [
                {
                  from: 'string'
                  to: 'string'
                }
              ]
              resourceMap: [
                {
                  from: 'string'
                  to: 'string'
                }
              ]
              scopeMap: [
                {
                  from: 'string'
                  to: 'string'
                }
              ]
            }
            stream: 'string'
          }
          cache: {
            maxStorageUsage: int
            retentionPeriod: int
          }
          concurrency: {
            batchQueueSize: int
            workerCount: int
          }
        }
        name: 'string'
        type: 'string'
      }
    ]
    processors: [
      {
        batch: {
          batchSize: int
          timeout: int
        }
        name: 'string'
        transformLanguage: {
          transformStatement: 'string'
        }
        type: 'string'
      }
    ]
    receivers: [
      {
        name: 'string'
        otlp: {
          endpoint: 'string'
        }
        syslog: {
          allowSkipPriHeader: bool
          endpoint: 'string'
          protocol: 'string'
          transportProtocol: 'string'
        }
        tlsConfiguration: 'string'
        type: 'string'
        udp: {
          encoding: 'string'
          endpoint: 'string'
          jsonArrayMapper: {
            destinationField: {
              destination: 'string'
              fieldName: 'string'
            }
            keys: [
              'string'
            ]
            sourceField: {
              fieldName: 'string'
            }
          }
          readQueueLength: int
        }
      }
    ]
    replicas: int
    service: {
      persistence: {
        persistentVolumeName: 'string'
      }
      pipelines: [
        {
          exporters: [
            'string'
          ]
          name: 'string'
          processors: [
            'string'
          ]
          receivers: [
            'string'
          ]
          type: 'string'
        }
      ]
    }
    tlsConfigurations: [
      {
        clientCa: {
          location: 'string'
          subLocation: 'string'
          type: 'string'
        }
        mode: 'string'
        name: 'string'
        tlsCertificate: {
          certificate: {
            location: 'string'
            subLocation: 'string'
            type: 'string'
          }
          privateKey: {
            location: 'string'
            subLocation: 'string'
            type: 'string'
          }
        }
      }
    ]
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Microsoft.Monitor/pipelineGroups

Name Description Value
extendedLocation The complex type of the extended location. AzureResourceManagerCommonTypesExtendedLocation
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
properties The resource-specific properties for this resource. PipelineGroupProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

AzureMonitorWorkspaceLogsApiConfig

Name Description Value
dataCollectionEndpointUrl Data collection endpoint ingestion url. string

Constraints:
Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required)
dataCollectionRule Data Collection Rule (DCR) immutable id. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9.-]{1,1000}[^-]$ (required)
schema The schema mapping for incoming data. SchemaMap (required)
stream Stream name in destination. Azure Monitor stream is related to the destination table. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9._-]{1,1000}[^-]$ (required)

AzureMonitorWorkspaceLogsExporter

Name Description Value
api API configurations for Azure Monitor workspace exporter. AzureMonitorWorkspaceLogsApiConfig (required)
cache Cache configurations. CacheConfiguration
concurrency Concurrency configuration for the exporter. ConcurrencyConfiguration

AzureResourceManagerCommonTypesExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The type of the extended location. 'CustomLocation'
'EdgeZone' (required)

BatchProcessor

Name Description Value
batchSize Size of the batch. int

Constraints:
Min value = 10
Max value = 100000
timeout Timeout in milliseconds. int

Constraints:
Min value = 10
Max value = 300000

CacheConfiguration

Name Description Value
maxStorageUsage Max storage usage in megabytes. int
retentionPeriod Retention period in minutes. int

CertificateSource

Name Description Value
location Location of the certificate source. string (required)
subLocation Sub-location within the certificate source. string (required)
type The type of certificate source. 'kubernetesConfigMap'
'kubernetesSecret' (required)

CertificateWithKey

Name Description Value
certificate Source configuration for the TLS certificate. CertificateSource (required)
privateKey Source configuration for the private key. Private keys must be stored in Kubernetes secrets for security reasons. PrivateKeySource (required)

ConcurrencyConfiguration

Name Description Value
batchQueueSize Size of the queue for log batches. int
workerCount Number of parallel workers processing the log queues. int

DistributionPolicy

Name Description Value
maxInstancesPerHost Maximum number of instances allowed per compute unit (node/VM). If not specified, default scheduling applies. int

ExecutionPlacement

Name Description Value
constraints A list of placement constraints to guide where pipelineGroup instances should run. PlacementConstraint[]
distribution Distribution policy for spreading instances across compute units (nodes/VMs). DistributionPolicy

Exporter

Name Description Value
azureMonitorWorkspaceLogs Azure Monitor Workspace Logs specific configurations. AzureMonitorWorkspaceLogsExporter
name The name of exporter. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
type The type of exporter. 'AzureMonitorWorkspaceLogs' (required)

JsonArrayMapper

Name Description Value
destinationField Define a destination field to which the parsed output will be written. The output is a map, it's keys is the given keys array and the matching values are the parsed json array elements. JsonMapperDestinationField
keys Define the names of the keys in the resulting map. The input json array elements are mapped in order, one for every key. string[] (required)
sourceField Define a source field from which a json array will be read and parsed to it's elements. The number of elements in the json array is expected to be the same as the length of keys. JsonMapperSourceField

JsonMapperDestinationField

Name Description Value
destination Define the destination's element. The element is the body or the attributes of the message, to which the json array mapper will write the output map. 'attributes'
'body'
fieldName Define a destination field name under the given element. Leaving this empty, means the root of the element. In case element=attributes and fieldName is empty, the object's attributes themselves will contain the key value output pairs. string

JsonMapperSourceField

Name Description Value
fieldName Define a source field name from which the json array mapper will read the json array. Leaving this empty, means reading the body of the message itself. string

OtlpReceiver

Name Description Value
endpoint OTLP GRPC endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)

PersistenceConfigurations

Name Description Value
persistentVolumeName The name of the mounted persistent volume. string (required)

Pipeline

Name Description Value
exporters Reference to exporters configured for the pipeline. string[] (required)
name Name of the pipeline. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
processors Reference to processors configured for the pipeline. string[]
receivers Reference to receivers configured for the pipeline. string[] (required)
type The type of pipeline 'Logs' (required)

PipelineGroupProperties

Name Description Value
executionPlacement Constraints for guiding the execution environment of the pipeline group. ExecutionPlacement
exporters The exporters specified for a pipeline group instance. Exporter[] (required)
processors The processors specified for a pipeline group instance. Processor[] (required)
receivers The receivers specified for a pipeline group instance. Receiver[] (required)
replicas Defines the amount of replicas of the pipeline group instance. int
service The service section for a given pipeline group instance. Service (required)
tlsConfigurations TLS configurations for the pipeline group instance. TlsConfiguration[]

PlacementConstraint

Name Description Value
capability The capability or attribute key used to match compute unit properties. string (required)
operator The match operator, e.g., In, NotIn, Exists, DoesNotExist. 'DoesNotExist'
'Exists'
'In'
'NotIn' (required)
values The values to match against. Not required for Exists/DoesNotExist. string[]

PrivateKeySource

Name Description Value
location Location of the private key source. string (required)
subLocation Sub-location within the private key source. string (required)
type The type of private key source. Only kubernetesSecret is supported for security reasons. 'kubernetesSecret' (required)

Processor

Name Description Value
batch Batch processor configurations. BatchProcessor
name The name of processor. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
transformLanguage Transform language processor configurations. TransformLanguageProcessor
type The type of processor. 'Batch'
'MicrosoftCommonSecurityLog'
'MicrosoftSyslog'
'TransformLanguage' (required)

Receiver

Name Description Value
name The name of receiver. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
otlp OTLP receiver configurations. This field is mandatory for OTLP receivers. OtlpReceiver
syslog Syslog configurations. This field is mandatory for syslog type receivers. SyslogReceiver
tlsConfiguration Reference to a named TLS configuration. If not specified, default TLS configuration is used. string
type The type of receiver. 'OTLP'
'Syslog'
'UDP' (required)
udp UDP receiver configurations. This field is mandatory for UDP receivers. UdpReceiver

RecordMap

Name Description Value
from Record Map Key. string (required)
to Record Map Value. string (required)

ResourceMap

Name Description Value
from Resource Map Key. string (required)
to Resource Map Value. string (required)

SchemaMap

Name Description Value
recordMap Record Map. RecordMap[] (required)
resourceMap Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process. ResourceMap[]
scopeMap A scope map is a logical unit of the application code with which the emitted telemetry can be associated. ScopeMap[]

ScopeMap

Name Description Value
from Scope Map Key. string (required)
to Scope Map Value. string (required)

Service

Name Description Value
persistence Persistence options to all pipelines in the instance. PersistenceConfigurations
pipelines Pipelines belonging to a given pipeline group. Pipeline[] (required)

SyslogReceiver

Name Description Value
allowSkipPriHeader Configure the receiver to allow parsing of messages without the PRI header. Default false. bool
endpoint Syslog receiver endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)
protocol Protocol to parse syslog messages. Default rfc3164 'rfc3164'
'rfc5424'
transportProtocol Transport protocol. Default tcp. 'tcp'
'udp'

TlsConfiguration

Name Description Value
clientCa Certificate source configuration for the client CA certificate for validating client certificates. If not specified, default CA certificates are used. CertificateSource
mode The TLS security mode for receivers using this configuration. Default is 'mutualTls'. 'disabled'
'mutualTls'
'serverOnly'
name The name of the TLS configuration. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
tlsCertificate TLS certificate and its private key. If not specified, default TLS certificate is used. CertificateWithKey

TrackedResourceTags

Name Description Value

TransformLanguageProcessor

Name Description Value
transformStatement Transform statement to execute over the data passing through the processor. string

Constraints:
Min length = 1
Max length = 10000 (required)

UdpReceiver

Name Description Value
encoding The encoding of the stream being received. 'ascii'
'big5'
'nop'
'utf-16be'
'utf-16le'
'utf-8'
endpoint TCP endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)
jsonArrayMapper Json array mapper - allows this udp receiver to parse a value from a given source field as a json array, match a key to each parsed value and output the key-value map to a given output field. JsonArrayMapper
readQueueLength Max read queue length. int

Constraints:
Min value = 100
Max value = 100000

ARM template resource definition

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

Usage Examples

Resource format

To create a Microsoft.Monitor/pipelineGroups resource, add the following JSON to your template.

{
  "type": "Microsoft.Monitor/pipelineGroups",
  "apiVersion": "2025-03-01-preview",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "location": "string",
  "properties": {
    "executionPlacement": {
      "constraints": [
        {
          "capability": "string",
          "operator": "string",
          "values": [ "string" ]
        }
      ],
      "distribution": {
        "maxInstancesPerHost": "int"
      }
    },
    "exporters": [
      {
        "azureMonitorWorkspaceLogs": {
          "api": {
            "dataCollectionEndpointUrl": "string",
            "dataCollectionRule": "string",
            "schema": {
              "recordMap": [
                {
                  "from": "string",
                  "to": "string"
                }
              ],
              "resourceMap": [
                {
                  "from": "string",
                  "to": "string"
                }
              ],
              "scopeMap": [
                {
                  "from": "string",
                  "to": "string"
                }
              ]
            },
            "stream": "string"
          },
          "cache": {
            "maxStorageUsage": "int",
            "retentionPeriod": "int"
          },
          "concurrency": {
            "batchQueueSize": "int",
            "workerCount": "int"
          }
        },
        "name": "string",
        "type": "string"
      }
    ],
    "processors": [
      {
        "batch": {
          "batchSize": "int",
          "timeout": "int"
        },
        "name": "string",
        "transformLanguage": {
          "transformStatement": "string"
        },
        "type": "string"
      }
    ],
    "receivers": [
      {
        "name": "string",
        "otlp": {
          "endpoint": "string"
        },
        "syslog": {
          "allowSkipPriHeader": "bool",
          "endpoint": "string",
          "protocol": "string",
          "transportProtocol": "string"
        },
        "tlsConfiguration": "string",
        "type": "string",
        "udp": {
          "encoding": "string",
          "endpoint": "string",
          "jsonArrayMapper": {
            "destinationField": {
              "destination": "string",
              "fieldName": "string"
            },
            "keys": [ "string" ],
            "sourceField": {
              "fieldName": "string"
            }
          },
          "readQueueLength": "int"
        }
      }
    ],
    "replicas": "int",
    "service": {
      "persistence": {
        "persistentVolumeName": "string"
      },
      "pipelines": [
        {
          "exporters": [ "string" ],
          "name": "string",
          "processors": [ "string" ],
          "receivers": [ "string" ],
          "type": "string"
        }
      ]
    },
    "tlsConfigurations": [
      {
        "clientCa": {
          "location": "string",
          "subLocation": "string",
          "type": "string"
        },
        "mode": "string",
        "name": "string",
        "tlsCertificate": {
          "certificate": {
            "location": "string",
            "subLocation": "string",
            "type": "string"
          },
          "privateKey": {
            "location": "string",
            "subLocation": "string",
            "type": "string"
          }
        }
      }
    ]
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Microsoft.Monitor/pipelineGroups

Name Description Value
apiVersion The api version '2025-03-01-preview'
extendedLocation The complex type of the extended location. AzureResourceManagerCommonTypesExtendedLocation
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
properties The resource-specific properties for this resource. PipelineGroupProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Monitor/pipelineGroups'

AzureMonitorWorkspaceLogsApiConfig

Name Description Value
dataCollectionEndpointUrl Data collection endpoint ingestion url. string

Constraints:
Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required)
dataCollectionRule Data Collection Rule (DCR) immutable id. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9.-]{1,1000}[^-]$ (required)
schema The schema mapping for incoming data. SchemaMap (required)
stream Stream name in destination. Azure Monitor stream is related to the destination table. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9._-]{1,1000}[^-]$ (required)

AzureMonitorWorkspaceLogsExporter

Name Description Value
api API configurations for Azure Monitor workspace exporter. AzureMonitorWorkspaceLogsApiConfig (required)
cache Cache configurations. CacheConfiguration
concurrency Concurrency configuration for the exporter. ConcurrencyConfiguration

AzureResourceManagerCommonTypesExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The type of the extended location. 'CustomLocation'
'EdgeZone' (required)

BatchProcessor

Name Description Value
batchSize Size of the batch. int

Constraints:
Min value = 10
Max value = 100000
timeout Timeout in milliseconds. int

Constraints:
Min value = 10
Max value = 300000

CacheConfiguration

Name Description Value
maxStorageUsage Max storage usage in megabytes. int
retentionPeriod Retention period in minutes. int

CertificateSource

Name Description Value
location Location of the certificate source. string (required)
subLocation Sub-location within the certificate source. string (required)
type The type of certificate source. 'kubernetesConfigMap'
'kubernetesSecret' (required)

CertificateWithKey

Name Description Value
certificate Source configuration for the TLS certificate. CertificateSource (required)
privateKey Source configuration for the private key. Private keys must be stored in Kubernetes secrets for security reasons. PrivateKeySource (required)

ConcurrencyConfiguration

Name Description Value
batchQueueSize Size of the queue for log batches. int
workerCount Number of parallel workers processing the log queues. int

DistributionPolicy

Name Description Value
maxInstancesPerHost Maximum number of instances allowed per compute unit (node/VM). If not specified, default scheduling applies. int

ExecutionPlacement

Name Description Value
constraints A list of placement constraints to guide where pipelineGroup instances should run. PlacementConstraint[]
distribution Distribution policy for spreading instances across compute units (nodes/VMs). DistributionPolicy

Exporter

Name Description Value
azureMonitorWorkspaceLogs Azure Monitor Workspace Logs specific configurations. AzureMonitorWorkspaceLogsExporter
name The name of exporter. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
type The type of exporter. 'AzureMonitorWorkspaceLogs' (required)

JsonArrayMapper

Name Description Value
destinationField Define a destination field to which the parsed output will be written. The output is a map, it's keys is the given keys array and the matching values are the parsed json array elements. JsonMapperDestinationField
keys Define the names of the keys in the resulting map. The input json array elements are mapped in order, one for every key. string[] (required)
sourceField Define a source field from which a json array will be read and parsed to it's elements. The number of elements in the json array is expected to be the same as the length of keys. JsonMapperSourceField

JsonMapperDestinationField

Name Description Value
destination Define the destination's element. The element is the body or the attributes of the message, to which the json array mapper will write the output map. 'attributes'
'body'
fieldName Define a destination field name under the given element. Leaving this empty, means the root of the element. In case element=attributes and fieldName is empty, the object's attributes themselves will contain the key value output pairs. string

JsonMapperSourceField

Name Description Value
fieldName Define a source field name from which the json array mapper will read the json array. Leaving this empty, means reading the body of the message itself. string

OtlpReceiver

Name Description Value
endpoint OTLP GRPC endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)

PersistenceConfigurations

Name Description Value
persistentVolumeName The name of the mounted persistent volume. string (required)

Pipeline

Name Description Value
exporters Reference to exporters configured for the pipeline. string[] (required)
name Name of the pipeline. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
processors Reference to processors configured for the pipeline. string[]
receivers Reference to receivers configured for the pipeline. string[] (required)
type The type of pipeline 'Logs' (required)

PipelineGroupProperties

Name Description Value
executionPlacement Constraints for guiding the execution environment of the pipeline group. ExecutionPlacement
exporters The exporters specified for a pipeline group instance. Exporter[] (required)
processors The processors specified for a pipeline group instance. Processor[] (required)
receivers The receivers specified for a pipeline group instance. Receiver[] (required)
replicas Defines the amount of replicas of the pipeline group instance. int
service The service section for a given pipeline group instance. Service (required)
tlsConfigurations TLS configurations for the pipeline group instance. TlsConfiguration[]

PlacementConstraint

Name Description Value
capability The capability or attribute key used to match compute unit properties. string (required)
operator The match operator, e.g., In, NotIn, Exists, DoesNotExist. 'DoesNotExist'
'Exists'
'In'
'NotIn' (required)
values The values to match against. Not required for Exists/DoesNotExist. string[]

PrivateKeySource

Name Description Value
location Location of the private key source. string (required)
subLocation Sub-location within the private key source. string (required)
type The type of private key source. Only kubernetesSecret is supported for security reasons. 'kubernetesSecret' (required)

Processor

Name Description Value
batch Batch processor configurations. BatchProcessor
name The name of processor. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
transformLanguage Transform language processor configurations. TransformLanguageProcessor
type The type of processor. 'Batch'
'MicrosoftCommonSecurityLog'
'MicrosoftSyslog'
'TransformLanguage' (required)

Receiver

Name Description Value
name The name of receiver. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
otlp OTLP receiver configurations. This field is mandatory for OTLP receivers. OtlpReceiver
syslog Syslog configurations. This field is mandatory for syslog type receivers. SyslogReceiver
tlsConfiguration Reference to a named TLS configuration. If not specified, default TLS configuration is used. string
type The type of receiver. 'OTLP'
'Syslog'
'UDP' (required)
udp UDP receiver configurations. This field is mandatory for UDP receivers. UdpReceiver

RecordMap

Name Description Value
from Record Map Key. string (required)
to Record Map Value. string (required)

ResourceMap

Name Description Value
from Resource Map Key. string (required)
to Resource Map Value. string (required)

SchemaMap

Name Description Value
recordMap Record Map. RecordMap[] (required)
resourceMap Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process. ResourceMap[]
scopeMap A scope map is a logical unit of the application code with which the emitted telemetry can be associated. ScopeMap[]

ScopeMap

Name Description Value
from Scope Map Key. string (required)
to Scope Map Value. string (required)

Service

Name Description Value
persistence Persistence options to all pipelines in the instance. PersistenceConfigurations
pipelines Pipelines belonging to a given pipeline group. Pipeline[] (required)

SyslogReceiver

Name Description Value
allowSkipPriHeader Configure the receiver to allow parsing of messages without the PRI header. Default false. bool
endpoint Syslog receiver endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)
protocol Protocol to parse syslog messages. Default rfc3164 'rfc3164'
'rfc5424'
transportProtocol Transport protocol. Default tcp. 'tcp'
'udp'

TlsConfiguration

Name Description Value
clientCa Certificate source configuration for the client CA certificate for validating client certificates. If not specified, default CA certificates are used. CertificateSource
mode The TLS security mode for receivers using this configuration. Default is 'mutualTls'. 'disabled'
'mutualTls'
'serverOnly'
name The name of the TLS configuration. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
tlsCertificate TLS certificate and its private key. If not specified, default TLS certificate is used. CertificateWithKey

TrackedResourceTags

Name Description Value

TransformLanguageProcessor

Name Description Value
transformStatement Transform statement to execute over the data passing through the processor. string

Constraints:
Min length = 1
Max length = 10000 (required)

UdpReceiver

Name Description Value
encoding The encoding of the stream being received. 'ascii'
'big5'
'nop'
'utf-16be'
'utf-16le'
'utf-8'
endpoint TCP endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)
jsonArrayMapper Json array mapper - allows this udp receiver to parse a value from a given source field as a json array, match a key to each parsed value and output the key-value map to a given output field. JsonArrayMapper
readQueueLength Max read queue length. int

Constraints:
Min value = 100
Max value = 100000

Terraform (AzAPI provider) resource definition

The pipelineGroups 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.Monitor/pipelineGroups resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Monitor/pipelineGroups@2025-03-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      executionPlacement = {
        constraints = [
          {
            capability = "string"
            operator = "string"
            values = [
              "string"
            ]
          }
        ]
        distribution = {
          maxInstancesPerHost = int
        }
      }
      exporters = [
        {
          azureMonitorWorkspaceLogs = {
            api = {
              dataCollectionEndpointUrl = "string"
              dataCollectionRule = "string"
              schema = {
                recordMap = [
                  {
                    from = "string"
                    to = "string"
                  }
                ]
                resourceMap = [
                  {
                    from = "string"
                    to = "string"
                  }
                ]
                scopeMap = [
                  {
                    from = "string"
                    to = "string"
                  }
                ]
              }
              stream = "string"
            }
            cache = {
              maxStorageUsage = int
              retentionPeriod = int
            }
            concurrency = {
              batchQueueSize = int
              workerCount = int
            }
          }
          name = "string"
          type = "string"
        }
      ]
      processors = [
        {
          batch = {
            batchSize = int
            timeout = int
          }
          name = "string"
          transformLanguage = {
            transformStatement = "string"
          }
          type = "string"
        }
      ]
      receivers = [
        {
          name = "string"
          otlp = {
            endpoint = "string"
          }
          syslog = {
            allowSkipPriHeader = bool
            endpoint = "string"
            protocol = "string"
            transportProtocol = "string"
          }
          tlsConfiguration = "string"
          type = "string"
          udp = {
            encoding = "string"
            endpoint = "string"
            jsonArrayMapper = {
              destinationField = {
                destination = "string"
                fieldName = "string"
              }
              keys = [
                "string"
              ]
              sourceField = {
                fieldName = "string"
              }
            }
            readQueueLength = int
          }
        }
      ]
      replicas = int
      service = {
        persistence = {
          persistentVolumeName = "string"
        }
        pipelines = [
          {
            exporters = [
              "string"
            ]
            name = "string"
            processors = [
              "string"
            ]
            receivers = [
              "string"
            ]
            type = "string"
          }
        ]
      }
      tlsConfigurations = [
        {
          clientCa = {
            location = "string"
            subLocation = "string"
            type = "string"
          }
          mode = "string"
          name = "string"
          tlsCertificate = {
            certificate = {
              location = "string"
              subLocation = "string"
              type = "string"
            }
            privateKey = {
              location = "string"
              subLocation = "string"
              type = "string"
            }
          }
        }
      ]
    }
  }
}

Property Values

Microsoft.Monitor/pipelineGroups

Name Description Value
extendedLocation The complex type of the extended location. AzureResourceManagerCommonTypesExtendedLocation
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
properties The resource-specific properties for this resource. PipelineGroupProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Monitor/pipelineGroups@2025-03-01-preview"

AzureMonitorWorkspaceLogsApiConfig

Name Description Value
dataCollectionEndpointUrl Data collection endpoint ingestion url. string

Constraints:
Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required)
dataCollectionRule Data Collection Rule (DCR) immutable id. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9.-]{1,1000}[^-]$ (required)
schema The schema mapping for incoming data. SchemaMap (required)
stream Stream name in destination. Azure Monitor stream is related to the destination table. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9._-]{1,1000}[^-]$ (required)

AzureMonitorWorkspaceLogsExporter

Name Description Value
api API configurations for Azure Monitor workspace exporter. AzureMonitorWorkspaceLogsApiConfig (required)
cache Cache configurations. CacheConfiguration
concurrency Concurrency configuration for the exporter. ConcurrencyConfiguration

AzureResourceManagerCommonTypesExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The type of the extended location. 'CustomLocation'
'EdgeZone' (required)

BatchProcessor

Name Description Value
batchSize Size of the batch. int

Constraints:
Min value = 10
Max value = 100000
timeout Timeout in milliseconds. int

Constraints:
Min value = 10
Max value = 300000

CacheConfiguration

Name Description Value
maxStorageUsage Max storage usage in megabytes. int
retentionPeriod Retention period in minutes. int

CertificateSource

Name Description Value
location Location of the certificate source. string (required)
subLocation Sub-location within the certificate source. string (required)
type The type of certificate source. 'kubernetesConfigMap'
'kubernetesSecret' (required)

CertificateWithKey

Name Description Value
certificate Source configuration for the TLS certificate. CertificateSource (required)
privateKey Source configuration for the private key. Private keys must be stored in Kubernetes secrets for security reasons. PrivateKeySource (required)

ConcurrencyConfiguration

Name Description Value
batchQueueSize Size of the queue for log batches. int
workerCount Number of parallel workers processing the log queues. int

DistributionPolicy

Name Description Value
maxInstancesPerHost Maximum number of instances allowed per compute unit (node/VM). If not specified, default scheduling applies. int

ExecutionPlacement

Name Description Value
constraints A list of placement constraints to guide where pipelineGroup instances should run. PlacementConstraint[]
distribution Distribution policy for spreading instances across compute units (nodes/VMs). DistributionPolicy

Exporter

Name Description Value
azureMonitorWorkspaceLogs Azure Monitor Workspace Logs specific configurations. AzureMonitorWorkspaceLogsExporter
name The name of exporter. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
type The type of exporter. 'AzureMonitorWorkspaceLogs' (required)

JsonArrayMapper

Name Description Value
destinationField Define a destination field to which the parsed output will be written. The output is a map, it's keys is the given keys array and the matching values are the parsed json array elements. JsonMapperDestinationField
keys Define the names of the keys in the resulting map. The input json array elements are mapped in order, one for every key. string[] (required)
sourceField Define a source field from which a json array will be read and parsed to it's elements. The number of elements in the json array is expected to be the same as the length of keys. JsonMapperSourceField

JsonMapperDestinationField

Name Description Value
destination Define the destination's element. The element is the body or the attributes of the message, to which the json array mapper will write the output map. 'attributes'
'body'
fieldName Define a destination field name under the given element. Leaving this empty, means the root of the element. In case element=attributes and fieldName is empty, the object's attributes themselves will contain the key value output pairs. string

JsonMapperSourceField

Name Description Value
fieldName Define a source field name from which the json array mapper will read the json array. Leaving this empty, means reading the body of the message itself. string

OtlpReceiver

Name Description Value
endpoint OTLP GRPC endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)

PersistenceConfigurations

Name Description Value
persistentVolumeName The name of the mounted persistent volume. string (required)

Pipeline

Name Description Value
exporters Reference to exporters configured for the pipeline. string[] (required)
name Name of the pipeline. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
processors Reference to processors configured for the pipeline. string[]
receivers Reference to receivers configured for the pipeline. string[] (required)
type The type of pipeline 'Logs' (required)

PipelineGroupProperties

Name Description Value
executionPlacement Constraints for guiding the execution environment of the pipeline group. ExecutionPlacement
exporters The exporters specified for a pipeline group instance. Exporter[] (required)
processors The processors specified for a pipeline group instance. Processor[] (required)
receivers The receivers specified for a pipeline group instance. Receiver[] (required)
replicas Defines the amount of replicas of the pipeline group instance. int
service The service section for a given pipeline group instance. Service (required)
tlsConfigurations TLS configurations for the pipeline group instance. TlsConfiguration[]

PlacementConstraint

Name Description Value
capability The capability or attribute key used to match compute unit properties. string (required)
operator The match operator, e.g., In, NotIn, Exists, DoesNotExist. 'DoesNotExist'
'Exists'
'In'
'NotIn' (required)
values The values to match against. Not required for Exists/DoesNotExist. string[]

PrivateKeySource

Name Description Value
location Location of the private key source. string (required)
subLocation Sub-location within the private key source. string (required)
type The type of private key source. Only kubernetesSecret is supported for security reasons. 'kubernetesSecret' (required)

Processor

Name Description Value
batch Batch processor configurations. BatchProcessor
name The name of processor. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
transformLanguage Transform language processor configurations. TransformLanguageProcessor
type The type of processor. 'Batch'
'MicrosoftCommonSecurityLog'
'MicrosoftSyslog'
'TransformLanguage' (required)

Receiver

Name Description Value
name The name of receiver. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
otlp OTLP receiver configurations. This field is mandatory for OTLP receivers. OtlpReceiver
syslog Syslog configurations. This field is mandatory for syslog type receivers. SyslogReceiver
tlsConfiguration Reference to a named TLS configuration. If not specified, default TLS configuration is used. string
type The type of receiver. 'OTLP'
'Syslog'
'UDP' (required)
udp UDP receiver configurations. This field is mandatory for UDP receivers. UdpReceiver

RecordMap

Name Description Value
from Record Map Key. string (required)
to Record Map Value. string (required)

ResourceMap

Name Description Value
from Resource Map Key. string (required)
to Resource Map Value. string (required)

SchemaMap

Name Description Value
recordMap Record Map. RecordMap[] (required)
resourceMap Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process. ResourceMap[]
scopeMap A scope map is a logical unit of the application code with which the emitted telemetry can be associated. ScopeMap[]

ScopeMap

Name Description Value
from Scope Map Key. string (required)
to Scope Map Value. string (required)

Service

Name Description Value
persistence Persistence options to all pipelines in the instance. PersistenceConfigurations
pipelines Pipelines belonging to a given pipeline group. Pipeline[] (required)

SyslogReceiver

Name Description Value
allowSkipPriHeader Configure the receiver to allow parsing of messages without the PRI header. Default false. bool
endpoint Syslog receiver endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)
protocol Protocol to parse syslog messages. Default rfc3164 'rfc3164'
'rfc5424'
transportProtocol Transport protocol. Default tcp. 'tcp'
'udp'

TlsConfiguration

Name Description Value
clientCa Certificate source configuration for the client CA certificate for validating client certificates. If not specified, default CA certificates are used. CertificateSource
mode The TLS security mode for receivers using this configuration. Default is 'mutualTls'. 'disabled'
'mutualTls'
'serverOnly'
name The name of the TLS configuration. string

Constraints:
Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required)
tlsCertificate TLS certificate and its private key. If not specified, default TLS certificate is used. CertificateWithKey

TrackedResourceTags

Name Description Value

TransformLanguageProcessor

Name Description Value
transformStatement Transform statement to execute over the data passing through the processor. string

Constraints:
Min length = 1
Max length = 10000 (required)

UdpReceiver

Name Description Value
encoding The encoding of the stream being received. 'ascii'
'big5'
'nop'
'utf-16be'
'utf-16le'
'utf-8'
endpoint TCP endpoint definition. Example: 0.0.0.0:<port>. string

Constraints:
Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required)
jsonArrayMapper Json array mapper - allows this udp receiver to parse a value from a given source field as a json array, match a key to each parsed value and output the key-value map to a given output field. JsonArrayMapper
readQueueLength Max read queue length. int

Constraints:
Min value = 100
Max value = 100000