Azure API Management Diagnostic
This page shows how to write Terraform and Azure Resource Manager for API Management Diagnostic and write them securely.
azurerm_api_management_diagnostic (Terraform)
The Diagnostic in API Management can be configured in Terraform with the resource name azurerm_api_management_diagnostic
. The following sections describe 3 examples of how to use the resource and its parameters.
Example Usage from GitHub
resource "azurerm_api_management_diagnostic" "this" {
api_management_name = var.api_management_name
enabled = var.enabled
identifier = var.identifier
resource_group_name = var.resource_group_name
resource "azurerm_api_management_diagnostic" "this" {
api_management_name = var.api_management_name
enabled = var.enabled
identifier = var.identifier
resource_group_name = var.resource_group_name
resource "azurerm_api_management_diagnostic" "this" {
count = var.application_insights_instrumentation_key != null ? 1 : 0
identifier = "applicationinsights"
resource_group_name = var.resource_group_name
api_management_name = azurerm_api_management.this.name
Parameters
-
always_log_errors
optional computed - bool -
api_management_logger_id
required - string -
api_management_name
required - string -
enabled
optional - bool -
http_correlation_protocol
optional computed - string -
id
optional computed - string -
identifier
required - string -
log_client_ip
optional computed - bool -
resource_group_name
required - string -
sampling_percentage
optional computed - number -
verbosity
optional computed - string -
backend_request
list block-
body_bytes
optional - number -
headers_to_log
optional - set of string
-
-
backend_response
list block-
body_bytes
optional - number -
headers_to_log
optional - set of string
-
-
frontend_request
list block-
body_bytes
optional - number -
headers_to_log
optional - set of string
-
-
frontend_response
list block-
body_bytes
optional - number -
headers_to_log
optional - set of string
-
-
timeouts
single block
Explanation in Terraform Registry
Manages an API Management Service Diagnostic.
Microsoft.ApiManagement/service/diagnostics (Azure Resource Manager)
The service/diagnostics in Microsoft.ApiManagement can be configured in Azure Resource Manager with the resource name Microsoft.ApiManagement/service/diagnostics
. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
An example could not be found in GitHub.
Parameters
apiVersion
required - stringname
required - stringDiagnostic identifier. Must be unique in the current API Management service instance.
properties
requiredalwaysLog
optional - stringSpecifies for what type of messages sampling settings should not apply.
backend
optionalrequest
optionalbody
optionalbytes
optional - integerNumber of request body bytes to log.
dataMasking
optionalheaders
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
queryParams
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
headers
optional - arrayArray of HTTP Headers to log.
response
optionalbody
optionalbytes
optional - integerNumber of request body bytes to log.
dataMasking
optionalheaders
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
queryParams
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
headers
optional - arrayArray of HTTP Headers to log.
frontend
optionalrequest
optionalbody
optionalbytes
optional - integerNumber of request body bytes to log.
dataMasking
optionalheaders
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
queryParams
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
headers
optional - arrayArray of HTTP Headers to log.
response
optionalbody
optionalbytes
optional - integerNumber of request body bytes to log.
dataMasking
optionalheaders
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
queryParams
optional arraymode
optional - stringData masking mode.
value
optional - stringThe name of an entity to mask (e.g. a name of a header or a query parameter).
headers
optional - arrayArray of HTTP Headers to log.
httpCorrelationProtocol
optional - stringSets correlation protocol to use for Application Insights diagnostics.
logClientIp
optional - booleanLog the ClientIP. Default is false.
loggerId
required - stringResource Id of a target logger.
operationNameFormat
optional - stringThe format of the Operation Name for Application Insights telemetries. Default is Name.
sampling
optionalpercentage
optional - numberRate of sampling for fixed-rate sampling.
samplingType
optional - stringSampling type.
verbosity
optional - stringThe verbosity level applied to traces emitted by trace policies.
type
required - string
Frequently asked questions
What is Azure API Management Diagnostic?
Azure API Management Diagnostic is a resource for API Management of Microsoft Azure. Settings can be wrote in Terraform.
Where can I find the example code for the Azure API Management Diagnostic?
For Terraform, the kevinhead/azurerm, niveklabs/azurerm and pagopa/azurerm source code examples are useful. See the Terraform Example section for further details.