We recommend using Azure Native.
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",
        ],
    },
});
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",
        ],
    })
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
	})
}
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",
            },
        },
    });
});
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());
    }
}
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
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 string
- The unique name of the resource.
- args DiagnosticArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args DiagnosticArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DiagnosticArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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",
});
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"),
})
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());
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")
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",
});
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
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:
- ApiManagement stringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- ApiManagement stringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- Identifier string
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
- AlwaysLog boolErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- BackendRequest DiagnosticBackend Request 
- A backend_requestblock as defined below.
- BackendResponse DiagnosticBackend Response 
- A backend_responseblock as defined below.
- FrontendRequest DiagnosticFrontend Request 
- A frontend_requestblock as defined below.
- FrontendResponse DiagnosticFrontend Response 
- A frontend_responseblock as defined below.
- HttpCorrelation stringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- LogClient boolIp 
- Log client IP address.
- OperationName stringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- SamplingPercentage double
- Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0and100.0.
- Verbosity string
- Logging verbosity. Possible values are verbose,informationorerror.
- ApiManagement stringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- ApiManagement stringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- Identifier string
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
- AlwaysLog boolErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- BackendRequest DiagnosticBackend Request Args 
- A backend_requestblock as defined below.
- BackendResponse DiagnosticBackend Response Args 
- A backend_responseblock as defined below.
- FrontendRequest DiagnosticFrontend Request Args 
- A frontend_requestblock as defined below.
- FrontendResponse DiagnosticFrontend Response Args 
- A frontend_responseblock as defined below.
- HttpCorrelation stringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- LogClient boolIp 
- Log client IP address.
- OperationName stringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- SamplingPercentage float64
- Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0and100.0.
- Verbosity string
- Logging verbosity. Possible values are verbose,informationorerror.
- apiManagement StringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- apiManagement StringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- identifier String
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- resourceGroup StringName 
- The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
- alwaysLog BooleanErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- backendRequest DiagnosticBackend Request 
- A backend_requestblock as defined below.
- backendResponse DiagnosticBackend Response 
- A backend_responseblock as defined below.
- frontendRequest DiagnosticFrontend Request 
- A frontend_requestblock as defined below.
- frontendResponse DiagnosticFrontend Response 
- A frontend_responseblock as defined below.
- httpCorrelation StringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- logClient BooleanIp 
- Log client IP address.
- operationName StringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- samplingPercentage Double
- Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0and100.0.
- verbosity String
- Logging verbosity. Possible values are verbose,informationorerror.
- apiManagement stringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- apiManagement stringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- identifier string
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- resourceGroup stringName 
- The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
- alwaysLog booleanErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- backendRequest DiagnosticBackend Request 
- A backend_requestblock as defined below.
- backendResponse DiagnosticBackend Response 
- A backend_responseblock as defined below.
- frontendRequest DiagnosticFrontend Request 
- A frontend_requestblock as defined below.
- frontendResponse DiagnosticFrontend Response 
- A frontend_responseblock as defined below.
- httpCorrelation stringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- logClient booleanIp 
- Log client IP address.
- operationName stringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- samplingPercentage number
- Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0and100.0.
- verbosity string
- Logging verbosity. Possible values are verbose,informationorerror.
- api_management_ strlogger_ id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- api_management_ strname 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- identifier str
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- resource_group_ strname 
- The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
- always_log_ boolerrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- backend_request DiagnosticBackend Request Args 
- A backend_requestblock as defined below.
- backend_response DiagnosticBackend Response Args 
- A backend_responseblock as defined below.
- frontend_request DiagnosticFrontend Request Args 
- A frontend_requestblock as defined below.
- frontend_response DiagnosticFrontend Response Args 
- A frontend_responseblock as defined below.
- http_correlation_ strprotocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- log_client_ boolip 
- Log client IP address.
- operation_name_ strformat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- sampling_percentage float
- Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0and100.0.
- verbosity str
- Logging verbosity. Possible values are verbose,informationorerror.
- apiManagement StringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- apiManagement StringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- identifier String
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- resourceGroup StringName 
- The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created.
- alwaysLog BooleanErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- backendRequest Property Map
- A backend_requestblock as defined below.
- backendResponse Property Map
- A backend_responseblock as defined below.
- frontendRequest Property Map
- A frontend_requestblock as defined below.
- frontendResponse Property Map
- A frontend_responseblock as defined below.
- httpCorrelation StringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- logClient BooleanIp 
- Log client IP address.
- operationName StringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- samplingPercentage Number
- Sampling (%). For high traffic APIs, please read this documentation to understand performance implications and log sampling. Valid values are between 0.0and100.0.
- verbosity String
- Logging verbosity. Possible values are verbose,informationorerror.
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) -> Diagnosticfunc 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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.
- AlwaysLog boolErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- ApiManagement stringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- ApiManagement stringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- BackendRequest DiagnosticBackend Request 
- A backend_requestblock as defined below.
- BackendResponse DiagnosticBackend Response 
- A backend_responseblock as defined below.
- FrontendRequest DiagnosticFrontend Request 
- A frontend_requestblock as defined below.
- FrontendResponse DiagnosticFrontend Response 
- A frontend_responseblock as defined below.
- HttpCorrelation stringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- Identifier string
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- LogClient boolIp 
- Log client IP address.
- OperationName stringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- ResourceGroup stringName 
- 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.0and100.0.
- Verbosity string
- Logging verbosity. Possible values are verbose,informationorerror.
- AlwaysLog boolErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- ApiManagement stringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- ApiManagement stringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- BackendRequest DiagnosticBackend Request Args 
- A backend_requestblock as defined below.
- BackendResponse DiagnosticBackend Response Args 
- A backend_responseblock as defined below.
- FrontendRequest DiagnosticFrontend Request Args 
- A frontend_requestblock as defined below.
- FrontendResponse DiagnosticFrontend Response Args 
- A frontend_responseblock as defined below.
- HttpCorrelation stringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- Identifier string
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- LogClient boolIp 
- Log client IP address.
- OperationName stringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- ResourceGroup stringName 
- 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.0and100.0.
- Verbosity string
- Logging verbosity. Possible values are verbose,informationorerror.
- alwaysLog BooleanErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- apiManagement StringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- apiManagement StringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- backendRequest DiagnosticBackend Request 
- A backend_requestblock as defined below.
- backendResponse DiagnosticBackend Response 
- A backend_responseblock as defined below.
- frontendRequest DiagnosticFrontend Request 
- A frontend_requestblock as defined below.
- frontendResponse DiagnosticFrontend Response 
- A frontend_responseblock as defined below.
- httpCorrelation StringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- identifier String
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- logClient BooleanIp 
- Log client IP address.
- operationName StringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- resourceGroup StringName 
- 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.0and100.0.
- verbosity String
- Logging verbosity. Possible values are verbose,informationorerror.
- alwaysLog booleanErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- apiManagement stringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- apiManagement stringName 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- backendRequest DiagnosticBackend Request 
- A backend_requestblock as defined below.
- backendResponse DiagnosticBackend Response 
- A backend_responseblock as defined below.
- frontendRequest DiagnosticFrontend Request 
- A frontend_requestblock as defined below.
- frontendResponse DiagnosticFrontend Response 
- A frontend_responseblock as defined below.
- httpCorrelation stringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- identifier string
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- logClient booleanIp 
- Log client IP address.
- operationName stringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- resourceGroup stringName 
- 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.0and100.0.
- verbosity string
- Logging verbosity. Possible values are verbose,informationorerror.
- always_log_ boolerrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- api_management_ strlogger_ id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- api_management_ strname 
- The Name of the API Management Service where this Diagnostic should be created. Changing this forces a new resource to be created.
- backend_request DiagnosticBackend Request Args 
- A backend_requestblock as defined below.
- backend_response DiagnosticBackend Response Args 
- A backend_responseblock as defined below.
- frontend_request DiagnosticFrontend Request Args 
- A frontend_requestblock as defined below.
- frontend_response DiagnosticFrontend Response Args 
- A frontend_responseblock as defined below.
- http_correlation_ strprotocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- identifier str
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- log_client_ boolip 
- Log client IP address.
- operation_name_ strformat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- resource_group_ strname 
- 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.0and100.0.
- verbosity str
- Logging verbosity. Possible values are verbose,informationorerror.
- alwaysLog BooleanErrors 
- Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
- apiManagement StringLogger Id 
- The id of the target API Management Logger where the API Management Diagnostic should be saved.
- apiManagement StringName 
- 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_requestblock as defined below.
- backendResponse Property Map
- A backend_responseblock as defined below.
- frontendRequest Property Map
- A frontend_requestblock as defined below.
- frontendResponse Property Map
- A frontend_responseblock as defined below.
- httpCorrelation StringProtocol 
- The HTTP Correlation Protocol to use. Possible values are None,LegacyorW3C.
- identifier String
- The diagnostic identifier for the API Management Service. At this time the supported values are applicationinsightsandazuremonitor. Changing this forces a new resource to be created.
- logClient BooleanIp 
- Log client IP address.
- operationName StringFormat 
- The format of the Operation Name for Application Insights telemetries. Possible values are Name, andUrl.
- resourceGroup StringName 
- 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.0and100.0.
- verbosity String
- Logging verbosity. Possible values are verbose,informationorerror.
Supporting Types
DiagnosticBackendRequest, DiagnosticBackendRequestArgs      
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticBackend Request Data Masking 
- A data_maskingblock as defined below.
- HeadersTo List<string>Logs 
- Specifies a list of headers to log.
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticBackend Request Data Masking 
- A data_maskingblock as defined below.
- HeadersTo []stringLogs 
- Specifies a list of headers to log.
- bodyBytes Integer
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticBackend Request Data Masking 
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
- bodyBytes number
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticBackend Request Data Masking 
- A data_maskingblock as defined below.
- headersTo string[]Logs 
- Specifies a list of headers to log.
- body_bytes int
- Number of payload bytes to log (up to 8192).
- data_masking DiagnosticBackend Request Data Masking 
- A data_maskingblock as defined below.
- headers_to_ Sequence[str]logs 
- Specifies a list of headers to log.
- bodyBytes Number
- Number of payload bytes to log (up to 8192).
- dataMasking Property Map
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
DiagnosticBackendRequestDataMasking, DiagnosticBackendRequestDataMaskingArgs          
- Headers
List<DiagnosticBackend Request Data Masking Header> 
- A headersblock as defined below.
- QueryParams List<DiagnosticBackend Request Data Masking Query Param> 
- A query_paramsblock as defined below.
- Headers
[]DiagnosticBackend Request Data Masking Header 
- A headersblock as defined below.
- QueryParams []DiagnosticBackend Request Data Masking Query Param 
- A query_paramsblock as defined below.
- headers
List<DiagnosticBackend Request Data Masking Header> 
- A headersblock as defined below.
- queryParams List<DiagnosticBackend Request Data Masking Query Param> 
- A query_paramsblock as defined below.
- headers
DiagnosticBackend Request Data Masking Header[] 
- A headersblock as defined below.
- queryParams DiagnosticBackend Request Data Masking Query Param[] 
- A query_paramsblock as defined below.
- headers
Sequence[DiagnosticBackend Request Data Masking Header] 
- A headersblock as defined below.
- query_params Sequence[DiagnosticBackend Request Data Masking Query Param] 
- A query_paramsblock as defined below.
- headers List<Property Map>
- A headersblock as defined below.
- queryParams List<Property Map>
- A query_paramsblock as defined below.
DiagnosticBackendRequestDataMaskingHeader, DiagnosticBackendRequestDataMaskingHeaderArgs            
DiagnosticBackendRequestDataMaskingQueryParam, DiagnosticBackendRequestDataMaskingQueryParamArgs              
DiagnosticBackendResponse, DiagnosticBackendResponseArgs      
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticBackend Response Data Masking 
- A data_maskingblock as defined below.
- HeadersTo List<string>Logs 
- Specifies a list of headers to log.
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticBackend Response Data Masking 
- A data_maskingblock as defined below.
- HeadersTo []stringLogs 
- Specifies a list of headers to log.
- bodyBytes Integer
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticBackend Response Data Masking 
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
- bodyBytes number
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticBackend Response Data Masking 
- A data_maskingblock as defined below.
- headersTo string[]Logs 
- Specifies a list of headers to log.
- body_bytes int
- Number of payload bytes to log (up to 8192).
- data_masking DiagnosticBackend Response Data Masking 
- A data_maskingblock as defined below.
- headers_to_ Sequence[str]logs 
- Specifies a list of headers to log.
- bodyBytes Number
- Number of payload bytes to log (up to 8192).
- dataMasking Property Map
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
DiagnosticBackendResponseDataMasking, DiagnosticBackendResponseDataMaskingArgs          
- Headers
List<DiagnosticBackend Response Data Masking Header> 
- A headersblock as defined below.
- QueryParams List<DiagnosticBackend Response Data Masking Query Param> 
- A query_paramsblock as defined below.
- Headers
[]DiagnosticBackend Response Data Masking Header 
- A headersblock as defined below.
- QueryParams []DiagnosticBackend Response Data Masking Query Param 
- A query_paramsblock as defined below.
- headers
List<DiagnosticBackend Response Data Masking Header> 
- A headersblock as defined below.
- queryParams List<DiagnosticBackend Response Data Masking Query Param> 
- A query_paramsblock as defined below.
- headers
DiagnosticBackend Response Data Masking Header[] 
- A headersblock as defined below.
- queryParams DiagnosticBackend Response Data Masking Query Param[] 
- A query_paramsblock as defined below.
- headers
Sequence[DiagnosticBackend Response Data Masking Header] 
- A headersblock as defined below.
- query_params Sequence[DiagnosticBackend Response Data Masking Query Param] 
- A query_paramsblock as defined below.
- headers List<Property Map>
- A headersblock as defined below.
- queryParams List<Property Map>
- A query_paramsblock as defined below.
DiagnosticBackendResponseDataMaskingHeader, DiagnosticBackendResponseDataMaskingHeaderArgs            
DiagnosticBackendResponseDataMaskingQueryParam, DiagnosticBackendResponseDataMaskingQueryParamArgs              
DiagnosticFrontendRequest, DiagnosticFrontendRequestArgs      
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticFrontend Request Data Masking 
- A data_maskingblock as defined below.
- HeadersTo List<string>Logs 
- Specifies a list of headers to log.
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticFrontend Request Data Masking 
- A data_maskingblock as defined below.
- HeadersTo []stringLogs 
- Specifies a list of headers to log.
- bodyBytes Integer
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticFrontend Request Data Masking 
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
- bodyBytes number
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticFrontend Request Data Masking 
- A data_maskingblock as defined below.
- headersTo string[]Logs 
- Specifies a list of headers to log.
- body_bytes int
- Number of payload bytes to log (up to 8192).
- data_masking DiagnosticFrontend Request Data Masking 
- A data_maskingblock as defined below.
- headers_to_ Sequence[str]logs 
- Specifies a list of headers to log.
- bodyBytes Number
- Number of payload bytes to log (up to 8192).
- dataMasking Property Map
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
DiagnosticFrontendRequestDataMasking, DiagnosticFrontendRequestDataMaskingArgs          
- Headers
List<DiagnosticFrontend Request Data Masking Header> 
- A headersblock as defined below.
- QueryParams List<DiagnosticFrontend Request Data Masking Query Param> 
- A query_paramsblock as defined below.
- Headers
[]DiagnosticFrontend Request Data Masking Header 
- A headersblock as defined below.
- QueryParams []DiagnosticFrontend Request Data Masking Query Param 
- A query_paramsblock as defined below.
- headers
List<DiagnosticFrontend Request Data Masking Header> 
- A headersblock as defined below.
- queryParams List<DiagnosticFrontend Request Data Masking Query Param> 
- A query_paramsblock as defined below.
- headers
DiagnosticFrontend Request Data Masking Header[] 
- A headersblock as defined below.
- queryParams DiagnosticFrontend Request Data Masking Query Param[] 
- A query_paramsblock as defined below.
- headers
Sequence[DiagnosticFrontend Request Data Masking Header] 
- A headersblock as defined below.
- query_params Sequence[DiagnosticFrontend Request Data Masking Query Param] 
- A query_paramsblock as defined below.
- headers List<Property Map>
- A headersblock as defined below.
- queryParams List<Property Map>
- A query_paramsblock as defined below.
DiagnosticFrontendRequestDataMaskingHeader, DiagnosticFrontendRequestDataMaskingHeaderArgs            
DiagnosticFrontendRequestDataMaskingQueryParam, DiagnosticFrontendRequestDataMaskingQueryParamArgs              
DiagnosticFrontendResponse, DiagnosticFrontendResponseArgs      
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticFrontend Response Data Masking 
- A data_maskingblock as defined below.
- HeadersTo List<string>Logs 
- Specifies a list of headers to log.
- BodyBytes int
- Number of payload bytes to log (up to 8192).
- DataMasking DiagnosticFrontend Response Data Masking 
- A data_maskingblock as defined below.
- HeadersTo []stringLogs 
- Specifies a list of headers to log.
- bodyBytes Integer
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticFrontend Response Data Masking 
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
- bodyBytes number
- Number of payload bytes to log (up to 8192).
- dataMasking DiagnosticFrontend Response Data Masking 
- A data_maskingblock as defined below.
- headersTo string[]Logs 
- Specifies a list of headers to log.
- body_bytes int
- Number of payload bytes to log (up to 8192).
- data_masking DiagnosticFrontend Response Data Masking 
- A data_maskingblock as defined below.
- headers_to_ Sequence[str]logs 
- Specifies a list of headers to log.
- bodyBytes Number
- Number of payload bytes to log (up to 8192).
- dataMasking Property Map
- A data_maskingblock as defined below.
- headersTo List<String>Logs 
- Specifies a list of headers to log.
DiagnosticFrontendResponseDataMasking, DiagnosticFrontendResponseDataMaskingArgs          
- Headers
List<DiagnosticFrontend Response Data Masking Header> 
- A headersblock as defined below.
- QueryParams List<DiagnosticFrontend Response Data Masking Query Param> 
- A query_paramsblock as defined below.
- Headers
[]DiagnosticFrontend Response Data Masking Header 
- A headersblock as defined below.
- QueryParams []DiagnosticFrontend Response Data Masking Query Param 
- A query_paramsblock as defined below.
- headers
List<DiagnosticFrontend Response Data Masking Header> 
- A headersblock as defined below.
- queryParams List<DiagnosticFrontend Response Data Masking Query Param> 
- A query_paramsblock as defined below.
- headers
DiagnosticFrontend Response Data Masking Header[] 
- A headersblock as defined below.
- queryParams DiagnosticFrontend Response Data Masking Query Param[] 
- A query_paramsblock as defined below.
- headers
Sequence[DiagnosticFrontend Response Data Masking Header] 
- A headersblock as defined below.
- query_params Sequence[DiagnosticFrontend Response Data Masking Query Param] 
- A query_paramsblock as defined below.
- headers List<Property Map>
- A headersblock as defined below.
- queryParams List<Property Map>
- A query_paramsblock as defined below.
DiagnosticFrontendResponseDataMaskingHeader, DiagnosticFrontendResponseDataMaskingHeaderArgs            
DiagnosticFrontendResponseDataMaskingQueryParam, DiagnosticFrontendResponseDataMaskingQueryParamArgs              
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
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 azurermTerraform Provider.