Azure Classic

v5.19.0 published on Friday, Sep 16, 2022 by Pulumi

Diagnostic

Manages an API Management Service Diagnostic.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Azure = Pulumi.Azure;

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

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

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

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

    var exampleDiagnostic = new Azure.ApiManagement.Diagnostic("exampleDiagnostic", new()
    {
        Identifier = "applicationinsights",
        ResourceGroupName = exampleResourceGroup.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 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 {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleInsights, err := appinsights.NewInsights(ctx, "exampleInsights", &appinsights.InsightsArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			ApplicationType:   pulumi.String("web"),
		})
		if err != nil {
			return err
		}
		exampleService, err := apimanagement.NewService(ctx, "exampleService", &apimanagement.ServiceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.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, "exampleLogger", &apimanagement.LoggerArgs{
			ApiManagementName: exampleService.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			ApplicationInsights: &apimanagement.LoggerApplicationInsightsArgs{
				InstrumentationKey: exampleInsights.InstrumentationKey,
			},
		})
		if err != nil {
			return err
		}
		_, err = apimanagement.NewDiagnostic(ctx, "exampleDiagnostic", &apimanagement.DiagnosticArgs{
			Identifier:              pulumi.String("applicationinsights"),
			ResourceGroupName:       exampleResourceGroup.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
	})
}
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
            .location("West Europe")
            .build());

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

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

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

        var exampleDiagnostic = new Diagnostic("exampleDiagnostic", DiagnosticArgs.builder()        
            .identifier("applicationinsights")
            .resourceGroupName(exampleResourceGroup.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());

    }
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_insights = azure.appinsights.Insights("exampleInsights",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    application_type="web")
example_service = azure.apimanagement.Service("exampleService",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    publisher_name="My Company",
    publisher_email="company@mycompany.io",
    sku_name="Developer_1")
example_logger = azure.apimanagement.Logger("exampleLogger",
    api_management_name=example_service.name,
    resource_group_name=example_resource_group.name,
    application_insights=azure.apimanagement.LoggerApplicationInsightsArgs(
        instrumentation_key=example_insights.instrumentation_key,
    ))
