1. Packages
  2. Azure Classic
  3. API Docs
  4. apimanagement
  5. Diagnostic

We recommend using Azure Native.

Azure v6.22.0 published on Tuesday, Apr 1, 2025 by Pulumi

azure.apimanagement.Diagnostic

Explore with Pulumi AI

Manages an API Management Service Diagnostic.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const exampleInsights = new azure.appinsights.Insights("example", {
    name: "example-appinsights",
    location: example.location,
    resourceGroupName: example.name,
    applicationType: "web",
});
const exampleService = new azure.apimanagement.Service("example", {
    name: "example-apim",
    location: example.location,
    resourceGroupName: example.name,
    publisherName: "My Company",
    publisherEmail: "company@mycompany.io",
    skuName: "Developer_1",
});
const exampleLogger = new azure.apimanagement.Logger("example", {
    name: "example-apimlogger",
    apiManagementName: exampleService.name,
    resourceGroupName: example.name,
    applicationInsights: {
        instrumentationKey: exampleInsights.instrumentationKey,
    },
});
const exampleDiagnostic = new azure.apimanagement.Diagnostic("example", {
    identifier: "applicationinsights",
    resourceGroupName: example.name,
    apiManagementName: exampleService.name,
    apiManagementLoggerId: exampleLogger.id,
    samplingPercentage: 5,
    alwaysLogErrors: true,
    logClientIp: true,
    verbosity: "verbose",
    httpCorrelationProtocol: "W3C",
    frontendRequest: {
        bodyBytes: 32,
        headersToLogs: [
            "content-type",
            "accept",
            "origin",
        ],
    },
    frontendResponse: {
        bodyBytes: 32,
        headersToLogs: [
            "content-type",
            "content-length",
            "origin",
        ],
    },
    backendRequest: {
        bodyBytes: 32,
        headersToLogs: [
            "content-type",
            "accept",
            "origin",
        ],
    },
    backendResponse: {
        bodyBytes: 32,
        headersToLogs: [
            "content-type",
            "content-length",
            "origin",
        ],
    },
});
Copy
import pulumi
import pulumi_azure as azure

example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
example_insights = azure.appinsights.Insights("example",
    name="example-appinsights",
    location=example.location,
    resource_group_name=example.name,
    application_type="web")
example_service = azure.apimanagement.Service("example",
    name="example-apim",
    location=example.location,
    resource_group_name=example.name,
    publisher_name="My Company",
    publisher_email="company@mycompany.io",
    sku_name="Developer_1")
example_logger = azure.apimanagement.Logger("example",
    name="example-apimlogger",
    api_management_name=example_service.name,
    resource_group_name=example.name,
    application_insights={
        "instrumentation_key": example_insights.instrumentation_key,
    })
