Microsoft.ApiManagement service/diagnostics 2022-08-01
Bicep resource definition
The service/diagnostics resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/diagnostics resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.ApiManagement/service/diagnostics@2022-08-01' = {
name: 'string'
parent: resourceSymbolicName
properties: {
alwaysLog: 'allErrors'
backend: {
request: {
body: {
bytes: int
}
dataMasking: {
headers: [
{
mode: 'string'
value: 'string'
}
]
queryParams: [
{
mode: 'string'
value: 'string'
}
]
}
headers: [
'string'
]
}
response: {
body: {
bytes: int
}
dataMasking: {
headers: [
{
mode: 'string'
value: 'string'
}
]
queryParams: [
{
mode: 'string'
value: 'string'
}
]
}
headers: [
'string'
]
}
}
frontend: {
request: {
body: {
bytes: int
}
dataMasking: {
headers: [
{
mode: 'string'
value: 'string'
}
]
queryParams: [
{
mode: 'string'
value: 'string'
}
]
}
headers: [
'string'
]
}
response: {
body: {
bytes: int
}
dataMasking: {
headers: [
{
mode: 'string'
value: 'string'
}
]
queryParams: [
{
mode: 'string'
value: 'string'
}
]
}
headers: [
'string'
]
}
}
httpCorrelationProtocol: 'string'
logClientIp: bool
loggerId: 'string'
metrics: bool
operationNameFormat: 'string'
sampling: {
percentage: int
samplingType: 'fixed'
}
verbosity: 'string'
}
}
Property values
service/diagnostics
Name | Description | Value |
---|---|---|
name | The resource name See how to set names and types for child resources in Bicep. |
string (required) Character limit: 1-80 Valid characters: Alphanumerics and hyphens. Start with letter and end with alphanumeric. |
parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: service |
properties | Diagnostic entity contract properties. | DiagnosticContractProperties |
DiagnosticContractProperties
Name | Description | Value |
---|---|---|
alwaysLog | Specifies for what type of messages sampling settings should not apply. | 'allErrors' |
backend | Diagnostic settings for incoming/outgoing HTTP messages to the Backend | PipelineDiagnosticSettings |
frontend | Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. | PipelineDiagnosticSettings |
httpCorrelationProtocol | Sets correlation protocol to use for Application Insights diagnostics. | 'Legacy' 'None' 'W3C' |
logClientIp | Log the ClientIP. Default is false. | bool |
loggerId | Resource Id of a target logger. | string (required) |
metrics | Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings. | bool |
operationNameFormat | The format of the Operation Name for Application Insights telemetries. Default is Name. | 'Name' 'Url' |
sampling | Sampling settings for Diagnostic. | SamplingSettings |
verbosity | The verbosity level applied to traces emitted by trace policies. | 'error' 'information' 'verbose' |
PipelineDiagnosticSettings
Name | Description | Value |
---|---|---|
request | Diagnostic settings for request. | HttpMessageDiagnostic |
response | Diagnostic settings for response. | HttpMessageDiagnostic |
HttpMessageDiagnostic
Name | Description | Value |
---|---|---|
body | Body logging settings. | BodyDiagnosticSettings |
dataMasking | Data masking settings. | DataMasking |
headers | Array of HTTP Headers to log. | string[] |
BodyDiagnosticSettings
Name | Description | Value |
---|---|---|
bytes | Number of request body bytes to log. | int Constraints: Max value = 8192 |
DataMasking
Name | Description | Value |
---|---|---|
headers | Masking settings for headers | DataMaskingEntity[] |
queryParams | Masking settings for Url query parameters | DataMaskingEntity[] |
DataMaskingEntity
Name | Description | Value |
---|---|---|
mode | Data masking mode. | 'Hide' 'Mask' |
value | The name of an entity to mask (e.g. a name of a header or a query parameter). | string |
SamplingSettings
Name | Description | Value |
---|---|---|
percentage | Rate of sampling for fixed-rate sampling. | int Constraints: Min value = 0 Max value = 100 |
samplingType | Sampling type. | 'fixed' |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Create API Management in Internal VNet with App Gateway |
This template demonstrates how to Create a instance of Azure API Management on a private network protected by Azure Application Gateway. |
Application Gateway with internal API Management and Web App |
Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App. |
ARM template resource definition
The service/diagnostics resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/diagnostics resource, add the following JSON to your template.
{
"type": "Microsoft.ApiManagement/service/diagnostics",
"apiVersion": "2022-08-01",
"name": "string",
"properties": {
"alwaysLog": "allErrors",
"backend": {
"request": {
"body": {
"bytes": "int"
},
"dataMasking": {
"headers": [
{
"mode": "string",
"value": "string"
}
],
"queryParams": [
{
"mode": "string",
"value": "string"
}
]
},
"headers": [ "string" ]
},
"response": {
"body": {
"bytes": "int"
},
"dataMasking": {
"headers": [
{
"mode": "string",
"value": "string"
}
],
"queryParams": [
{
"mode": "string",
"value": "string"
}
]
},
"headers": [ "string" ]
}
},
"frontend": {
"request": {
"body": {
"bytes": "int"
},
"dataMasking": {
"headers": [
{
"mode": "string",
"value": "string"
}
],
"queryParams": [
{
"mode": "string",
"value": "string"
}
]
},
"headers": [ "string" ]
},
"response": {
"body": {
"bytes": "int"
},
"dataMasking": {
"headers": [
{
"mode": "string",
"value": "string"
}
],
"queryParams": [
{
"mode": "string",
"value": "string"
}
]
},
"headers": [ "string" ]
}
},
"httpCorrelationProtocol": "string",
"logClientIp": "bool",
"loggerId": "string",
"metrics": "bool",
"operationNameFormat": "string",
"sampling": {
"percentage": "int",
"samplingType": "fixed"
},
"verbosity": "string"
}
}
Property values
service/diagnostics
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.ApiManagement/service/diagnostics' |
apiVersion | The resource api version | '2022-08-01' |
name | The resource name See how to set names and types for child resources in JSON ARM templates. |
string (required) Character limit: 1-80 Valid characters: Alphanumerics and hyphens. Start with letter and end with alphanumeric. |
properties | Diagnostic entity contract properties. | DiagnosticContractProperties |
DiagnosticContractProperties
Name | Description | Value |
---|---|---|
alwaysLog | Specifies for what type of messages sampling settings should not apply. | 'allErrors' |
backend | Diagnostic settings for incoming/outgoing HTTP messages to the Backend | PipelineDiagnosticSettings |
frontend | Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. | PipelineDiagnosticSettings |
httpCorrelationProtocol | Sets correlation protocol to use for Application Insights diagnostics. | 'Legacy' 'None' 'W3C' |
logClientIp | Log the ClientIP. Default is false. | bool |
loggerId | Resource Id of a target logger. | string (required) |
metrics | Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings. | bool |
operationNameFormat | The format of the Operation Name for Application Insights telemetries. Default is Name. | 'Name' 'Url' |
sampling | Sampling settings for Diagnostic. | SamplingSettings |
verbosity | The verbosity level applied to traces emitted by trace policies. | 'error' 'information' 'verbose' |
PipelineDiagnosticSettings
Name | Description | Value |
---|---|---|
request | Diagnostic settings for request. | HttpMessageDiagnostic |
response | Diagnostic settings for response. | HttpMessageDiagnostic |
HttpMessageDiagnostic
Name | Description | Value |
---|---|---|
body | Body logging settings. | BodyDiagnosticSettings |
dataMasking | Data masking settings. | DataMasking |
headers | Array of HTTP Headers to log. | string[] |
BodyDiagnosticSettings
Name | Description | Value |
---|---|---|
bytes | Number of request body bytes to log. | int Constraints: Max value = 8192 |
DataMasking
Name | Description | Value |
---|---|---|
headers | Masking settings for headers | DataMaskingEntity[] |
queryParams | Masking settings for Url query parameters | DataMaskingEntity[] |
DataMaskingEntity
Name | Description | Value |
---|---|---|
mode | Data masking mode. | 'Hide' 'Mask' |
value | The name of an entity to mask (e.g. a name of a header or a query parameter). | string |
SamplingSettings
Name | Description | Value |
---|---|---|
percentage | Rate of sampling for fixed-rate sampling. | int Constraints: Min value = 0 Max value = 100 |
samplingType | Sampling type. | 'fixed' |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Create API Management in Internal VNet with App Gateway |
This template demonstrates how to Create a instance of Azure API Management on a private network protected by Azure Application Gateway. |
Application Gateway with internal API Management and Web App |
Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App. |
Terraform (AzAPI provider) resource definition
The service/diagnostics 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.ApiManagement/service/diagnostics resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service/diagnostics@2022-08-01"
name = "string"
parent_id = "string"
body = jsonencode({
properties = {
alwaysLog = "allErrors"
backend = {
request = {
body = {
bytes = int
}
dataMasking = {
headers = [
{
mode = "string"
value = "string"
}
]
queryParams = [
{
mode = "string"
value = "string"
}
]
}
headers = [
"string"
]
}
response = {
body = {
bytes = int
}
dataMasking = {
headers = [
{
mode = "string"
value = "string"
}
]
queryParams = [
{
mode = "string"
value = "string"
}
]
}
headers = [
"string"
]
}
}
frontend = {
request = {
body = {
bytes = int
}
dataMasking = {
headers = [
{
mode = "string"
value = "string"
}
]
queryParams = [
{
mode = "string"
value = "string"
}
]
}
headers = [
"string"
]
}
response = {
body = {
bytes = int
}
dataMasking = {
headers = [
{
mode = "string"
value = "string"
}
]
queryParams = [
{
mode = "string"
value = "string"
}
]
}
headers = [
"string"
]
}
}
httpCorrelationProtocol = "string"
logClientIp = bool
loggerId = "string"
metrics = bool
operationNameFormat = "string"
sampling = {
percentage = int
samplingType = "fixed"
}
verbosity = "string"
}
})
}
Property values
service/diagnostics
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.ApiManagement/service/diagnostics@2022-08-01" |
name | The resource name | string (required) Character limit: 1-80 Valid characters: Alphanumerics and hyphens. Start with letter and end with alphanumeric. |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: service |
properties | Diagnostic entity contract properties. | DiagnosticContractProperties |
DiagnosticContractProperties
Name | Description | Value |
---|---|---|
alwaysLog | Specifies for what type of messages sampling settings should not apply. | "allErrors" |
backend | Diagnostic settings for incoming/outgoing HTTP messages to the Backend | PipelineDiagnosticSettings |
frontend | Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. | PipelineDiagnosticSettings |
httpCorrelationProtocol | Sets correlation protocol to use for Application Insights diagnostics. | "Legacy" "None" "W3C" |
logClientIp | Log the ClientIP. Default is false. | bool |
loggerId | Resource Id of a target logger. | string (required) |
metrics | Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings. | bool |
operationNameFormat | The format of the Operation Name for Application Insights telemetries. Default is Name. | "Name" "Url" |
sampling | Sampling settings for Diagnostic. | SamplingSettings |
verbosity | The verbosity level applied to traces emitted by trace policies. | "error" "information" "verbose" |
PipelineDiagnosticSettings
Name | Description | Value |
---|---|---|
request | Diagnostic settings for request. | HttpMessageDiagnostic |
response | Diagnostic settings for response. | HttpMessageDiagnostic |
HttpMessageDiagnostic
Name | Description | Value |
---|---|---|
body | Body logging settings. | BodyDiagnosticSettings |
dataMasking | Data masking settings. | DataMasking |
headers | Array of HTTP Headers to log. | string[] |
BodyDiagnosticSettings
Name | Description | Value |
---|---|---|
bytes | Number of request body bytes to log. | int Constraints: Max value = 8192 |
DataMasking
Name | Description | Value |
---|---|---|
headers | Masking settings for headers | DataMaskingEntity[] |
queryParams | Masking settings for Url query parameters | DataMaskingEntity[] |
DataMaskingEntity
Name | Description | Value |
---|---|---|
mode | Data masking mode. | "Hide" "Mask" |
value | The name of an entity to mask (e.g. a name of a header or a query parameter). | string |
SamplingSettings
Name | Description | Value |
---|---|---|
percentage | Rate of sampling for fixed-rate sampling. | int Constraints: Min value = 0 Max value = 100 |
samplingType | Sampling type. | "fixed" |