example_diagnostic = azure.apimanagement.Diagnostic("exampleDiagnostic",
    identifier="applicationinsights",
    resource_group_name=example_resource_group.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",
        ],
    ))
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleInsights = new azure.appinsights.Insights("exampleInsights", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    applicationType: "web",
});
const exampleService = new azure.apimanagement.Service("exampleService", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    publisherName: "My Company",
    publisherEmail: "company@mycompany.io",
    skuName: "Developer_1",
});
const exampleLogger = new azure.apimanagement.Logger("exampleLogger", {
    apiManagementName: exampleService.name,
    resourceGroupName: exampleResourceGroup.name,
    applicationInsights: {
        instrumentationKey: exampleInsights.instrumentationKey,
    },
});
const exampleDiagnostic = new azure.apimanagement.Diagnostic("exampleDiagnostic", {
    identifier: "applicationinsights",
    resourceGroupName: exampleResourceGroup.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",
        ],
    },
});
resources:
  exampleResourceGroup:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  exampleInsights:
    type: azure:appinsights:Insights
    properties:
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
      applicationType: web
  exampleService:
    type: azure:apimanagement:Service
    properties:
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
      publisherName: My Company
      publisherEmail: company@mycompany.io
      skuName: Developer_1
  exampleLogger:
    type: azure:apimanagement:Logger
    properties:
      apiManagementName: ${exampleService.name}
      resourceGroupName: ${exampleResourceGroup.name}
      applicationInsights:
        instrumentationKey: ${exampleInsights.instrumentationKey}
  exampleDiagnostic:
    type: azure:apimanagement:Diagnostic
    properties:
      identifier: applicationinsights
      resourceGroupName: ${exampleResourceGroup.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 a Diagnostic Resource

new Diagnostic(name: string, args: DiagnosticArgs, opts?: CustomResourceOptions);
@overload
def Diagnostic(resource_name: 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)
@overload
def Diagnostic(resource_name: str,
               args: DiagnosticArgs,
               opts: Optional[ResourceOptions] = 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.

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.

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 only supported value is applicationinsights. 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 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 only supported value is applicationinsights. 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 only supported value is applicationinsights. 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 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 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 only supported value is applicationinsights. 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 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 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 only supported value is applicationinsights. 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 only supported value is applicationinsights. 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 an 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 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 only supported value is applicationinsights. 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 only supported value is applicationinsights. 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 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 only supported value is applicationinsights. 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 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 only supported value is applicationinsights. 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 only supported value is applicationinsights. 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 only supported value is applicationinsights. 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

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticBackendRequestDataMasking
HeadersToLogs List<string>

Specifies a list of headers to log.

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticBackendRequestDataMasking
HeadersToLogs []string

Specifies a list of headers to log.

bodyBytes Integer

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticBackendRequestDataMasking
headersToLogs List<String>

Specifies a list of headers to log.

bodyBytes number

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticBackendRequestDataMasking
headersToLogs string[]

Specifies a list of headers to log.

body_bytes int

Number of payload bytes to log (up to 8192).

data_masking DiagnosticBackendRequestDataMasking
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
headersToLogs List<String>

Specifies a list of headers to log.

DiagnosticBackendRequestDataMasking

DiagnosticBackendRequestDataMaskingHeader

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

DiagnosticBackendRequestDataMaskingQueryParam

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

DiagnosticBackendResponse

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticBackendResponseDataMasking
HeadersToLogs List<string>

Specifies a list of headers to log.

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticBackendResponseDataMasking
HeadersToLogs []string

Specifies a list of headers to log.

bodyBytes Integer

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticBackendResponseDataMasking
headersToLogs List<String>

Specifies a list of headers to log.

bodyBytes number

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticBackendResponseDataMasking
headersToLogs string[]

Specifies a list of headers to log.

body_bytes int

Number of payload bytes to log (up to 8192).

data_masking DiagnosticBackendResponseDataMasking
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
headersToLogs List<String>

Specifies a list of headers to log.

DiagnosticBackendResponseDataMasking

DiagnosticBackendResponseDataMaskingHeader

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

DiagnosticBackendResponseDataMaskingQueryParam

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

DiagnosticFrontendRequest

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticFrontendRequestDataMasking
HeadersToLogs List<string>

Specifies a list of headers to log.

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticFrontendRequestDataMasking
HeadersToLogs []string

Specifies a list of headers to log.

bodyBytes Integer

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticFrontendRequestDataMasking
headersToLogs List<String>

Specifies a list of headers to log.

bodyBytes number

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticFrontendRequestDataMasking
headersToLogs string[]

Specifies a list of headers to log.

body_bytes int

Number of payload bytes to log (up to 8192).

data_masking DiagnosticFrontendRequestDataMasking
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
headersToLogs List<String>

Specifies a list of headers to log.

DiagnosticFrontendRequestDataMasking

DiagnosticFrontendRequestDataMaskingHeader

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

DiagnosticFrontendRequestDataMaskingQueryParam

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

DiagnosticFrontendResponse

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticFrontendResponseDataMasking
HeadersToLogs List<string>

Specifies a list of headers to log.

BodyBytes int

Number of payload bytes to log (up to 8192).

DataMasking DiagnosticFrontendResponseDataMasking
HeadersToLogs []string

Specifies a list of headers to log.

bodyBytes Integer

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticFrontendResponseDataMasking
headersToLogs List<String>

Specifies a list of headers to log.

bodyBytes number

Number of payload bytes to log (up to 8192).

dataMasking DiagnosticFrontendResponseDataMasking
headersToLogs string[]

Specifies a list of headers to log.

body_bytes int

Number of payload bytes to log (up to 8192).

data_masking DiagnosticFrontendResponseDataMasking
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
headersToLogs List<String>

Specifies a list of headers to log.

DiagnosticFrontendResponseDataMasking

DiagnosticFrontendResponseDataMaskingHeader

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

DiagnosticFrontendResponseDataMaskingQueryParam

Mode string
Value string
Mode string
Value string
mode String
value String
mode string
value string
mode str
value str
mode String
value String

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

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes

This Pulumi package is based on the azurerm Terraform Provider.