example_diagnostic = azure.apimanagement.Diagnostic("example",
    identifier="applicationinsights",
    resource_group_name=example.name,
    api_management_name=example_service.name,
    api_management_logger_id=example_logger.id,
    sampling_percentage=5,
    always_log_errors=True,
    log_client_ip=True,
    verbosity="verbose",
    http_correlation_protocol="W3C",
    frontend_request={
        "body_bytes": 32,
        "headers_to_logs": [
            "content-type",
            "accept",
            "origin",
        ],
    },
    frontend_response={
        "body_bytes": 32,
        "headers_to_logs": [
            "content-type",
            "content-length",
            "origin",
        ],
    },
    backend_request={
        "body_bytes": 32,
        "headers_to_logs": [
            "content-type",
            "accept",
            "origin",
        ],
    },
    backend_response={
        "body_bytes": 32,
        "headers_to_logs": [
            "content-type",
            "content-length",
            "origin",
        ],
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleInsights, err := appinsights.NewInsights(ctx, "example", &appinsights.InsightsArgs{
			Name:              pulumi.String("example-appinsights"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			ApplicationType:   pulumi.String("web"),
		})
		if err != nil {
			return err
		}
		exampleService, err := apimanagement.NewService(ctx, "example", &apimanagement.ServiceArgs{
			Name:              pulumi.String("example-apim"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			PublisherName:     pulumi.String("My Company"),
			PublisherEmail:    pulumi.String("company@mycompany.io"),
			SkuName:           pulumi.String("Developer_1"),
		})
		if err != nil {
			return err
		}
		exampleLogger, err := apimanagement.NewLogger(ctx, "example", &apimanagement.LoggerArgs{
			Name:              pulumi.String("example-apimlogger"),
			ApiManagementName: exampleService.Name,
			ResourceGroupName: example.Name,
			ApplicationInsights: &apimanagement.LoggerApplicationInsightsArgs{
				InstrumentationKey: exampleInsights.InstrumentationKey,
			},
		})
		if err != nil {
			return err
		}
		_, err = apimanagement.NewDiagnostic(ctx, "example", &apimanagement.DiagnosticArgs{
			Identifier:              pulumi.String("applicationinsights"),
			ResourceGroupName:       example.Name,
			ApiManagementName:       exampleService.Name,
			ApiManagementLoggerId:   exampleLogger.ID(),
			SamplingPercentage:      pulumi.Float64(5),
			AlwaysLogErrors:         pulumi.Bool(true),
			LogClientIp:             pulumi.Bool(true),
			Verbosity:               pulumi.String("verbose"),
			HttpCorrelationProtocol: pulumi.String("W3C"),
			FrontendRequest: &apimanagement.DiagnosticFrontendRequestArgs{
				BodyBytes: pulumi.Int(32),
				HeadersToLogs: pulumi.StringArray{
					pulumi.String("content-type"),
					pulumi.String("accept"),
					pulumi.String("origin"),
				},
			},
			FrontendResponse: &apimanagement.DiagnosticFrontendResponseArgs{
				BodyBytes: pulumi.Int(32),
				HeadersToLogs: pulumi.StringArray{
					pulumi.String("content-type"),
					pulumi.String("content-length"),
					pulumi.String("origin"),
				},
			},
			BackendRequest: &apimanagement.DiagnosticBackendRequestArgs{
				BodyBytes: pulumi.Int(32),
				HeadersToLogs: pulumi.StringArray{
					pulumi.String("content-type"),
					pulumi.String("accept"),
					pulumi.String("origin"),
				},
			},
			BackendResponse: &apimanagement.DiagnosticBackendResponseArgs{
				BodyBytes: pulumi.Int(32),
				HeadersToLogs: pulumi.StringArray{
					pulumi.String("content-type"),
					pulumi.String("content-length"),
					pulumi.String("origin"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });

    var exampleInsights = new Azure.AppInsights.Insights("example", new()
    {
        Name = "example-appinsights",
        Location = example.Location,
        ResourceGroupName = example.Name,
        ApplicationType = "web",
    });

    var exampleService = new Azure.ApiManagement.Service("example", new()
    {
        Name = "example-apim",
        Location = example.Location,
        ResourceGroupName = example.Name,
        PublisherName = "My Company",
        PublisherEmail = "company@mycompany.io",
        SkuName = "Developer_1",
    });

    var exampleLogger = new Azure.ApiManagement.Logger("example", new()
    {
        Name = "example-apimlogger",
        ApiManagementName = exampleService.Name,
        ResourceGroupName = example.Name,
        ApplicationInsights = new Azure.ApiManagement.Inputs.LoggerApplicationInsightsArgs
        {
            InstrumentationKey = exampleInsights.InstrumentationKey,
        },
    });

    var exampleDiagnostic = new Azure.ApiManagement.Diagnostic("example", new()
    {
        Identifier = "applicationinsights",
        ResourceGroupName = example.Name,
        ApiManagementName = exampleService.Name,
        ApiManagementLoggerId = exampleLogger.Id,
        SamplingPercentage = 5,
        AlwaysLogErrors = true,
        LogClientIp = true,
        Verbosity = "verbose",
        HttpCorrelationProtocol = "W3C",
        FrontendRequest = new Azure.ApiManagement.Inputs.DiagnosticFrontendRequestArgs
        {
            BodyBytes = 32,
            HeadersToLogs = new[]
            {
                "content-type",
                "accept",
                "origin",
            },
        },
        FrontendResponse = new Azure.ApiManagement.Inputs.DiagnosticFrontendResponseArgs
        {
            BodyBytes = 32,
            HeadersToLogs = new[]
            {
                "content-type",
                "content-length",
                "origin",
            },
        },
        BackendRequest = new Azure.ApiManagement.Inputs.DiagnosticBackendRequestArgs
        {
            BodyBytes = 32,
            HeadersToLogs = new[]
            {
                "content-type",
                "accept",
                "origin",
            },
        },
        BackendResponse = new Azure.ApiManagement.Inputs.DiagnosticBackendResponseArgs
        {
            BodyBytes = 32,
            HeadersToLogs = new[]
            {
                "content-type",
                "content-length",
                "origin",
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.appinsights.Insights;
import com.pulumi.azure.appinsights.InsightsArgs;
import com.pulumi.azure.apimanagement.Service;
import com.pulumi.azure.apimanagement.ServiceArgs;
import com.pulumi.azure.apimanagement.Logger;
import com.pulumi.azure.apimanagement.LoggerArgs;
import com.pulumi.azure.apimanagement.inputs.LoggerApplicationInsightsArgs;
import com.pulumi.azure.apimanagement.Diagnostic;
import com.pulumi.azure.apimanagement.DiagnosticArgs;
import com.pulumi.azure.apimanagement.inputs.DiagnosticFrontendRequestArgs;
import com.pulumi.azure.apimanagement.inputs.DiagnosticFrontendResponseArgs;
import com.pulumi.azure.apimanagement.inputs.DiagnosticBackendRequestArgs;
import com.pulumi.azure.apimanagement.inputs.DiagnosticBackendResponseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example-resources")
            .location("West Europe")
            .build());

        var exampleInsights = new Insights("exampleInsights", InsightsArgs.builder()
            .name("example-appinsights")
            .location(example.location())
            .resourceGroupName(example.name())
            .applicationType("web")
            .build());

        var exampleService = new Service("exampleService", ServiceArgs.builder()
            .name("example-apim")
            .location(example.location())
            .resourceGroupName(example.name())
            .publisherName("My Company")
            .publisherEmail("company@mycompany.io")
            .skuName("Developer_1")
            .build());

        var exampleLogger = new Logger("exampleLogger", LoggerArgs.builder()
            .name("example-apimlogger")
            .apiManagementName(exampleService.name())
            .resourceGroupName(example.name())
            .applicationInsights(LoggerApplicationInsightsArgs.builder()
                .instrumentationKey(exampleInsights.instrumentationKey())
                .build())
            .build());

        var exampleDiagnostic = new Diagnostic("exampleDiagnostic", DiagnosticArgs.builder()
            .identifier("applicationinsights")
            .resourceGroupName(example.name())
            .apiManagementName(exampleService.name())
            .apiManagementLoggerId(exampleLogger.id())
            .samplingPercentage(5)
            .alwaysLogErrors(true)
            .logClientIp(true)
            .verbosity("verbose")
            .httpCorrelationProtocol("W3C")
            .frontendRequest(DiagnosticFrontendRequestArgs.builder()
                .bodyBytes(32)
                .headersToLogs(                
                    "content-type",
                    "accept",
                    "origin")
                .build())
            .frontendResponse(DiagnosticFrontendResponseArgs.builder()
                .bodyBytes(32)
                .headersToLogs(                
                    "content-type",
                    "content-length",
                    "origin")
                .build())
            .backendRequest(DiagnosticBackendRequestArgs.builder()
                .bodyBytes(32)
                .headersToLogs(                
                    "content-type",
                    "accept",
                    "origin")
                .build())
            .backendResponse(DiagnosticBackendResponseArgs.builder()
                .bodyBytes(32)
                .headersToLogs(                
                    "content-type",
                    "content-length",
                    "origin")
                .build())
            .build());

    }
}
Copy
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example-resources
      location: West Europe
  exampleInsights:
    type: azure:appinsights:Insights
    name: example
    properties:
      name: example-appinsights
      location: ${example.location}
      resourceGroupName: ${example.name}
      applicationType: web
  exampleService:
    type: azure:apimanagement:Service
    name: example
    properties:
      name: example-apim
      location: ${example.location}
      resourceGroupName: ${example.name}
      publisherName: My Company
      publisherEmail: company@mycompany.io
      skuName: Developer_1
  exampleLogger:
    type: azure:apimanagement:Logger
    name: example
    properties:
      name: example-apimlogger
      apiManagementName: ${exampleService.name}
      resourceGroupName: ${example.name}
      applicationInsights:
        instrumentationKey: ${exampleInsights.instrumentationKey}
  exampleDiagnostic:
    type: azure:apimanagement:Diagnostic
    name: example
    properties:
      identifier: applicationinsights
      resourceGroupName: ${example.name}
      apiManagementName: ${exampleService.name}
      apiManagementLoggerId: ${exampleLogger.id}
      samplingPercentage: 5
      alwaysLogErrors: true
      logClientIp: true
      verbosity: verbose
      httpCorrelationProtocol: W3C
      frontendRequest:
        bodyBytes: 32
        headersToLogs:
          - content-type
          - accept
          - origin
      frontendResponse:
        bodyBytes: 32
        headersToLogs:
          - content-type
          - content-length
          - origin
      backendRequest:
        bodyBytes: 32
        headersToLogs:
          - content-type
          - accept
          - origin
      backendResponse:
        bodyBytes: 32
        headersToLogs:
          - content-type
          - content-length
          - origin
Copy

Create Diagnostic Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Diagnostic(name: string, args: DiagnosticArgs, opts?: CustomResourceOptions);
@overload
def Diagnostic(resource_name: str,
               args: DiagnosticArgs,
               opts: Optional[ResourceOptions] = None)

@overload
def Diagnostic(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               identifier: Optional[str] = None,
               api_management_logger_id: Optional[str] = None,
               api_management_name: Optional[str] = None,
               resource_group_name: Optional[str] = None,
               frontend_response: Optional[DiagnosticFrontendResponseArgs] = None,
               frontend_request: Optional[DiagnosticFrontendRequestArgs] = None,
               always_log_errors: Optional[bool] = None,
               http_correlation_protocol: Optional[str] = None,
               backend_response: Optional[DiagnosticBackendResponseArgs] = None,
               log_client_ip: Optional[bool] = None,
               operation_name_format: Optional[str] = None,
               backend_request: Optional[DiagnosticBackendRequestArgs] = None,
               sampling_percentage: Optional[float] = None,
               verbosity: Optional[str] = None)
func NewDiagnostic(ctx *Context, name string, args DiagnosticArgs, opts ...ResourceOption) (*Diagnostic, error)
public Diagnostic(string name, DiagnosticArgs args, CustomResourceOptions? opts = null)
public Diagnostic(String name, DiagnosticArgs args)
public Diagnostic(String name, DiagnosticArgs args, CustomResourceOptions options)
type: azure:apimanagement:Diagnostic
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. DiagnosticArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. DiagnosticArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. DiagnosticArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DiagnosticArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. DiagnosticArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var diagnosticResource = new Azure.ApiManagement.Diagnostic("diagnosticResource", new()
{
    Identifier = "string",
    ApiManagementLoggerId = "string",
    ApiManagementName = "string",
    ResourceGroupName = "string",
    FrontendResponse = new Azure.ApiManagement.Inputs.DiagnosticFrontendResponseArgs
    {
        BodyBytes = 0,
        DataMasking = new Azure.ApiManagement.Inputs.DiagnosticFrontendResponseDataMaskingArgs
        {
            Headers = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticFrontendResponseDataMaskingHeaderArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
            QueryParams = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticFrontendResponseDataMaskingQueryParamArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
        },
        HeadersToLogs = new[]
        {
            "string",
        },
    },
    FrontendRequest = new Azure.ApiManagement.Inputs.DiagnosticFrontendRequestArgs
    {
        BodyBytes = 0,
        DataMasking = new Azure.ApiManagement.Inputs.DiagnosticFrontendRequestDataMaskingArgs
        {
            Headers = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticFrontendRequestDataMaskingHeaderArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
            QueryParams = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticFrontendRequestDataMaskingQueryParamArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
        },
        HeadersToLogs = new[]
        {
            "string",
        },
    },
    AlwaysLogErrors = false,
    HttpCorrelationProtocol = "string",
    BackendResponse = new Azure.ApiManagement.Inputs.DiagnosticBackendResponseArgs
    {
        BodyBytes = 0,
        DataMasking = new Azure.ApiManagement.Inputs.DiagnosticBackendResponseDataMaskingArgs
        {
            Headers = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticBackendResponseDataMaskingHeaderArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
            QueryParams = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticBackendResponseDataMaskingQueryParamArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
        },
        HeadersToLogs = new[]
        {
            "string",
        },
    },
    LogClientIp = false,
    OperationNameFormat = "string",
    BackendRequest = new Azure.ApiManagement.Inputs.DiagnosticBackendRequestArgs
    {
        BodyBytes = 0,
        DataMasking = new Azure.ApiManagement.Inputs.DiagnosticBackendRequestDataMaskingArgs
        {
            Headers = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticBackendRequestDataMaskingHeaderArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
            QueryParams = new[]
            {
                new Azure.ApiManagement.Inputs.DiagnosticBackendRequestDataMaskingQueryParamArgs
                {
                    Mode = "string",
                    Value = "string",
                },
            },
        },
        HeadersToLogs = new[]
        {
            "string",
        },
    },
    SamplingPercentage = 0,
    Verbosity = "string",
});
Copy
example, err := apimanagement.NewDiagnostic(ctx, "diagnosticResource", &apimanagement.DiagnosticArgs{
	Identifier:            pulumi.String("string"),
	ApiManagementLoggerId: pulumi.String("string"),
	ApiManagementName:     pulumi.String("string"),
	ResourceGroupName:     pulumi.String("string"),
	FrontendResponse: &apimanagement.DiagnosticFrontendResponseArgs{
		BodyBytes: pulumi.Int(0),
		DataMasking: &apimanagement.DiagnosticFrontendResponseDataMaskingArgs{
			Headers: apimanagement.DiagnosticFrontendResponseDataMaskingHeaderArray{
				&apimanagement.DiagnosticFrontendResponseDataMaskingHeaderArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			QueryParams: apimanagement.DiagnosticFrontendResponseDataMaskingQueryParamArray{
				&apimanagement.DiagnosticFrontendResponseDataMaskingQueryParamArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
		},
		HeadersToLogs: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	FrontendRequest: &apimanagement.DiagnosticFrontendRequestArgs{
		BodyBytes: pulumi.Int(0),
		DataMasking: &apimanagement.DiagnosticFrontendRequestDataMaskingArgs{
			Headers: apimanagement.DiagnosticFrontendRequestDataMaskingHeaderArray{
				&apimanagement.DiagnosticFrontendRequestDataMaskingHeaderArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			QueryParams: apimanagement.DiagnosticFrontendRequestDataMaskingQueryParamArray{
				&apimanagement.DiagnosticFrontendRequestDataMaskingQueryParamArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
		},
		HeadersToLogs: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	AlwaysLogErrors:         pulumi.Bool(false),
	HttpCorrelationProtocol: pulumi.String("string"),
	BackendResponse: &apimanagement.DiagnosticBackendResponseArgs{
		BodyBytes: pulumi.Int(0),
		DataMasking: &apimanagement.DiagnosticBackendResponseDataMaskingArgs{
			Headers: apimanagement.DiagnosticBackendResponseDataMaskingHeaderArray{
				&apimanagement.DiagnosticBackendResponseDataMaskingHeaderArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			QueryParams: apimanagement.DiagnosticBackendResponseDataMaskingQueryParamArray{
				&apimanagement.DiagnosticBackendResponseDataMaskingQueryParamArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
		},
		HeadersToLogs: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	LogClientIp:         pulumi.Bool(false),
	OperationNameFormat: pulumi.String("string"),
	BackendRequest: &apimanagement.DiagnosticBackendRequestArgs{
		BodyBytes: pulumi.Int(0),
		DataMasking: &apimanagement.DiagnosticBackendRequestDataMaskingArgs{
			Headers: apimanagement.DiagnosticBackendRequestDataMaskingHeaderArray{
				&apimanagement.DiagnosticBackendRequestDataMaskingHeaderArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			QueryParams: apimanagement.DiagnosticBackendRequestDataMaskingQueryParamArray{
				&apimanagement.DiagnosticBackendRequestDataMaskingQueryParamArgs{
					Mode:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
		},
		HeadersToLogs: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	SamplingPercentage: pulumi.Float64(0),
	Verbosity:          pulumi.String("string"),
})
Copy
var diagnosticResource = new Diagnostic("diagnosticResource", DiagnosticArgs.builder()
    .identifier("string")
    .apiManagementLoggerId("string")
    .apiManagementName("string")
    .resourceGroupName("string")
    .frontendResponse(DiagnosticFrontendResponseArgs.builder()
        .bodyBytes(0)
        .dataMasking(DiagnosticFrontendResponseDataMaskingArgs.builder()
            .headers(DiagnosticFrontendResponseDataMaskingHeaderArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .queryParams(DiagnosticFrontendResponseDataMaskingQueryParamArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .build())
        .headersToLogs("string")
        .build())
    .frontendRequest(DiagnosticFrontendRequestArgs.builder()
        .bodyBytes(0)
        .dataMasking(DiagnosticFrontendRequestDataMaskingArgs.builder()
            .headers(DiagnosticFrontendRequestDataMaskingHeaderArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .queryParams(DiagnosticFrontendRequestDataMaskingQueryParamArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .build())
        .headersToLogs("string")
        .build())
    .alwaysLogErrors(false)
    .httpCorrelationProtocol("string")
    .backendResponse(DiagnosticBackendResponseArgs.builder()
        .bodyBytes(0)
        .dataMasking(DiagnosticBackendResponseDataMaskingArgs.builder()
            .headers(DiagnosticBackendResponseDataMaskingHeaderArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .queryParams(DiagnosticBackendResponseDataMaskingQueryParamArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .build())
        .headersToLogs("string")
        .build())
    .logClientIp(false)
    .operationNameFormat("string")
    .backendRequest(DiagnosticBackendRequestArgs.builder()
        .bodyBytes(0)
        .dataMasking(DiagnosticBackendRequestDataMaskingArgs.builder()
            .headers(DiagnosticBackendRequestDataMaskingHeaderArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .queryParams(DiagnosticBackendRequestDataMaskingQueryParamArgs.builder()
                .mode("string")
                .value("string")
                .build())
            .build())
        .headersToLogs("string")
        .build())
    .samplingPercentage(0)
    .verbosity("string")
    .build());
Copy
diagnostic_resource = azure.apimanagement.Diagnostic("diagnosticResource",
    identifier="string",
    api_management_logger_id="string",
    api_management_name="string",
    resource_group_name="string",
    frontend_response={
        "body_bytes": 0,
        "data_masking": {
            "headers": [{
                "mode": "string",
                "value": "string",
            }],
            "query_params": [{
                "mode": "string",
                "value": "string",
            }],
        },
        "headers_to_logs": ["string"],
    },
    frontend_request={
        "body_bytes": 0,
        "data_masking": {
            "headers": [{
                "mode": "string",
                "value": "string",
            }],
            "query_params": [{
                "mode": "string",
                "value": "string",
            }],
        },
        "headers_to_logs": ["string"],
    },
    always_log_errors=False,
    http_correlation_protocol="string",
    backend_response={
        "body_bytes": 0,
        "data_masking": {
            "headers": [{
                "mode": "string",
                "value": "string",
            }],
            "query_params": [{
                "mode": "string",
                "value": "string",
            }],
        },
        "headers_to_logs": ["string"],
    },
    log_client_ip=False,
    operation_name_format="string",
    backend_request={
        "body_bytes": 0,
        "data_masking": {
            "headers": [{
                "mode": "string",
                "value": "string",
            }],
            "query_params": [{
                "mode": "string",
                "value": "string",
            }],
        },
        "headers_to_logs": ["string"],
    },
    sampling_percentage=0,
    verbosity="string")
Copy
const diagnosticResource = new azure.apimanagement.Diagnostic("diagnosticResource", {
    identifier: "string",
    apiManagementLoggerId: "string",
    apiManagementName: "string",
    resourceGroupName: "string",
    frontendResponse: {
        bodyBytes: 0,
        dataMasking: {
            headers: [{
                mode: "string",
                value: "string",
            }],
            queryParams: [{
                mode: "string",
                value: "string",
            }],
        },
        headersToLogs: ["string"],
    },
    frontendRequest: {
        bodyBytes: 0,
        dataMasking: {
            headers: [{
                mode: "string",
                value: "string",
            }],
            queryParams: [{
                mode: "string",
                value: "string",
            }],
        },
        headersToLogs: ["string"],
    },
    alwaysLogErrors: false,
    httpCorrelationProtocol: "string",
    backendResponse: {
        bodyBytes: 0,
        dataMasking: {
            headers: [{
                mode: "string",
                value: "string",
            }],
            queryParams: [{
                mode: "string",
                value: "string",
            }],
        },
        headersToLogs: ["string"],
    },
    logClientIp: false,
    operationNameFormat: "string",
    backendRequest: {
        bodyBytes: 0,
        dataMasking: {
            headers: [{
                mode: "string",
                value: "string",
            }],
            queryParams: [{
                mode: "string",
                value: "string",
            }],
        },
        headersToLogs: ["string"],
    },
    samplingPercentage: 0,
    verbosity: "string",
});
Copy
type: azure:apimanagement:Diagnostic
properties:
    alwaysLogErrors: false
    apiManagementLoggerId: string
    apiManagementName: string
    backendRequest:
        bodyBytes: 0
        dataMasking:
            headers:
                - mode: string
                  value: string
            queryParams:
                - mode: string
                  value: string
        headersToLogs:
            - string
    backendResponse:
        bodyBytes: 0
        dataMasking:
            headers:
                - mode: string
                  value: string
            queryParams:
                - mode: string
                  value: string
        headersToLogs:
            - string
    frontendRequest:
        bodyBytes: 0
        dataMasking:
            headers:
                - mode: string
                  value: string
            queryParams:
                - mode: string
                  value: string
        headersToLogs:
            - string
    frontendResponse:
        bodyBytes: 0
        dataMasking:
            headers:
                - mode: string
                  value: string
            queryParams:
                - mode: string
                  value: string
        headersToLogs:
            - string
    httpCorrelationProtocol: string
    identifier: string
    logClientIp: false
    operationNameFormat: string
    resourceGroupName: string
    samplingPercentage: 0
    verbosity: string
Copy

Diagnostic Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Diagnostic resource accepts the following input properties:

ApiManagementLoggerId This property is required. string
The id of the target API Management Logger where the API Management Diagnostic should be saved.
ApiManagementName
This property is required.
Changes to this property will trigger replacement.
string
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
Identifier
This property is required.
Changes to this property will trigger replacement.
string
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
AlwaysLogErrors bool
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
BackendRequest DiagnosticBackendRequest
A backend_request block as defined below.
BackendResponse DiagnosticBackendResponse
A backend_response block as defined below.
FrontendRequest DiagnosticFrontendRequest
A frontend_request block as defined below.
FrontendResponse DiagnosticFrontendResponse
A frontend_response block as defined below.
HttpCorrelationProtocol string
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
LogClientIp bool
Log client IP address.
OperationNameFormat string
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
SamplingPercentage double
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
Verbosity string
Logging verbosity. Possible values are verbose, information or error.
ApiManagementLoggerId This property is required. string
The id of the target API Management Logger where the API Management Diagnostic should be saved.
ApiManagementName
This property is required.
Changes to this property will trigger replacement.
string
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
Identifier
This property is required.
Changes to this property will trigger replacement.
string
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
AlwaysLogErrors bool
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
BackendRequest DiagnosticBackendRequestArgs
A backend_request block as defined below.
BackendResponse DiagnosticBackendResponseArgs
A backend_response block as defined below.
FrontendRequest DiagnosticFrontendRequestArgs
A frontend_request block as defined below.
FrontendResponse DiagnosticFrontendResponseArgs
A frontend_response block as defined below.
HttpCorrelationProtocol string
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
LogClientIp bool
Log client IP address.
OperationNameFormat string
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
SamplingPercentage float64
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
Verbosity string
Logging verbosity. Possible values are verbose, information or error.
apiManagementLoggerId This property is required. String
The id of the target API Management Logger where the API Management Diagnostic should be saved.
apiManagementName
This property is required.
Changes to this property will trigger replacement.
String
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
identifier
This property is required.
Changes to this property will trigger replacement.
String
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
alwaysLogErrors Boolean
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
backendRequest DiagnosticBackendRequest
A backend_request block as defined below.
backendResponse DiagnosticBackendResponse
A backend_response block as defined below.
frontendRequest DiagnosticFrontendRequest
A frontend_request block as defined below.
frontendResponse DiagnosticFrontendResponse
A frontend_response block as defined below.
httpCorrelationProtocol String
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
logClientIp Boolean
Log client IP address.
operationNameFormat String
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
samplingPercentage Double
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity String
Logging verbosity. Possible values are verbose, information or error.
apiManagementLoggerId This property is required. string
The id of the target API Management Logger where the API Management Diagnostic should be saved.
apiManagementName
This property is required.
Changes to this property will trigger replacement.
string
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
identifier
This property is required.
Changes to this property will trigger replacement.
string
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
alwaysLogErrors boolean
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
backendRequest DiagnosticBackendRequest
A backend_request block as defined below.
backendResponse DiagnosticBackendResponse
A backend_response block as defined below.
frontendRequest DiagnosticFrontendRequest
A frontend_request block as defined below.
frontendResponse DiagnosticFrontendResponse
A frontend_response block as defined below.
httpCorrelationProtocol string
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
logClientIp boolean
Log client IP address.
operationNameFormat string
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
samplingPercentage number
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity string
Logging verbosity. Possible values are verbose, information or error.
api_management_logger_id This property is required. str
The id of the target API Management Logger where the API Management Diagnostic should be saved.
api_management_name
This property is required.
Changes to this property will trigger replacement.
str
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
identifier
This property is required.
Changes to this property will trigger replacement.
str
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
always_log_errors bool
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
backend_request DiagnosticBackendRequestArgs
A backend_request block as defined below.
backend_response DiagnosticBackendResponseArgs
A backend_response block as defined below.
frontend_request DiagnosticFrontendRequestArgs
A frontend_request block as defined below.
frontend_response DiagnosticFrontendResponseArgs
A frontend_response block as defined below.
http_correlation_protocol str
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
log_client_ip bool
Log client IP address.
operation_name_format str
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
sampling_percentage float
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity str
Logging verbosity. Possible values are verbose, information or error.
apiManagementLoggerId This property is required. String
The id of the target API Management Logger where the API Management Diagnostic should be saved.
apiManagementName
This property is required.
Changes to this property will trigger replacement.
String
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
identifier
This property is required.
Changes to this property will trigger replacement.
String
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
alwaysLogErrors Boolean
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
backendRequest Property Map
A backend_request block as defined below.
backendResponse Property Map
A backend_response block as defined below.
frontendRequest Property Map
A frontend_request block as defined below.
frontendResponse Property Map
A frontend_response block as defined below.
httpCorrelationProtocol String
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
logClientIp Boolean
Log client IP address.
operationNameFormat String
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
samplingPercentage Number
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity String
Logging verbosity. Possible values are verbose, information or error.

Outputs

All input properties are implicitly available as output properties. Additionally, the Diagnostic resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing Diagnostic Resource

Get an existing Diagnostic resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: DiagnosticState, opts?: CustomResourceOptions): Diagnostic
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        always_log_errors: Optional[bool] = None,
        api_management_logger_id: Optional[str] = None,
        api_management_name: Optional[str] = None,
        backend_request: Optional[DiagnosticBackendRequestArgs] = None,
        backend_response: Optional[DiagnosticBackendResponseArgs] = None,
        frontend_request: Optional[DiagnosticFrontendRequestArgs] = None,
        frontend_response: Optional[DiagnosticFrontendResponseArgs] = None,
        http_correlation_protocol: Optional[str] = None,
        identifier: Optional[str] = None,
        log_client_ip: Optional[bool] = None,
        operation_name_format: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        sampling_percentage: Optional[float] = None,
        verbosity: Optional[str] = None) -> Diagnostic
func GetDiagnostic(ctx *Context, name string, id IDInput, state *DiagnosticState, opts ...ResourceOption) (*Diagnostic, error)
public static Diagnostic Get(string name, Input<string> id, DiagnosticState? state, CustomResourceOptions? opts = null)
public static Diagnostic get(String name, Output<String> id, DiagnosticState state, CustomResourceOptions options)
resources:  _:    type: azure:apimanagement:Diagnostic    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AlwaysLogErrors bool
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
ApiManagementLoggerId string
The id of the target API Management Logger where the API Management Diagnostic should be saved.
ApiManagementName Changes to this property will trigger replacement. string
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
BackendRequest DiagnosticBackendRequest
A backend_request block as defined below.
BackendResponse DiagnosticBackendResponse
A backend_response block as defined below.
FrontendRequest DiagnosticFrontendRequest
A frontend_request block as defined below.
FrontendResponse DiagnosticFrontendResponse
A frontend_response block as defined below.
HttpCorrelationProtocol string
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
Identifier Changes to this property will trigger replacement. string
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
LogClientIp bool
Log client IP address.
OperationNameFormat string
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
ResourceGroupName Changes to this property will trigger replacement. string
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
SamplingPercentage double
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
Verbosity string
Logging verbosity. Possible values are verbose, information or error.
AlwaysLogErrors bool
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
ApiManagementLoggerId string
The id of the target API Management Logger where the API Management Diagnostic should be saved.
ApiManagementName Changes to this property will trigger replacement. string
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
BackendRequest DiagnosticBackendRequestArgs
A backend_request block as defined below.
BackendResponse DiagnosticBackendResponseArgs
A backend_response block as defined below.
FrontendRequest DiagnosticFrontendRequestArgs
A frontend_request block as defined below.
FrontendResponse DiagnosticFrontendResponseArgs
A frontend_response block as defined below.
HttpCorrelationProtocol string
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
Identifier Changes to this property will trigger replacement. string
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
LogClientIp bool
Log client IP address.
OperationNameFormat string
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
ResourceGroupName Changes to this property will trigger replacement. string
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
SamplingPercentage float64
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
Verbosity string
Logging verbosity. Possible values are verbose, information or error.
alwaysLogErrors Boolean
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
apiManagementLoggerId String
The id of the target API Management Logger where the API Management Diagnostic should be saved.
apiManagementName Changes to this property will trigger replacement. String
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
backendRequest DiagnosticBackendRequest
A backend_request block as defined below.
backendResponse DiagnosticBackendResponse
A backend_response block as defined below.
frontendRequest DiagnosticFrontendRequest
A frontend_request block as defined below.
frontendResponse DiagnosticFrontendResponse
A frontend_response block as defined below.
httpCorrelationProtocol String
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
identifier Changes to this property will trigger replacement. String
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
logClientIp Boolean
Log client IP address.
operationNameFormat String
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
resourceGroupName Changes to this property will trigger replacement. String
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
samplingPercentage Double
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity String
Logging verbosity. Possible values are verbose, information or error.
alwaysLogErrors boolean
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
apiManagementLoggerId string
The id of the target API Management Logger where the API Management Diagnostic should be saved.
apiManagementName Changes to this property will trigger replacement. string
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
backendRequest DiagnosticBackendRequest
A backend_request block as defined below.
backendResponse DiagnosticBackendResponse
A backend_response block as defined below.
frontendRequest DiagnosticFrontendRequest
A frontend_request block as defined below.
frontendResponse DiagnosticFrontendResponse
A frontend_response block as defined below.
httpCorrelationProtocol string
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
identifier Changes to this property will trigger replacement. string
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
logClientIp boolean
Log client IP address.
operationNameFormat string
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
resourceGroupName Changes to this property will trigger replacement. string
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
samplingPercentage number
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity string
Logging verbosity. Possible values are verbose, information or error.
always_log_errors bool
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
api_management_logger_id str
The id of the target API Management Logger where the API Management Diagnostic should be saved.
api_management_name Changes to this property will trigger replacement. str
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
backend_request DiagnosticBackendRequestArgs
A backend_request block as defined below.
backend_response DiagnosticBackendResponseArgs
A backend_response block as defined below.
frontend_request DiagnosticFrontendRequestArgs
A frontend_request block as defined below.
frontend_response DiagnosticFrontendResponseArgs
A frontend_response block as defined below.
http_correlation_protocol str
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
identifier Changes to this property will trigger replacement. str
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
log_client_ip bool
Log client IP address.
operation_name_format str
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
resource_group_name Changes to this property will trigger replacement. str
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
sampling_percentage float
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity str
Logging verbosity. Possible values are verbose, information or error.
alwaysLogErrors Boolean
Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
apiManagementLoggerId String
The id of the target API Management Logger where the API Management Diagnostic should be saved.
apiManagementName Changes to this property will trigger replacement. String
The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
backendRequest Property Map
A backend_request block as defined below.
backendResponse Property Map
A backend_response block as defined below.
frontendRequest Property Map
A frontend_request block as defined below.
frontendResponse Property Map
A frontend_response block as defined below.
httpCorrelationProtocol String
The HTTP Correlation Protocol to use. Possible values are None, Legacy or W3C.
identifier Changes to this property will trigger replacement. String
The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsights and azuremonitor. Changing this forces a new resource to be created.
logClientIp Boolean
Log client IP address.
operationNameFormat String
The format of the Operation Name for Application Insights telemetries. Possible values are Name, and Url.
resourceGroupName Changes to this property will trigger replacement. String
The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
samplingPercentage Number
Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0 and 100.0.
verbosity String
Logging verbosity. Possible values are verbose, information or error.

Supporting Types

DiagnosticBackendRequest
, DiagnosticBackendRequestArgs

BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticBackendRequestDataMasking
A data_masking block as defined below.
HeadersToLogs List<string>
Specifies a list of headers to log.
BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticBackendRequestDataMasking
A data_masking block as defined below.
HeadersToLogs []string
Specifies a list of headers to log.
bodyBytes Integer
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticBackendRequestDataMasking
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.
bodyBytes number
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticBackendRequestDataMasking
A data_masking block as defined below.
headersToLogs string[]
Specifies a list of headers to log.
body_bytes int
Number of payload bytes to log (up to 8192).
data_masking DiagnosticBackendRequestDataMasking
A data_masking block as defined below.
headers_to_logs Sequence[str]
Specifies a list of headers to log.
bodyBytes Number
Number of payload bytes to log (up to 8192).
dataMasking Property Map
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.

DiagnosticBackendRequestDataMasking
, DiagnosticBackendRequestDataMaskingArgs

Headers []DiagnosticBackendRequestDataMaskingHeader
A headers block as defined below.
QueryParams []DiagnosticBackendRequestDataMaskingQueryParam
A query_params block as defined below.
headers DiagnosticBackendRequestDataMaskingHeader[]
A headers block as defined below.
queryParams DiagnosticBackendRequestDataMaskingQueryParam[]
A query_params block as defined below.
headers List<Property Map>
A headers block as defined below.
queryParams List<Property Map>
A query_params block as defined below.

DiagnosticBackendRequestDataMaskingHeader
, DiagnosticBackendRequestDataMaskingHeaderArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

DiagnosticBackendRequestDataMaskingQueryParam
, DiagnosticBackendRequestDataMaskingQueryParamArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

DiagnosticBackendResponse
, DiagnosticBackendResponseArgs

BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticBackendResponseDataMasking
A data_masking block as defined below.
HeadersToLogs List<string>
Specifies a list of headers to log.
BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticBackendResponseDataMasking
A data_masking block as defined below.
HeadersToLogs []string
Specifies a list of headers to log.
bodyBytes Integer
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticBackendResponseDataMasking
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.
bodyBytes number
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticBackendResponseDataMasking
A data_masking block as defined below.
headersToLogs string[]
Specifies a list of headers to log.
body_bytes int
Number of payload bytes to log (up to 8192).
data_masking DiagnosticBackendResponseDataMasking
A data_masking block as defined below.
headers_to_logs Sequence[str]
Specifies a list of headers to log.
bodyBytes Number
Number of payload bytes to log (up to 8192).
dataMasking Property Map
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.

DiagnosticBackendResponseDataMasking
, DiagnosticBackendResponseDataMaskingArgs

headers List<Property Map>
A headers block as defined below.
queryParams List<Property Map>
A query_params block as defined below.

DiagnosticBackendResponseDataMaskingHeader
, DiagnosticBackendResponseDataMaskingHeaderArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

DiagnosticBackendResponseDataMaskingQueryParam
, DiagnosticBackendResponseDataMaskingQueryParamArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

DiagnosticFrontendRequest
, DiagnosticFrontendRequestArgs

BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticFrontendRequestDataMasking
A data_masking block as defined below.
HeadersToLogs List<string>
Specifies a list of headers to log.
BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticFrontendRequestDataMasking
A data_masking block as defined below.
HeadersToLogs []string
Specifies a list of headers to log.
bodyBytes Integer
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticFrontendRequestDataMasking
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.
bodyBytes number
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticFrontendRequestDataMasking
A data_masking block as defined below.
headersToLogs string[]
Specifies a list of headers to log.
body_bytes int
Number of payload bytes to log (up to 8192).
data_masking DiagnosticFrontendRequestDataMasking
A data_masking block as defined below.
headers_to_logs Sequence[str]
Specifies a list of headers to log.
bodyBytes Number
Number of payload bytes to log (up to 8192).
dataMasking Property Map
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.

DiagnosticFrontendRequestDataMasking
, DiagnosticFrontendRequestDataMaskingArgs

headers List<Property Map>
A headers block as defined below.
queryParams List<Property Map>
A query_params block as defined below.

DiagnosticFrontendRequestDataMaskingHeader
, DiagnosticFrontendRequestDataMaskingHeaderArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

DiagnosticFrontendRequestDataMaskingQueryParam
, DiagnosticFrontendRequestDataMaskingQueryParamArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

DiagnosticFrontendResponse
, DiagnosticFrontendResponseArgs

BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticFrontendResponseDataMasking
A data_masking block as defined below.
HeadersToLogs List<string>
Specifies a list of headers to log.
BodyBytes int
Number of payload bytes to log (up to 8192).
DataMasking DiagnosticFrontendResponseDataMasking
A data_masking block as defined below.
HeadersToLogs []string
Specifies a list of headers to log.
bodyBytes Integer
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticFrontendResponseDataMasking
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.
bodyBytes number
Number of payload bytes to log (up to 8192).
dataMasking DiagnosticFrontendResponseDataMasking
A data_masking block as defined below.
headersToLogs string[]
Specifies a list of headers to log.
body_bytes int
Number of payload bytes to log (up to 8192).
data_masking DiagnosticFrontendResponseDataMasking
A data_masking block as defined below.
headers_to_logs Sequence[str]
Specifies a list of headers to log.
bodyBytes Number
Number of payload bytes to log (up to 8192).
dataMasking Property Map
A data_masking block as defined below.
headersToLogs List<String>
Specifies a list of headers to log.

DiagnosticFrontendResponseDataMasking
, DiagnosticFrontendResponseDataMaskingArgs

headers List<Property Map>
A headers block as defined below.
queryParams List<Property Map>
A query_params block as defined below.

DiagnosticFrontendResponseDataMaskingHeader
, DiagnosticFrontendResponseDataMaskingHeaderArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

DiagnosticFrontendResponseDataMaskingQueryParam
, DiagnosticFrontendResponseDataMaskingQueryParamArgs

Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
Mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
Value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.
mode This property is required. string
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. string
The name of the header or the query parameter to mask.
mode This property is required. str
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. str
The name of the header or the query parameter to mask.
mode This property is required. String
The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
value This property is required. String
The name of the header or the query parameter to mask.

Import

API Management Diagnostics can be imported using the resource id, e.g.

$ pulumi import azure:apimanagement/diagnostic:Diagnostic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/diagnostics/applicationinsights
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Azure Classic pulumi/pulumi-azure
License
Apache-2.0
Notes
This Pulumi package is based on the azurerm Terraform Provider.