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

We recommend using Azure Native.

Azure Classic v5.80.0 published on Monday, Jun 10, 2024 by Pulumi

azure.apimanagement.Diagnostic

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.80.0 published on Monday, Jun 10, 2024 by Pulumi

    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=azure.apimanagement.LoggerApplicationInsightsArgs(
            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=azure.apimanagement.DiagnosticFrontendRequestArgs(
            body_bytes=32,
            headers_to_logs=[
                "content-type",
                "accept",
                "origin",
            ],
        ),
        frontend_response=azure.apimanagement.DiagnosticFrontendResponseArgs(
            body_bytes=32,
            headers_to_logs=[
                "content-type",
                "content-length",
                "origin",
            ],
        ),
        backend_request=azure.apimanagement.DiagnosticBackendRequestArgs(
            body_bytes=32,
            headers_to_logs=[
                "content-type",
                "accept",
                "origin",
            ],
        ),
        backend_response=azure.apimanagement.DiagnosticBackendResponseArgs(
            body_bytes=32,
            headers_to_logs=[
                "content-type",
                "content-length",
                "origin",
            ],
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appinsights"
    	"github.com/pulumi/pulumi-azure/sdk/v5/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.

    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=azure.apimanagement.DiagnosticFrontendResponseArgs(
            body_bytes=0,
            data_masking=azure.apimanagement.DiagnosticFrontendResponseDataMaskingArgs(
                headers=[azure.apimanagement.DiagnosticFrontendResponseDataMaskingHeaderArgs(
                    mode="string",
                    value="string",
                )],
                query_params=[azure.apimanagement.DiagnosticFrontendResponseDataMaskingQueryParamArgs(
                    mode="string",
                    value="string",
                )],
            ),
            headers_to_logs=["string"],
        ),
        frontend_request=azure.apimanagement.DiagnosticFrontendRequestArgs(
            body_bytes=0,
            data_masking=azure.apimanagement.DiagnosticFrontendRequestDataMaskingArgs(
                headers=[azure.apimanagement.DiagnosticFrontendRequestDataMaskingHeaderArgs(
                    mode="string",
                    value="string",
                )],
                query_params=[azure.apimanagement.DiagnosticFrontendRequestDataMaskingQueryParamArgs(
                    mode="string",
                    value="string",
                )],
            ),
            headers_to_logs=["string"],
        ),
        always_log_errors=False,
        http_correlation_protocol="string",
        backend_response=azure.apimanagement.DiagnosticBackendResponseArgs(
            body_bytes=0,
            data_masking=azure.apimanagement.DiagnosticBackendResponseDataMaskingArgs(
                headers=[azure.apimanagement.DiagnosticBackendResponseDataMaskingHeaderArgs(
                    mode="string",
                    value="string",
                )],
                query_params=[azure.apimanagement.DiagnosticBackendResponseDataMaskingQueryParamArgs(
                    mode="string",
                    value="string",
                )],
            ),
            headers_to_logs=["string"],
        ),
        log_client_ip=False,
        operation_name_format="string",
        backend_request=azure.apimanagement.DiagnosticBackendRequestArgs(
            body_bytes=0,
            data_masking=azure.apimanagement.DiagnosticBackendRequestDataMaskingArgs(
                headers=[azure.apimanagement.DiagnosticBackendRequestDataMaskingHeaderArgs(
                    mode="string",
                    value="string",
                )],
                query_params=[azure.apimanagement.DiagnosticBackendRequestDataMaskingQueryParamArgs(
                    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

    The Diagnostic resource accepts the following input properties:

    ApiManagementLoggerId string
    The id of the target API Management Logger where the API Management Diagnostic should be saved.
    ApiManagementName string
    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 applicationinsights and azuremonitor. Changing this forces a new resource to be created.
    ResourceGroupName 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. Defaults to Name.
    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 string
    The id of the target API Management Logger where the API Management Diagnostic should be saved.
    ApiManagementName string
    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 applicationinsights and azuremonitor. Changing this forces a new resource to be created.
    ResourceGroupName 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. Defaults to Name.
    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 String
    The id of the target API Management Logger where the API Management Diagnostic should be saved.
    apiManagementName String
    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 applicationinsights and azuremonitor. Changing this forces a new resource to be created.
    resourceGroupName 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. Defaults to Name.
    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 string
    The id of the target API Management Logger where the API Management Diagnostic should be saved.
    apiManagementName string
    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 applicationinsights and azuremonitor. Changing this forces a new resource to be created.
    resourceGroupName 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. Defaults to Name.
    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 str
    The id of the target API Management Logger where the API Management Diagnostic should be saved.
    api_management_name str
    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 applicationinsights and azuremonitor. Changing this forces a new resource to be created.
    resource_group_name 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. Defaults to Name.
    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 String
    The id of the target API Management Logger where the API Management Diagnostic should be saved.
    apiManagementName String
    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 applicationinsights and azuremonitor. Changing this forces a new resource to be created.
    resourceGroupName 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. Defaults to Name.
    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)
    Resource lookup is not supported in YAML
    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.
    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 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 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. Defaults to Name.
    ResourceGroupName 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 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 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. Defaults to Name.
    ResourceGroupName 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 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 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. Defaults to Name.
    resourceGroupName 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 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 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. Defaults to Name.
    resourceGroupName 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 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 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. Defaults to Name.
    resource_group_name 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 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 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. Defaults to Name.
    resourceGroupName 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 string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.

    DiagnosticBackendRequestDataMaskingQueryParam, DiagnosticBackendRequestDataMaskingQueryParamArgs

    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value 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 string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.

    DiagnosticBackendResponseDataMaskingQueryParam, DiagnosticBackendResponseDataMaskingQueryParamArgs

    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value 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 string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.

    DiagnosticFrontendRequestDataMaskingQueryParam, DiagnosticFrontendRequestDataMaskingQueryParamArgs

    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value 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 string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.

    DiagnosticFrontendResponseDataMaskingQueryParam, DiagnosticFrontendResponseDataMaskingQueryParamArgs

    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    Mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    Value string
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value String
    The name of the header or the query parameter to mask.
    mode string
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value string
    The name of the header or the query parameter to mask.
    mode str
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value str
    The name of the header or the query parameter to mask.
    mode String
    The data masking mode. Possible values are Mask and Hide for query_params. The only possible value is Mask for headers.
    value 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
    

    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.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.80.0 published on Monday, Jun 10, 2024 by Pulumi