1. Packages
  2. Azure Classic
  3. API Docs
  4. monitoring
  5. DataCollectionRule

We recommend using Azure Native.

Azure Classic v5.67.1 published on Tuesday, Feb 27, 2024 by Pulumi

azure.monitoring.DataCollectionRule

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.67.1 published on Tuesday, Feb 27, 2024 by Pulumi

    Manages a Data Collection Rule.

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    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 exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new()
        {
            Name = "example-uai",
            ResourceGroupName = example.Name,
            Location = example.Location,
        });
    
        var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace("example", new()
        {
            Name = "example-workspace",
            ResourceGroupName = example.Name,
            Location = example.Location,
        });
    
        var exampleAnalyticsSolution = new Azure.OperationalInsights.AnalyticsSolution("example", new()
        {
            SolutionName = "WindowsEventForwarding",
            Location = example.Location,
            ResourceGroupName = example.Name,
            WorkspaceResourceId = exampleAnalyticsWorkspace.Id,
            WorkspaceName = exampleAnalyticsWorkspace.Name,
            Plan = new Azure.OperationalInsights.Inputs.AnalyticsSolutionPlanArgs
            {
                Publisher = "Microsoft",
                Product = "OMSGallery/WindowsEventForwarding",
            },
        });
    
        var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace("example", new()
        {
            Name = "exeventns",
            Location = example.Location,
            ResourceGroupName = example.Name,
            Sku = "Standard",
            Capacity = 1,
        });
    
        var exampleEventHub = new Azure.EventHub.EventHub("example", new()
        {
            Name = "exevent2",
            NamespaceName = exampleEventHubNamespace.Name,
            ResourceGroupName = example.Name,
            PartitionCount = 2,
            MessageRetention = 1,
        });
    
        var exampleAccount = new Azure.Storage.Account("example", new()
        {
            Name = "examstorage",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
    
        var exampleContainer = new Azure.Storage.Container("example", new()
        {
            Name = "examplecontainer",
            StorageAccountName = exampleAccount.Name,
            ContainerAccessType = "private",
        });
    
        var exampleDataCollectionEndpoint = new Azure.Monitoring.DataCollectionEndpoint("example", new()
        {
            Name = "example-dcre",
            ResourceGroupName = example.Name,
            Location = example.Location,
        });
    
        var exampleDataCollectionRule = new Azure.Monitoring.DataCollectionRule("example", new()
        {
            Name = "example-rule",
            ResourceGroupName = example.Name,
            Location = example.Location,
            DataCollectionEndpointId = exampleDataCollectionEndpoint.Id,
            Destinations = new Azure.Monitoring.Inputs.DataCollectionRuleDestinationsArgs
            {
                LogAnalytics = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDestinationsLogAnalyticArgs
                    {
                        WorkspaceResourceId = exampleAnalyticsWorkspace.Id,
                        Name = "example-destination-log",
                    },
                },
                EventHub = new Azure.Monitoring.Inputs.DataCollectionRuleDestinationsEventHubArgs
                {
                    EventHubId = exampleEventHub.Id,
                    Name = "example-destination-eventhub",
                },
                StorageBlobs = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDestinationsStorageBlobArgs
                    {
                        StorageAccountId = exampleAccount.Id,
                        ContainerName = exampleContainer.Name,
                        Name = "example-destination-storage",
                    },
                },
                AzureMonitorMetrics = new Azure.Monitoring.Inputs.DataCollectionRuleDestinationsAzureMonitorMetricsArgs
                {
                    Name = "example-destination-metrics",
                },
            },
            DataFlows = new[]
            {
                new Azure.Monitoring.Inputs.DataCollectionRuleDataFlowArgs
                {
                    Streams = new[]
                    {
                        "Microsoft-InsightsMetrics",
                    },
                    Destinations = new[]
                    {
                        "example-destination-metrics",
                    },
                },
                new Azure.Monitoring.Inputs.DataCollectionRuleDataFlowArgs
                {
                    Streams = new[]
                    {
                        "Microsoft-InsightsMetrics",
                        "Microsoft-Syslog",
                        "Microsoft-Perf",
                    },
                    Destinations = new[]
                    {
                        "example-destination-log",
                    },
                },
                new Azure.Monitoring.Inputs.DataCollectionRuleDataFlowArgs
                {
                    Streams = new[]
                    {
                        "Custom-MyTableRawData",
                    },
                    Destinations = new[]
                    {
                        "example-destination-log",
                    },
                    OutputStream = "Microsoft-Syslog",
                    TransformKql = "source | project TimeGenerated = Time, Computer, Message = AdditionalContext",
                },
            },
            DataSources = new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesArgs
            {
                Syslogs = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesSyslogArgs
                    {
                        FacilityNames = new[]
                        {
                            "*",
                        },
                        LogLevels = new[]
                        {
                            "*",
                        },
                        Name = "example-datasource-syslog",
                        Streams = new[]
                        {
                            "Microsoft-Syslog",
                        },
                    },
                },
                IisLogs = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesIisLogArgs
                    {
                        Streams = new[]
                        {
                            "Microsoft-W3CIISLog",
                        },
                        Name = "example-datasource-iis",
                        LogDirectories = new[]
                        {
                            "C:\\Logs\\W3SVC1",
                        },
                    },
                },
                LogFiles = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesLogFileArgs
                    {
                        Name = "example-datasource-logfile",
                        Format = "text",
                        Streams = new[]
                        {
                            "Custom-MyTableRawData",
                        },
                        FilePatterns = new[]
                        {
                            "C:\\JavaLogs\\*.log",
                        },
                        Settings = new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesLogFileSettingsArgs
                        {
                            Text = new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesLogFileSettingsTextArgs
                            {
                                RecordStartTimestampFormat = "ISO 8601",
                            },
                        },
                    },
                },
                PerformanceCounters = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesPerformanceCounterArgs
                    {
                        Streams = new[]
                        {
                            "Microsoft-Perf",
                            "Microsoft-InsightsMetrics",
                        },
                        SamplingFrequencyInSeconds = 60,
                        CounterSpecifiers = new[]
                        {
                            "Processor(*)\\% Processor Time",
                        },
                        Name = "example-datasource-perfcounter",
                    },
                },
                WindowsEventLogs = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesWindowsEventLogArgs
                    {
                        Streams = new[]
                        {
                            "Microsoft-WindowsEvent",
                        },
                        XPathQueries = new[]
                        {
                            "*![System/Level=1]",
                        },
                        Name = "example-datasource-wineventlog",
                    },
                },
                Extensions = new[]
                {
                    new Azure.Monitoring.Inputs.DataCollectionRuleDataSourcesExtensionArgs
                    {
                        Streams = new[]
                        {
                            "Microsoft-WindowsEvent",
                        },
                        InputDataSources = new[]
                        {
                            "example-datasource-wineventlog",
                        },
                        ExtensionName = "example-extension-name",
                        ExtensionJson = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["a"] = 1,
                            ["b"] = "hello",
                        }),
                        Name = "example-datasource-extension",
                    },
                },
            },
            StreamDeclarations = new[]
            {
                new Azure.Monitoring.Inputs.DataCollectionRuleStreamDeclarationArgs
                {
                    StreamName = "Custom-MyTableRawData",
                    Columns = new[]
                    {
                        new Azure.Monitoring.Inputs.DataCollectionRuleStreamDeclarationColumnArgs
                        {
                            Name = "Time",
                            Type = "datetime",
                        },
                        new Azure.Monitoring.Inputs.DataCollectionRuleStreamDeclarationColumnArgs
                        {
                            Name = "Computer",
                            Type = "string",
                        },
                        new Azure.Monitoring.Inputs.DataCollectionRuleStreamDeclarationColumnArgs
                        {
                            Name = "AdditionalContext",
                            Type = "string",
                        },
                    },
                },
            },
            Identity = new Azure.Monitoring.Inputs.DataCollectionRuleIdentityArgs
            {
                Type = "UserAssigned",
                IdentityIds = new[]
                {
                    exampleUserAssignedIdentity.Id,
                },
            },
            Description = "data collection rule example",
            Tags = 
            {
                { "foo", "bar" },
            },
        });
    
    });
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/eventhub"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/monitoring"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
    	"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
    		}
    		exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{
    			Name:              pulumi.String("example-uai"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    		})
    		if err != nil {
    			return err
    		}
    		exampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, "example", &operationalinsights.AnalyticsWorkspaceArgs{
    			Name:              pulumi.String("example-workspace"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = operationalinsights.NewAnalyticsSolution(ctx, "example", &operationalinsights.AnalyticsSolutionArgs{
    			SolutionName:        pulumi.String("WindowsEventForwarding"),
    			Location:            example.Location,
    			ResourceGroupName:   example.Name,
    			WorkspaceResourceId: exampleAnalyticsWorkspace.ID(),
    			WorkspaceName:       exampleAnalyticsWorkspace.Name,
    			Plan: &operationalinsights.AnalyticsSolutionPlanArgs{
    				Publisher: pulumi.String("Microsoft"),
    				Product:   pulumi.String("OMSGallery/WindowsEventForwarding"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, "example", &eventhub.EventHubNamespaceArgs{
    			Name:              pulumi.String("exeventns"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			Sku:               pulumi.String("Standard"),
    			Capacity:          pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		exampleEventHub, err := eventhub.NewEventHub(ctx, "example", &eventhub.EventHubArgs{
    			Name:              pulumi.String("exevent2"),
    			NamespaceName:     exampleEventHubNamespace.Name,
    			ResourceGroupName: example.Name,
    			PartitionCount:    pulumi.Int(2),
    			MessageRetention:  pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
    			Name:                   pulumi.String("examstorage"),
    			ResourceGroupName:      example.Name,
    			Location:               example.Location,
    			AccountTier:            pulumi.String("Standard"),
    			AccountReplicationType: pulumi.String("LRS"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
    			Name:                pulumi.String("examplecontainer"),
    			StorageAccountName:  exampleAccount.Name,
    			ContainerAccessType: pulumi.String("private"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleDataCollectionEndpoint, err := monitoring.NewDataCollectionEndpoint(ctx, "example", &monitoring.DataCollectionEndpointArgs{
    			Name:              pulumi.String("example-dcre"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"a": 1,
    			"b": "hello",
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		_, err = monitoring.NewDataCollectionRule(ctx, "example", &monitoring.DataCollectionRuleArgs{
    			Name:                     pulumi.String("example-rule"),
    			ResourceGroupName:        example.Name,
    			Location:                 example.Location,
    			DataCollectionEndpointId: exampleDataCollectionEndpoint.ID(),
    			Destinations: &monitoring.DataCollectionRuleDestinationsArgs{
    				LogAnalytics: monitoring.DataCollectionRuleDestinationsLogAnalyticArray{
    					&monitoring.DataCollectionRuleDestinationsLogAnalyticArgs{
    						WorkspaceResourceId: exampleAnalyticsWorkspace.ID(),
    						Name:                pulumi.String("example-destination-log"),
    					},
    				},
    				EventHub: &monitoring.DataCollectionRuleDestinationsEventHubArgs{
    					EventHubId: exampleEventHub.ID(),
    					Name:       pulumi.String("example-destination-eventhub"),
    				},
    				StorageBlobs: monitoring.DataCollectionRuleDestinationsStorageBlobArray{
    					&monitoring.DataCollectionRuleDestinationsStorageBlobArgs{
    						StorageAccountId: exampleAccount.ID(),
    						ContainerName:    exampleContainer.Name,
    						Name:             pulumi.String("example-destination-storage"),
    					},
    				},
    				AzureMonitorMetrics: &monitoring.DataCollectionRuleDestinationsAzureMonitorMetricsArgs{
    					Name: pulumi.String("example-destination-metrics"),
    				},
    			},
    			DataFlows: monitoring.DataCollectionRuleDataFlowArray{
    				&monitoring.DataCollectionRuleDataFlowArgs{
    					Streams: pulumi.StringArray{
    						pulumi.String("Microsoft-InsightsMetrics"),
    					},
    					Destinations: pulumi.StringArray{
    						pulumi.String("example-destination-metrics"),
    					},
    				},
    				&monitoring.DataCollectionRuleDataFlowArgs{
    					Streams: pulumi.StringArray{
    						pulumi.String("Microsoft-InsightsMetrics"),
    						pulumi.String("Microsoft-Syslog"),
    						pulumi.String("Microsoft-Perf"),
    					},
    					Destinations: pulumi.StringArray{
    						pulumi.String("example-destination-log"),
    					},
    				},
    				&monitoring.DataCollectionRuleDataFlowArgs{
    					Streams: pulumi.StringArray{
    						pulumi.String("Custom-MyTableRawData"),
    					},
    					Destinations: pulumi.StringArray{
    						pulumi.String("example-destination-log"),
    					},
    					OutputStream: pulumi.String("Microsoft-Syslog"),
    					TransformKql: pulumi.String("source | project TimeGenerated = Time, Computer, Message = AdditionalContext"),
    				},
    			},
    			DataSources: &monitoring.DataCollectionRuleDataSourcesArgs{
    				Syslogs: monitoring.DataCollectionRuleDataSourcesSyslogArray{
    					&monitoring.DataCollectionRuleDataSourcesSyslogArgs{
    						FacilityNames: pulumi.StringArray{
    							pulumi.String("*"),
    						},
    						LogLevels: pulumi.StringArray{
    							pulumi.String("*"),
    						},
    						Name: pulumi.String("example-datasource-syslog"),
    						Streams: pulumi.StringArray{
    							pulumi.String("Microsoft-Syslog"),
    						},
    					},
    				},
    				IisLogs: monitoring.DataCollectionRuleDataSourcesIisLogArray{
    					&monitoring.DataCollectionRuleDataSourcesIisLogArgs{
    						Streams: pulumi.StringArray{
    							pulumi.String("Microsoft-W3CIISLog"),
    						},
    						Name: pulumi.String("example-datasource-iis"),
    						LogDirectories: pulumi.StringArray{
    							pulumi.String("C:\\Logs\\W3SVC1"),
    						},
    					},
    				},
    				LogFiles: monitoring.DataCollectionRuleDataSourcesLogFileArray{
    					&monitoring.DataCollectionRuleDataSourcesLogFileArgs{
    						Name:   pulumi.String("example-datasource-logfile"),
    						Format: pulumi.String("text"),
    						Streams: pulumi.StringArray{
    							pulumi.String("Custom-MyTableRawData"),
    						},
    						FilePatterns: pulumi.StringArray{
    							pulumi.String("C:\\JavaLogs\\*.log"),
    						},
    						Settings: &monitoring.DataCollectionRuleDataSourcesLogFileSettingsArgs{
    							Text: &monitoring.DataCollectionRuleDataSourcesLogFileSettingsTextArgs{
    								RecordStartTimestampFormat: pulumi.String("ISO 8601"),
    							},
    						},
    					},
    				},
    				PerformanceCounters: monitoring.DataCollectionRuleDataSourcesPerformanceCounterArray{
    					&monitoring.DataCollectionRuleDataSourcesPerformanceCounterArgs{
    						Streams: pulumi.StringArray{
    							pulumi.String("Microsoft-Perf"),
    							pulumi.String("Microsoft-InsightsMetrics"),
    						},
    						SamplingFrequencyInSeconds: pulumi.Int(60),
    						CounterSpecifiers: pulumi.StringArray{
    							pulumi.String("Processor(*)\\% Processor Time"),
    						},
    						Name: pulumi.String("example-datasource-perfcounter"),
    					},
    				},
    				WindowsEventLogs: monitoring.DataCollectionRuleDataSourcesWindowsEventLogArray{
    					&monitoring.DataCollectionRuleDataSourcesWindowsEventLogArgs{
    						Streams: pulumi.StringArray{
    							pulumi.String("Microsoft-WindowsEvent"),
    						},
    						XPathQueries: pulumi.StringArray{
    							pulumi.String("*![System/Level=1]"),
    						},
    						Name: pulumi.String("example-datasource-wineventlog"),
    					},
    				},
    				Extensions: monitoring.DataCollectionRuleDataSourcesExtensionArray{
    					&monitoring.DataCollectionRuleDataSourcesExtensionArgs{
    						Streams: pulumi.StringArray{
    							pulumi.String("Microsoft-WindowsEvent"),
    						},
    						InputDataSources: pulumi.StringArray{
    							pulumi.String("example-datasource-wineventlog"),
    						},
    						ExtensionName: pulumi.String("example-extension-name"),
    						ExtensionJson: pulumi.String(json0),
    						Name:          pulumi.String("example-datasource-extension"),
    					},
    				},
    			},
    			StreamDeclarations: monitoring.DataCollectionRuleStreamDeclarationArray{
    				&monitoring.DataCollectionRuleStreamDeclarationArgs{
    					StreamName: pulumi.String("Custom-MyTableRawData"),
    					Columns: monitoring.DataCollectionRuleStreamDeclarationColumnArray{
    						&monitoring.DataCollectionRuleStreamDeclarationColumnArgs{
    							Name: pulumi.String("Time"),
    							Type: pulumi.String("datetime"),
    						},
    						&monitoring.DataCollectionRuleStreamDeclarationColumnArgs{
    							Name: pulumi.String("Computer"),
    							Type: pulumi.String("string"),
    						},
    						&monitoring.DataCollectionRuleStreamDeclarationColumnArgs{
    							Name: pulumi.String("AdditionalContext"),
    							Type: pulumi.String("string"),
    						},
    					},
    				},
    			},
    			Identity: &monitoring.DataCollectionRuleIdentityArgs{
    				Type: pulumi.String("UserAssigned"),
    				IdentityIds: pulumi.StringArray{
    					exampleUserAssignedIdentity.ID(),
    				},
    			},
    			Description: pulumi.String("data collection rule example"),
    			Tags: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    		})
    		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.authorization.UserAssignedIdentity;
    import com.pulumi.azure.authorization.UserAssignedIdentityArgs;
    import com.pulumi.azure.operationalinsights.AnalyticsWorkspace;
    import com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;
    import com.pulumi.azure.operationalinsights.AnalyticsSolution;
    import com.pulumi.azure.operationalinsights.AnalyticsSolutionArgs;
    import com.pulumi.azure.operationalinsights.inputs.AnalyticsSolutionPlanArgs;
    import com.pulumi.azure.eventhub.EventHubNamespace;
    import com.pulumi.azure.eventhub.EventHubNamespaceArgs;
    import com.pulumi.azure.eventhub.EventHub;
    import com.pulumi.azure.eventhub.EventHubArgs;
    import com.pulumi.azure.storage.Account;
    import com.pulumi.azure.storage.AccountArgs;
    import com.pulumi.azure.storage.Container;
    import com.pulumi.azure.storage.ContainerArgs;
    import com.pulumi.azure.monitoring.DataCollectionEndpoint;
    import com.pulumi.azure.monitoring.DataCollectionEndpointArgs;
    import com.pulumi.azure.monitoring.DataCollectionRule;
    import com.pulumi.azure.monitoring.DataCollectionRuleArgs;
    import com.pulumi.azure.monitoring.inputs.DataCollectionRuleDestinationsArgs;
    import com.pulumi.azure.monitoring.inputs.DataCollectionRuleDestinationsEventHubArgs;
    import com.pulumi.azure.monitoring.inputs.DataCollectionRuleDestinationsAzureMonitorMetricsArgs;
    import com.pulumi.azure.monitoring.inputs.DataCollectionRuleDataFlowArgs;
    import com.pulumi.azure.monitoring.inputs.DataCollectionRuleDataSourcesArgs;
    import com.pulumi.azure.monitoring.inputs.DataCollectionRuleStreamDeclarationArgs;
    import com.pulumi.azure.monitoring.inputs.DataCollectionRuleIdentityArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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 exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder()        
                .name("example-uai")
                .resourceGroupName(example.name())
                .location(example.location())
                .build());
    
            var exampleAnalyticsWorkspace = new AnalyticsWorkspace("exampleAnalyticsWorkspace", AnalyticsWorkspaceArgs.builder()        
                .name("example-workspace")
                .resourceGroupName(example.name())
                .location(example.location())
                .build());
    
            var exampleAnalyticsSolution = new AnalyticsSolution("exampleAnalyticsSolution", AnalyticsSolutionArgs.builder()        
                .solutionName("WindowsEventForwarding")
                .location(example.location())
                .resourceGroupName(example.name())
                .workspaceResourceId(exampleAnalyticsWorkspace.id())
                .workspaceName(exampleAnalyticsWorkspace.name())
                .plan(AnalyticsSolutionPlanArgs.builder()
                    .publisher("Microsoft")
                    .product("OMSGallery/WindowsEventForwarding")
                    .build())
                .build());
    
            var exampleEventHubNamespace = new EventHubNamespace("exampleEventHubNamespace", EventHubNamespaceArgs.builder()        
                .name("exeventns")
                .location(example.location())
                .resourceGroupName(example.name())
                .sku("Standard")
                .capacity(1)
                .build());
    
            var exampleEventHub = new EventHub("exampleEventHub", EventHubArgs.builder()        
                .name("exevent2")
                .namespaceName(exampleEventHubNamespace.name())
                .resourceGroupName(example.name())
                .partitionCount(2)
                .messageRetention(1)
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()        
                .name("examstorage")
                .resourceGroupName(example.name())
                .location(example.location())
                .accountTier("Standard")
                .accountReplicationType("LRS")
                .build());
    
            var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()        
                .name("examplecontainer")
                .storageAccountName(exampleAccount.name())
                .containerAccessType("private")
                .build());
    
            var exampleDataCollectionEndpoint = new DataCollectionEndpoint("exampleDataCollectionEndpoint", DataCollectionEndpointArgs.builder()        
                .name("example-dcre")
                .resourceGroupName(example.name())
                .location(example.location())
                .build());
    
            var exampleDataCollectionRule = new DataCollectionRule("exampleDataCollectionRule", DataCollectionRuleArgs.builder()        
                .name("example-rule")
                .resourceGroupName(example.name())
                .location(example.location())
                .dataCollectionEndpointId(exampleDataCollectionEndpoint.id())
                .destinations(DataCollectionRuleDestinationsArgs.builder()
                    .logAnalytics(DataCollectionRuleDestinationsLogAnalyticArgs.builder()
                        .workspaceResourceId(exampleAnalyticsWorkspace.id())
                        .name("example-destination-log")
                        .build())
                    .eventHub(DataCollectionRuleDestinationsEventHubArgs.builder()
                        .eventHubId(exampleEventHub.id())
                        .name("example-destination-eventhub")
                        .build())
                    .storageBlobs(DataCollectionRuleDestinationsStorageBlobArgs.builder()
                        .storageAccountId(exampleAccount.id())
                        .containerName(exampleContainer.name())
                        .name("example-destination-storage")
                        .build())
                    .azureMonitorMetrics(DataCollectionRuleDestinationsAzureMonitorMetricsArgs.builder()
                        .name("example-destination-metrics")
                        .build())
                    .build())
                .dataFlows(            
                    DataCollectionRuleDataFlowArgs.builder()
                        .streams("Microsoft-InsightsMetrics")
                        .destinations("example-destination-metrics")
                        .build(),
                    DataCollectionRuleDataFlowArgs.builder()
                        .streams(                    
                            "Microsoft-InsightsMetrics",
                            "Microsoft-Syslog",
                            "Microsoft-Perf")
                        .destinations("example-destination-log")
                        .build(),
                    DataCollectionRuleDataFlowArgs.builder()
                        .streams("Custom-MyTableRawData")
                        .destinations("example-destination-log")
                        .outputStream("Microsoft-Syslog")
                        .transformKql("source | project TimeGenerated = Time, Computer, Message = AdditionalContext")
                        .build())
                .dataSources(DataCollectionRuleDataSourcesArgs.builder()
                    .syslogs(DataCollectionRuleDataSourcesSyslogArgs.builder()
                        .facilityNames("*")
                        .logLevels("*")
                        .name("example-datasource-syslog")
                        .streams("Microsoft-Syslog")
                        .build())
                    .iisLogs(DataCollectionRuleDataSourcesIisLogArgs.builder()
                        .streams("Microsoft-W3CIISLog")
                        .name("example-datasource-iis")
                        .logDirectories("C:\\Logs\\W3SVC1")
                        .build())
                    .logFiles(DataCollectionRuleDataSourcesLogFileArgs.builder()
                        .name("example-datasource-logfile")
                        .format("text")
                        .streams("Custom-MyTableRawData")
                        .filePatterns("C:\\JavaLogs\\*.log")
                        .settings(DataCollectionRuleDataSourcesLogFileSettingsArgs.builder()
                            .text(DataCollectionRuleDataSourcesLogFileSettingsTextArgs.builder()
                                .recordStartTimestampFormat("ISO 8601")
                                .build())
                            .build())
                        .build())
                    .performanceCounters(DataCollectionRuleDataSourcesPerformanceCounterArgs.builder()
                        .streams(                    
                            "Microsoft-Perf",
                            "Microsoft-InsightsMetrics")
                        .samplingFrequencyInSeconds(60)
                        .counterSpecifiers("Processor(*)\\% Processor Time")
                        .name("example-datasource-perfcounter")
                        .build())
                    .windowsEventLogs(DataCollectionRuleDataSourcesWindowsEventLogArgs.builder()
                        .streams("Microsoft-WindowsEvent")
                        .xPathQueries("*![System/Level=1]")
                        .name("example-datasource-wineventlog")
                        .build())
                    .extensions(DataCollectionRuleDataSourcesExtensionArgs.builder()
                        .streams("Microsoft-WindowsEvent")
                        .inputDataSources("example-datasource-wineventlog")
                        .extensionName("example-extension-name")
                        .extensionJson(serializeJson(
                            jsonObject(
                                jsonProperty("a", 1),
                                jsonProperty("b", "hello")
                            )))
                        .name("example-datasource-extension")
                        .build())
                    .build())
                .streamDeclarations(DataCollectionRuleStreamDeclarationArgs.builder()
                    .streamName("Custom-MyTableRawData")
                    .columns(                
                        DataCollectionRuleStreamDeclarationColumnArgs.builder()
                            .name("Time")
                            .type("datetime")
                            .build(),
                        DataCollectionRuleStreamDeclarationColumnArgs.builder()
                            .name("Computer")
                            .type("string")
                            .build(),
                        DataCollectionRuleStreamDeclarationColumnArgs.builder()
                            .name("AdditionalContext")
                            .type("string")
                            .build())
                    .build())
                .identity(DataCollectionRuleIdentityArgs.builder()
                    .type("UserAssigned")
                    .identityIds(exampleUserAssignedIdentity.id())
                    .build())
                .description("data collection rule example")
                .tags(Map.of("foo", "bar"))
                .build());
    
        }
    }
    
    import pulumi
    import json
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example",
        name="example-uai",
        resource_group_name=example.name,
        location=example.location)
    example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example",
        name="example-workspace",
        resource_group_name=example.name,
        location=example.location)
    example_analytics_solution = azure.operationalinsights.AnalyticsSolution("example",
        solution_name="WindowsEventForwarding",
        location=example.location,
        resource_group_name=example.name,
        workspace_resource_id=example_analytics_workspace.id,
        workspace_name=example_analytics_workspace.name,
        plan=azure.operationalinsights.AnalyticsSolutionPlanArgs(
            publisher="Microsoft",
            product="OMSGallery/WindowsEventForwarding",
        ))
    example_event_hub_namespace = azure.eventhub.EventHubNamespace("example",
        name="exeventns",
        location=example.location,
        resource_group_name=example.name,
        sku="Standard",
        capacity=1)
    example_event_hub = azure.eventhub.EventHub("example",
        name="exevent2",
        namespace_name=example_event_hub_namespace.name,
        resource_group_name=example.name,
        partition_count=2,
        message_retention=1)
    example_account = azure.storage.Account("example",
        name="examstorage",
        resource_group_name=example.name,
        location=example.location,
        account_tier="Standard",
        account_replication_type="LRS")
    example_container = azure.storage.Container("example",
        name="examplecontainer",
        storage_account_name=example_account.name,
        container_access_type="private")
    example_data_collection_endpoint = azure.monitoring.DataCollectionEndpoint("example",
        name="example-dcre",
        resource_group_name=example.name,
        location=example.location)
    example_data_collection_rule = azure.monitoring.DataCollectionRule("example",
        name="example-rule",
        resource_group_name=example.name,
        location=example.location,
        data_collection_endpoint_id=example_data_collection_endpoint.id,
        destinations=azure.monitoring.DataCollectionRuleDestinationsArgs(
            log_analytics=[azure.monitoring.DataCollectionRuleDestinationsLogAnalyticArgs(
                workspace_resource_id=example_analytics_workspace.id,
                name="example-destination-log",
            )],
            event_hub=azure.monitoring.DataCollectionRuleDestinationsEventHubArgs(
                event_hub_id=example_event_hub.id,
                name="example-destination-eventhub",
            ),
            storage_blobs=[azure.monitoring.DataCollectionRuleDestinationsStorageBlobArgs(
                storage_account_id=example_account.id,
                container_name=example_container.name,
                name="example-destination-storage",
            )],
            azure_monitor_metrics=azure.monitoring.DataCollectionRuleDestinationsAzureMonitorMetricsArgs(
                name="example-destination-metrics",
            ),
        ),
        data_flows=[
            azure.monitoring.DataCollectionRuleDataFlowArgs(
                streams=["Microsoft-InsightsMetrics"],
                destinations=["example-destination-metrics"],
            ),
            azure.monitoring.DataCollectionRuleDataFlowArgs(
                streams=[
                    "Microsoft-InsightsMetrics",
                    "Microsoft-Syslog",
                    "Microsoft-Perf",
                ],
                destinations=["example-destination-log"],
            ),
            azure.monitoring.DataCollectionRuleDataFlowArgs(
                streams=["Custom-MyTableRawData"],
                destinations=["example-destination-log"],
                output_stream="Microsoft-Syslog",
                transform_kql="source | project TimeGenerated = Time, Computer, Message = AdditionalContext",
            ),
        ],
        data_sources=azure.monitoring.DataCollectionRuleDataSourcesArgs(
            syslogs=[azure.monitoring.DataCollectionRuleDataSourcesSyslogArgs(
                facility_names=["*"],
                log_levels=["*"],
                name="example-datasource-syslog",
                streams=["Microsoft-Syslog"],
            )],
            iis_logs=[azure.monitoring.DataCollectionRuleDataSourcesIisLogArgs(
                streams=["Microsoft-W3CIISLog"],
                name="example-datasource-iis",
                log_directories=["C:\\Logs\\W3SVC1"],
            )],
            log_files=[azure.monitoring.DataCollectionRuleDataSourcesLogFileArgs(
                name="example-datasource-logfile",
                format="text",
                streams=["Custom-MyTableRawData"],
                file_patterns=["C:\\JavaLogs\\*.log"],
                settings=azure.monitoring.DataCollectionRuleDataSourcesLogFileSettingsArgs(
                    text=azure.monitoring.DataCollectionRuleDataSourcesLogFileSettingsTextArgs(
                        record_start_timestamp_format="ISO 8601",
                    ),
                ),
            )],
            performance_counters=[azure.monitoring.DataCollectionRuleDataSourcesPerformanceCounterArgs(
                streams=[
                    "Microsoft-Perf",
                    "Microsoft-InsightsMetrics",
                ],
                sampling_frequency_in_seconds=60,
                counter_specifiers=["Processor(*)\\% Processor Time"],
                name="example-datasource-perfcounter",
            )],
            windows_event_logs=[azure.monitoring.DataCollectionRuleDataSourcesWindowsEventLogArgs(
                streams=["Microsoft-WindowsEvent"],
                x_path_queries=["*![System/Level=1]"],
                name="example-datasource-wineventlog",
            )],
            extensions=[azure.monitoring.DataCollectionRuleDataSourcesExtensionArgs(
                streams=["Microsoft-WindowsEvent"],
                input_data_sources=["example-datasource-wineventlog"],
                extension_name="example-extension-name",
                extension_json=json.dumps({
                    "a": 1,
                    "b": "hello",
                }),
                name="example-datasource-extension",
            )],
        ),
        stream_declarations=[azure.monitoring.DataCollectionRuleStreamDeclarationArgs(
            stream_name="Custom-MyTableRawData",
            columns=[
                azure.monitoring.DataCollectionRuleStreamDeclarationColumnArgs(
                    name="Time",
                    type="datetime",
                ),
                azure.monitoring.DataCollectionRuleStreamDeclarationColumnArgs(
                    name="Computer",
                    type="string",
                ),
                azure.monitoring.DataCollectionRuleStreamDeclarationColumnArgs(
                    name="AdditionalContext",
                    type="string",
                ),
            ],
        )],
        identity=azure.monitoring.DataCollectionRuleIdentityArgs(
            type="UserAssigned",
            identity_ids=[example_user_assigned_identity.id],
        ),
        description="data collection rule example",
        tags={
            "foo": "bar",
        })
    
    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 exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", {
        name: "example-uai",
        resourceGroupName: example.name,
        location: example.location,
    });
    const exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace("example", {
        name: "example-workspace",
        resourceGroupName: example.name,
        location: example.location,
    });
    const exampleAnalyticsSolution = new azure.operationalinsights.AnalyticsSolution("example", {
        solutionName: "WindowsEventForwarding",
        location: example.location,
        resourceGroupName: example.name,
        workspaceResourceId: exampleAnalyticsWorkspace.id,
        workspaceName: exampleAnalyticsWorkspace.name,
        plan: {
            publisher: "Microsoft",
            product: "OMSGallery/WindowsEventForwarding",
        },
    });
    const exampleEventHubNamespace = new azure.eventhub.EventHubNamespace("example", {
        name: "exeventns",
        location: example.location,
        resourceGroupName: example.name,
        sku: "Standard",
        capacity: 1,
    });
    const exampleEventHub = new azure.eventhub.EventHub("example", {
        name: "exevent2",
        namespaceName: exampleEventHubNamespace.name,
        resourceGroupName: example.name,
        partitionCount: 2,
        messageRetention: 1,
    });
    const exampleAccount = new azure.storage.Account("example", {
        name: "examstorage",
        resourceGroupName: example.name,
        location: example.location,
        accountTier: "Standard",
        accountReplicationType: "LRS",
    });
    const exampleContainer = new azure.storage.Container("example", {
        name: "examplecontainer",
        storageAccountName: exampleAccount.name,
        containerAccessType: "private",
    });
    const exampleDataCollectionEndpoint = new azure.monitoring.DataCollectionEndpoint("example", {
        name: "example-dcre",
        resourceGroupName: example.name,
        location: example.location,
    });
    const exampleDataCollectionRule = new azure.monitoring.DataCollectionRule("example", {
        name: "example-rule",
        resourceGroupName: example.name,
        location: example.location,
        dataCollectionEndpointId: exampleDataCollectionEndpoint.id,
        destinations: {
            logAnalytics: [{
                workspaceResourceId: exampleAnalyticsWorkspace.id,
                name: "example-destination-log",
            }],
            eventHub: {
                eventHubId: exampleEventHub.id,
                name: "example-destination-eventhub",
            },
            storageBlobs: [{
                storageAccountId: exampleAccount.id,
                containerName: exampleContainer.name,
                name: "example-destination-storage",
            }],
            azureMonitorMetrics: {
                name: "example-destination-metrics",
            },
        },
        dataFlows: [
            {
                streams: ["Microsoft-InsightsMetrics"],
                destinations: ["example-destination-metrics"],
            },
            {
                streams: [
                    "Microsoft-InsightsMetrics",
                    "Microsoft-Syslog",
                    "Microsoft-Perf",
                ],
                destinations: ["example-destination-log"],
            },
            {
                streams: ["Custom-MyTableRawData"],
                destinations: ["example-destination-log"],
                outputStream: "Microsoft-Syslog",
                transformKql: "source | project TimeGenerated = Time, Computer, Message = AdditionalContext",
            },
        ],
        dataSources: {
            syslogs: [{
                facilityNames: ["*"],
                logLevels: ["*"],
                name: "example-datasource-syslog",
                streams: ["Microsoft-Syslog"],
            }],
            iisLogs: [{
                streams: ["Microsoft-W3CIISLog"],
                name: "example-datasource-iis",
                logDirectories: ["C:\\Logs\\W3SVC1"],
            }],
            logFiles: [{
                name: "example-datasource-logfile",
                format: "text",
                streams: ["Custom-MyTableRawData"],
                filePatterns: ["C:\\JavaLogs\\*.log"],
                settings: {
                    text: {
                        recordStartTimestampFormat: "ISO 8601",
                    },
                },
            }],
            performanceCounters: [{
                streams: [
                    "Microsoft-Perf",
                    "Microsoft-InsightsMetrics",
                ],
                samplingFrequencyInSeconds: 60,
                counterSpecifiers: ["Processor(*)\\% Processor Time"],
                name: "example-datasource-perfcounter",
            }],
            windowsEventLogs: [{
                streams: ["Microsoft-WindowsEvent"],
                xPathQueries: ["*![System/Level=1]"],
                name: "example-datasource-wineventlog",
            }],
            extensions: [{
                streams: ["Microsoft-WindowsEvent"],
                inputDataSources: ["example-datasource-wineventlog"],
                extensionName: "example-extension-name",
                extensionJson: JSON.stringify({
                    a: 1,
                    b: "hello",
                }),
                name: "example-datasource-extension",
            }],
        },
        streamDeclarations: [{
            streamName: "Custom-MyTableRawData",
            columns: [
                {
                    name: "Time",
                    type: "datetime",
                },
                {
                    name: "Computer",
                    type: "string",
                },
                {
                    name: "AdditionalContext",
                    type: "string",
                },
            ],
        }],
        identity: {
            type: "UserAssigned",
            identityIds: [exampleUserAssignedIdentity.id],
        },
        description: "data collection rule example",
        tags: {
            foo: "bar",
        },
    });
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-resources
          location: West Europe
      exampleUserAssignedIdentity:
        type: azure:authorization:UserAssignedIdentity
        name: example
        properties:
          name: example-uai
          resourceGroupName: ${example.name}
          location: ${example.location}
      exampleAnalyticsWorkspace:
        type: azure:operationalinsights:AnalyticsWorkspace
        name: example
        properties:
          name: example-workspace
          resourceGroupName: ${example.name}
          location: ${example.location}
      exampleAnalyticsSolution:
        type: azure:operationalinsights:AnalyticsSolution
        name: example
        properties:
          solutionName: WindowsEventForwarding
          location: ${example.location}
          resourceGroupName: ${example.name}
          workspaceResourceId: ${exampleAnalyticsWorkspace.id}
          workspaceName: ${exampleAnalyticsWorkspace.name}
          plan:
            publisher: Microsoft
            product: OMSGallery/WindowsEventForwarding
      exampleEventHubNamespace:
        type: azure:eventhub:EventHubNamespace
        name: example
        properties:
          name: exeventns
          location: ${example.location}
          resourceGroupName: ${example.name}
          sku: Standard
          capacity: 1
      exampleEventHub:
        type: azure:eventhub:EventHub
        name: example
        properties:
          name: exevent2
          namespaceName: ${exampleEventHubNamespace.name}
          resourceGroupName: ${example.name}
          partitionCount: 2
          messageRetention: 1
      exampleAccount:
        type: azure:storage:Account
        name: example
        properties:
          name: examstorage
          resourceGroupName: ${example.name}
          location: ${example.location}
          accountTier: Standard
          accountReplicationType: LRS
      exampleContainer:
        type: azure:storage:Container
        name: example
        properties:
          name: examplecontainer
          storageAccountName: ${exampleAccount.name}
          containerAccessType: private
      exampleDataCollectionEndpoint:
        type: azure:monitoring:DataCollectionEndpoint
        name: example
        properties:
          name: example-dcre
          resourceGroupName: ${example.name}
          location: ${example.location}
      exampleDataCollectionRule:
        type: azure:monitoring:DataCollectionRule
        name: example
        properties:
          name: example-rule
          resourceGroupName: ${example.name}
          location: ${example.location}
          dataCollectionEndpointId: ${exampleDataCollectionEndpoint.id}
          destinations:
            logAnalytics:
              - workspaceResourceId: ${exampleAnalyticsWorkspace.id}
                name: example-destination-log
            eventHub:
              eventHubId: ${exampleEventHub.id}
              name: example-destination-eventhub
            storageBlobs:
              - storageAccountId: ${exampleAccount.id}
                containerName: ${exampleContainer.name}
                name: example-destination-storage
            azureMonitorMetrics:
              name: example-destination-metrics
          dataFlows:
            - streams:
                - Microsoft-InsightsMetrics
              destinations:
                - example-destination-metrics
            - streams:
                - Microsoft-InsightsMetrics
                - Microsoft-Syslog
                - Microsoft-Perf
              destinations:
                - example-destination-log
            - streams:
                - Custom-MyTableRawData
              destinations:
                - example-destination-log
              outputStream: Microsoft-Syslog
              transformKql: source | project TimeGenerated = Time, Computer, Message = AdditionalContext
          dataSources:
            syslogs:
              - facilityNames:
                  - '*'
                logLevels:
                  - '*'
                name: example-datasource-syslog
                streams:
                  - Microsoft-Syslog
            iisLogs:
              - streams:
                  - Microsoft-W3CIISLog
                name: example-datasource-iis
                logDirectories:
                  - C:\Logs\W3SVC1
            logFiles:
              - name: example-datasource-logfile
                format: text
                streams:
                  - Custom-MyTableRawData
                filePatterns:
                  - C:\JavaLogs\*.log
                settings:
                  text:
                    recordStartTimestampFormat: ISO 8601
            performanceCounters:
              - streams:
                  - Microsoft-Perf
                  - Microsoft-InsightsMetrics
                samplingFrequencyInSeconds: 60
                counterSpecifiers:
                  - Processor(*)\% Processor Time
                name: example-datasource-perfcounter
            windowsEventLogs:
              - streams:
                  - Microsoft-WindowsEvent
                xPathQueries:
                  - '*![System/Level=1]'
                name: example-datasource-wineventlog
            extensions:
              - streams:
                  - Microsoft-WindowsEvent
                inputDataSources:
                  - example-datasource-wineventlog
                extensionName: example-extension-name
                extensionJson:
                  fn::toJSON:
                    a: 1
                    b: hello
                name: example-datasource-extension
          streamDeclarations:
            - streamName: Custom-MyTableRawData
              columns:
                - name: Time
                  type: datetime
                - name: Computer
                  type: string
                - name: AdditionalContext
                  type: string
          identity:
            type: UserAssigned
            identityIds:
              - ${exampleUserAssignedIdentity.id}
          description: data collection rule example
          tags:
            foo: bar
    

    Create DataCollectionRule Resource

    new DataCollectionRule(name: string, args: DataCollectionRuleArgs, opts?: CustomResourceOptions);
    @overload
    def DataCollectionRule(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           data_collection_endpoint_id: Optional[str] = None,
                           data_flows: Optional[Sequence[DataCollectionRuleDataFlowArgs]] = None,
                           data_sources: Optional[DataCollectionRuleDataSourcesArgs] = None,
                           description: Optional[str] = None,
                           destinations: Optional[DataCollectionRuleDestinationsArgs] = None,
                           identity: Optional[DataCollectionRuleIdentityArgs] = None,
                           kind: Optional[str] = None,
                           location: Optional[str] = None,
                           name: Optional[str] = None,
                           resource_group_name: Optional[str] = None,
                           stream_declarations: Optional[Sequence[DataCollectionRuleStreamDeclarationArgs]] = None,
                           tags: Optional[Mapping[str, str]] = None)
    @overload
    def DataCollectionRule(resource_name: str,
                           args: DataCollectionRuleArgs,
                           opts: Optional[ResourceOptions] = None)
    func NewDataCollectionRule(ctx *Context, name string, args DataCollectionRuleArgs, opts ...ResourceOption) (*DataCollectionRule, error)
    public DataCollectionRule(string name, DataCollectionRuleArgs args, CustomResourceOptions? opts = null)
    public DataCollectionRule(String name, DataCollectionRuleArgs args)
    public DataCollectionRule(String name, DataCollectionRuleArgs args, CustomResourceOptions options)
    
    type: azure:monitoring:DataCollectionRule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args DataCollectionRuleArgs
    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 DataCollectionRuleArgs
    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 DataCollectionRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DataCollectionRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DataCollectionRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    DataCollectionRule 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 DataCollectionRule resource accepts the following input properties:

    DataFlows List<DataCollectionRuleDataFlow>
    One or more data_flow blocks as defined below.
    Destinations DataCollectionRuleDestinations
    A destinations block as defined below.
    ResourceGroupName string
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    DataCollectionEndpointId string
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    DataSources DataCollectionRuleDataSources
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    Description string
    The description of the Data Collection Rule.
    Identity DataCollectionRuleIdentity
    An identity block as defined below.
    Kind string

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    Location string
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    Name string
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    StreamDeclarations List<DataCollectionRuleStreamDeclaration>
    A stream_declaration block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to the Data Collection Rule.
    DataFlows []DataCollectionRuleDataFlowArgs
    One or more data_flow blocks as defined below.
    Destinations DataCollectionRuleDestinationsArgs
    A destinations block as defined below.
    ResourceGroupName string
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    DataCollectionEndpointId string
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    DataSources DataCollectionRuleDataSourcesArgs
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    Description string
    The description of the Data Collection Rule.
    Identity DataCollectionRuleIdentityArgs
    An identity block as defined below.
    Kind string

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    Location string
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    Name string
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    StreamDeclarations []DataCollectionRuleStreamDeclarationArgs
    A stream_declaration block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to the Data Collection Rule.
    dataFlows List<DataCollectionRuleDataFlow>
    One or more data_flow blocks as defined below.
    destinations DataCollectionRuleDestinations
    A destinations block as defined below.
    resourceGroupName String
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    dataCollectionEndpointId String
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    dataSources DataCollectionRuleDataSources
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description String
    The description of the Data Collection Rule.
    identity DataCollectionRuleIdentity
    An identity block as defined below.
    kind String

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location String
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name String
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    streamDeclarations List<DataCollectionRuleStreamDeclaration>
    A stream_declaration block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to the Data Collection Rule.
    dataFlows DataCollectionRuleDataFlow[]
    One or more data_flow blocks as defined below.
    destinations DataCollectionRuleDestinations
    A destinations block as defined below.
    resourceGroupName string
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    dataCollectionEndpointId string
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    dataSources DataCollectionRuleDataSources
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description string
    The description of the Data Collection Rule.
    identity DataCollectionRuleIdentity
    An identity block as defined below.
    kind string

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location string
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name string
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    streamDeclarations DataCollectionRuleStreamDeclaration[]
    A stream_declaration block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to the Data Collection Rule.
    data_flows Sequence[DataCollectionRuleDataFlowArgs]
    One or more data_flow blocks as defined below.
    destinations DataCollectionRuleDestinationsArgs
    A destinations block as defined below.
    resource_group_name str
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    data_collection_endpoint_id str
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    data_sources DataCollectionRuleDataSourcesArgs
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description str
    The description of the Data Collection Rule.
    identity DataCollectionRuleIdentityArgs
    An identity block as defined below.
    kind str

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location str
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name str
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    stream_declarations Sequence[DataCollectionRuleStreamDeclarationArgs]
    A stream_declaration block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to the Data Collection Rule.
    dataFlows List<Property Map>
    One or more data_flow blocks as defined below.
    destinations Property Map
    A destinations block as defined below.
    resourceGroupName String
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    dataCollectionEndpointId String
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    dataSources Property Map
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description String
    The description of the Data Collection Rule.
    identity Property Map
    An identity block as defined below.
    kind String

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location String
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name String
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    streamDeclarations List<Property Map>
    A stream_declaration block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to the Data Collection Rule.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    ImmutableId string
    The immutable ID of the Data Collection Rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    ImmutableId string
    The immutable ID of the Data Collection Rule.
    id String
    The provider-assigned unique ID for this managed resource.
    immutableId String
    The immutable ID of the Data Collection Rule.
    id string
    The provider-assigned unique ID for this managed resource.
    immutableId string
    The immutable ID of the Data Collection Rule.
    id str
    The provider-assigned unique ID for this managed resource.
    immutable_id str
    The immutable ID of the Data Collection Rule.
    id String
    The provider-assigned unique ID for this managed resource.
    immutableId String
    The immutable ID of the Data Collection Rule.

    Look up Existing DataCollectionRule Resource

    Get an existing DataCollectionRule 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?: DataCollectionRuleState, opts?: CustomResourceOptions): DataCollectionRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            data_collection_endpoint_id: Optional[str] = None,
            data_flows: Optional[Sequence[DataCollectionRuleDataFlowArgs]] = None,
            data_sources: Optional[DataCollectionRuleDataSourcesArgs] = None,
            description: Optional[str] = None,
            destinations: Optional[DataCollectionRuleDestinationsArgs] = None,
            identity: Optional[DataCollectionRuleIdentityArgs] = None,
            immutable_id: Optional[str] = None,
            kind: Optional[str] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            stream_declarations: Optional[Sequence[DataCollectionRuleStreamDeclarationArgs]] = None,
            tags: Optional[Mapping[str, str]] = None) -> DataCollectionRule
    func GetDataCollectionRule(ctx *Context, name string, id IDInput, state *DataCollectionRuleState, opts ...ResourceOption) (*DataCollectionRule, error)
    public static DataCollectionRule Get(string name, Input<string> id, DataCollectionRuleState? state, CustomResourceOptions? opts = null)
    public static DataCollectionRule get(String name, Output<String> id, DataCollectionRuleState 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:
    DataCollectionEndpointId string
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    DataFlows List<DataCollectionRuleDataFlow>
    One or more data_flow blocks as defined below.
    DataSources DataCollectionRuleDataSources
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    Description string
    The description of the Data Collection Rule.
    Destinations DataCollectionRuleDestinations
    A destinations block as defined below.
    Identity DataCollectionRuleIdentity
    An identity block as defined below.
    ImmutableId string
    The immutable ID of the Data Collection Rule.
    Kind string

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    Location string
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    Name string
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    ResourceGroupName string
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    StreamDeclarations List<DataCollectionRuleStreamDeclaration>
    A stream_declaration block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to the Data Collection Rule.
    DataCollectionEndpointId string
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    DataFlows []DataCollectionRuleDataFlowArgs
    One or more data_flow blocks as defined below.
    DataSources DataCollectionRuleDataSourcesArgs
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    Description string
    The description of the Data Collection Rule.
    Destinations DataCollectionRuleDestinationsArgs
    A destinations block as defined below.
    Identity DataCollectionRuleIdentityArgs
    An identity block as defined below.
    ImmutableId string
    The immutable ID of the Data Collection Rule.
    Kind string

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    Location string
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    Name string
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    ResourceGroupName string
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    StreamDeclarations []DataCollectionRuleStreamDeclarationArgs
    A stream_declaration block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to the Data Collection Rule.
    dataCollectionEndpointId String
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    dataFlows List<DataCollectionRuleDataFlow>
    One or more data_flow blocks as defined below.
    dataSources DataCollectionRuleDataSources
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description String
    The description of the Data Collection Rule.
    destinations DataCollectionRuleDestinations
    A destinations block as defined below.
    identity DataCollectionRuleIdentity
    An identity block as defined below.
    immutableId String
    The immutable ID of the Data Collection Rule.
    kind String

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location String
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name String
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    resourceGroupName String
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    streamDeclarations List<DataCollectionRuleStreamDeclaration>
    A stream_declaration block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to the Data Collection Rule.
    dataCollectionEndpointId string
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    dataFlows DataCollectionRuleDataFlow[]
    One or more data_flow blocks as defined below.
    dataSources DataCollectionRuleDataSources
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description string
    The description of the Data Collection Rule.
    destinations DataCollectionRuleDestinations
    A destinations block as defined below.
    identity DataCollectionRuleIdentity
    An identity block as defined below.
    immutableId string
    The immutable ID of the Data Collection Rule.
    kind string

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location string
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name string
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    resourceGroupName string
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    streamDeclarations DataCollectionRuleStreamDeclaration[]
    A stream_declaration block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to the Data Collection Rule.
    data_collection_endpoint_id str
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    data_flows Sequence[DataCollectionRuleDataFlowArgs]
    One or more data_flow blocks as defined below.
    data_sources DataCollectionRuleDataSourcesArgs
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description str
    The description of the Data Collection Rule.
    destinations DataCollectionRuleDestinationsArgs
    A destinations block as defined below.
    identity DataCollectionRuleIdentityArgs
    An identity block as defined below.
    immutable_id str
    The immutable ID of the Data Collection Rule.
    kind str

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location str
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name str
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    resource_group_name str
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    stream_declarations Sequence[DataCollectionRuleStreamDeclarationArgs]
    A stream_declaration block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to the Data Collection Rule.
    dataCollectionEndpointId String
    The resource ID of the Data Collection Endpoint that this rule can be used with.
    dataFlows List<Property Map>
    One or more data_flow blocks as defined below.
    dataSources Property Map
    A data_sources block as defined below. This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.
    description String
    The description of the Data Collection Rule.
    destinations Property Map
    A destinations block as defined below.
    identity Property Map
    An identity block as defined below.
    immutableId String
    The immutable ID of the Data Collection Rule.
    kind String

    The kind of the Data Collection Rule. Possible values are Linux, Windows, AgentDirectToStore and WorkspaceTransforms. A rule of kind Linux does not allow for windows_event_log data sources. And a rule of kind Windows does not allow for syslog data sources. If kind is not specified, all kinds of data sources are allowed.

    NOTE Once kind has been set, changing it forces a new Data Collection Rule to be created.

    location String
    The Azure Region where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    name String
    The name which should be used for this Data Collection Rule. Changing this forces a new Data Collection Rule to be created.
    resourceGroupName String
    The name of the Resource Group where the Data Collection Rule should exist. Changing this forces a new Data Collection Rule to be created.
    streamDeclarations List<Property Map>
    A stream_declaration block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to the Data Collection Rule.

    Supporting Types

    DataCollectionRuleDataFlow, DataCollectionRuleDataFlowArgs

    Destinations List<string>
    Specifies a list of destination names. A azure_monitor_metrics data source only allows for stream of kind Microsoft-InsightsMetrics.
    Streams List<string>
    Specifies a list of streams. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent, and Microsoft-PrometheusMetrics.
    BuiltInTransform string
    The built-in transform to transform stream data.
    OutputStream string
    The output stream of the transform. Only required if the data flow changes data to a different stream.
    TransformKql string
    The KQL query to transform stream data.
    Destinations []string
    Specifies a list of destination names. A azure_monitor_metrics data source only allows for stream of kind Microsoft-InsightsMetrics.
    Streams []string
    Specifies a list of streams. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent, and Microsoft-PrometheusMetrics.
    BuiltInTransform string
    The built-in transform to transform stream data.
    OutputStream string
    The output stream of the transform. Only required if the data flow changes data to a different stream.
    TransformKql string
    The KQL query to transform stream data.
    destinations List<String>
    Specifies a list of destination names. A azure_monitor_metrics data source only allows for stream of kind Microsoft-InsightsMetrics.
    streams List<String>
    Specifies a list of streams. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent, and Microsoft-PrometheusMetrics.
    builtInTransform String
    The built-in transform to transform stream data.
    outputStream String
    The output stream of the transform. Only required if the data flow changes data to a different stream.
    transformKql String
    The KQL query to transform stream data.
    destinations string[]
    Specifies a list of destination names. A azure_monitor_metrics data source only allows for stream of kind Microsoft-InsightsMetrics.
    streams string[]
    Specifies a list of streams. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent, and Microsoft-PrometheusMetrics.
    builtInTransform string
    The built-in transform to transform stream data.
    outputStream string
    The output stream of the transform. Only required if the data flow changes data to a different stream.
    transformKql string
    The KQL query to transform stream data.
    destinations Sequence[str]
    Specifies a list of destination names. A azure_monitor_metrics data source only allows for stream of kind Microsoft-InsightsMetrics.
    streams Sequence[str]
    Specifies a list of streams. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent, and Microsoft-PrometheusMetrics.
    built_in_transform str
    The built-in transform to transform stream data.
    output_stream str
    The output stream of the transform. Only required if the data flow changes data to a different stream.
    transform_kql str
    The KQL query to transform stream data.
    destinations List<String>
    Specifies a list of destination names. A azure_monitor_metrics data source only allows for stream of kind Microsoft-InsightsMetrics.
    streams List<String>
    Specifies a list of streams. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent, and Microsoft-PrometheusMetrics.
    builtInTransform String
    The built-in transform to transform stream data.
    outputStream String
    The output stream of the transform. Only required if the data flow changes data to a different stream.
    transformKql String
    The KQL query to transform stream data.

    DataCollectionRuleDataSources, DataCollectionRuleDataSourcesArgs

    DataImport DataCollectionRuleDataSourcesDataImport
    A data_import block as defined above.
    Extensions List<DataCollectionRuleDataSourcesExtension>
    One or more extension blocks as defined below.
    IisLogs List<DataCollectionRuleDataSourcesIisLog>
    One or more iis_log blocks as defined below.
    LogFiles List<DataCollectionRuleDataSourcesLogFile>
    One or more log_file blocks as defined below.
    PerformanceCounters List<DataCollectionRuleDataSourcesPerformanceCounter>
    One or more performance_counter blocks as defined below.
    PlatformTelemetries List<DataCollectionRuleDataSourcesPlatformTelemetry>
    One or more platform_telemetry blocks as defined below.
    PrometheusForwarders List<DataCollectionRuleDataSourcesPrometheusForwarder>
    One or more prometheus_forwarder blocks as defined below.
    Syslogs List<DataCollectionRuleDataSourcesSyslog>
    One or more syslog blocks as defined below.
    WindowsEventLogs List<DataCollectionRuleDataSourcesWindowsEventLog>
    One or more windows_event_log blocks as defined below.
    WindowsFirewallLogs List<DataCollectionRuleDataSourcesWindowsFirewallLog>
    One or more windows_firewall_log blocks as defined below.
    DataImport DataCollectionRuleDataSourcesDataImport
    A data_import block as defined above.
    Extensions []DataCollectionRuleDataSourcesExtension
    One or more extension blocks as defined below.
    IisLogs []DataCollectionRuleDataSourcesIisLog
    One or more iis_log blocks as defined below.
    LogFiles []DataCollectionRuleDataSourcesLogFile
    One or more log_file blocks as defined below.
    PerformanceCounters []DataCollectionRuleDataSourcesPerformanceCounter
    One or more performance_counter blocks as defined below.
    PlatformTelemetries []DataCollectionRuleDataSourcesPlatformTelemetry
    One or more platform_telemetry blocks as defined below.
    PrometheusForwarders []DataCollectionRuleDataSourcesPrometheusForwarder
    One or more prometheus_forwarder blocks as defined below.
    Syslogs []DataCollectionRuleDataSourcesSyslog
    One or more syslog blocks as defined below.
    WindowsEventLogs []DataCollectionRuleDataSourcesWindowsEventLog
    One or more windows_event_log blocks as defined below.
    WindowsFirewallLogs []DataCollectionRuleDataSourcesWindowsFirewallLog
    One or more windows_firewall_log blocks as defined below.
    dataImport DataCollectionRuleDataSourcesDataImport
    A data_import block as defined above.
    extensions List<DataCollectionRuleDataSourcesExtension>
    One or more extension blocks as defined below.
    iisLogs List<DataCollectionRuleDataSourcesIisLog>
    One or more iis_log blocks as defined below.
    logFiles List<DataCollectionRuleDataSourcesLogFile>
    One or more log_file blocks as defined below.
    performanceCounters List<DataCollectionRuleDataSourcesPerformanceCounter>
    One or more performance_counter blocks as defined below.
    platformTelemetries List<DataCollectionRuleDataSourcesPlatformTelemetry>
    One or more platform_telemetry blocks as defined below.
    prometheusForwarders List<DataCollectionRuleDataSourcesPrometheusForwarder>
    One or more prometheus_forwarder blocks as defined below.
    syslogs List<DataCollectionRuleDataSourcesSyslog>
    One or more syslog blocks as defined below.
    windowsEventLogs List<DataCollectionRuleDataSourcesWindowsEventLog>
    One or more windows_event_log blocks as defined below.
    windowsFirewallLogs List<DataCollectionRuleDataSourcesWindowsFirewallLog>
    One or more windows_firewall_log blocks as defined below.
    dataImport DataCollectionRuleDataSourcesDataImport
    A data_import block as defined above.
    extensions DataCollectionRuleDataSourcesExtension[]
    One or more extension blocks as defined below.
    iisLogs DataCollectionRuleDataSourcesIisLog[]
    One or more iis_log blocks as defined below.
    logFiles DataCollectionRuleDataSourcesLogFile[]
    One or more log_file blocks as defined below.
    performanceCounters DataCollectionRuleDataSourcesPerformanceCounter[]
    One or more performance_counter blocks as defined below.
    platformTelemetries DataCollectionRuleDataSourcesPlatformTelemetry[]
    One or more platform_telemetry blocks as defined below.
    prometheusForwarders DataCollectionRuleDataSourcesPrometheusForwarder[]
    One or more prometheus_forwarder blocks as defined below.
    syslogs DataCollectionRuleDataSourcesSyslog[]
    One or more syslog blocks as defined below.
    windowsEventLogs DataCollectionRuleDataSourcesWindowsEventLog[]
    One or more windows_event_log blocks as defined below.
    windowsFirewallLogs DataCollectionRuleDataSourcesWindowsFirewallLog[]
    One or more windows_firewall_log blocks as defined below.
    data_import DataCollectionRuleDataSourcesDataImport
    A data_import block as defined above.
    extensions Sequence[DataCollectionRuleDataSourcesExtension]
    One or more extension blocks as defined below.
    iis_logs Sequence[DataCollectionRuleDataSourcesIisLog]
    One or more iis_log blocks as defined below.
    log_files Sequence[DataCollectionRuleDataSourcesLogFile]
    One or more log_file blocks as defined below.
    performance_counters Sequence[DataCollectionRuleDataSourcesPerformanceCounter]
    One or more performance_counter blocks as defined below.
    platform_telemetries Sequence[DataCollectionRuleDataSourcesPlatformTelemetry]
    One or more platform_telemetry blocks as defined below.
    prometheus_forwarders Sequence[DataCollectionRuleDataSourcesPrometheusForwarder]
    One or more prometheus_forwarder blocks as defined below.
    syslogs Sequence[DataCollectionRuleDataSourcesSyslog]
    One or more syslog blocks as defined below.
    windows_event_logs Sequence[DataCollectionRuleDataSourcesWindowsEventLog]
    One or more windows_event_log blocks as defined below.
    windows_firewall_logs Sequence[DataCollectionRuleDataSourcesWindowsFirewallLog]
    One or more windows_firewall_log blocks as defined below.
    dataImport Property Map
    A data_import block as defined above.
    extensions List<Property Map>
    One or more extension blocks as defined below.
    iisLogs List<Property Map>
    One or more iis_log blocks as defined below.
    logFiles List<Property Map>
    One or more log_file blocks as defined below.
    performanceCounters List<Property Map>
    One or more performance_counter blocks as defined below.
    platformTelemetries List<Property Map>
    One or more platform_telemetry blocks as defined below.
    prometheusForwarders List<Property Map>
    One or more prometheus_forwarder blocks as defined below.
    syslogs List<Property Map>
    One or more syslog blocks as defined below.
    windowsEventLogs List<Property Map>
    One or more windows_event_log blocks as defined below.
    windowsFirewallLogs List<Property Map>
    One or more windows_firewall_log blocks as defined below.

    DataCollectionRuleDataSourcesDataImport, DataCollectionRuleDataSourcesDataImportArgs

    eventHubDataSources List<Property Map>
    An event_hub_data_source block as defined below.

    DataCollectionRuleDataSourcesDataImportEventHubDataSource, DataCollectionRuleDataSourcesDataImportEventHubDataSourceArgs

    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Stream string
    The stream to collect from Event Hub. Possible value should be a custom stream name.
    ConsumerGroup string
    The Event Hub consumer group name.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Stream string
    The stream to collect from Event Hub. Possible value should be a custom stream name.
    ConsumerGroup string
    The Event Hub consumer group name.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    stream String
    The stream to collect from Event Hub. Possible value should be a custom stream name.
    consumerGroup String
    The Event Hub consumer group name.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    stream string
    The stream to collect from Event Hub. Possible value should be a custom stream name.
    consumerGroup string
    The Event Hub consumer group name.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    stream str
    The stream to collect from Event Hub. Possible value should be a custom stream name.
    consumer_group str
    The Event Hub consumer group name.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    stream String
    The stream to collect from Event Hub. Possible value should be a custom stream name.
    consumerGroup String
    The Event Hub consumer group name.

    DataCollectionRuleDataSourcesExtension, DataCollectionRuleDataSourcesExtensionArgs

    ExtensionName string
    The name of the VM extension.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent.
    ExtensionJson string
    A JSON String which specifies the extension setting.
    InputDataSources List<string>
    Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: performance_counter, windows_event_log,and syslog.
    ExtensionName string
    The name of the VM extension.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent.
    ExtensionJson string
    A JSON String which specifies the extension setting.
    InputDataSources []string
    Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: performance_counter, windows_event_log,and syslog.
    extensionName String
    The name of the VM extension.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent.
    extensionJson String
    A JSON String which specifies the extension setting.
    inputDataSources List<String>
    Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: performance_counter, windows_event_log,and syslog.
    extensionName string
    The name of the VM extension.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent.
    extensionJson string
    A JSON String which specifies the extension setting.
    inputDataSources string[]
    Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: performance_counter, windows_event_log,and syslog.
    extension_name str
    The name of the VM extension.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent.
    extension_json str
    A JSON String which specifies the extension setting.
    input_data_sources Sequence[str]
    Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: performance_counter, windows_event_log,and syslog.
    extensionName String
    The name of the VM extension.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event, Microsoft-InsightsMetrics, Microsoft-Perf, Microsoft-Syslog, Microsoft-WindowsEvent.
    extensionJson String
    A JSON String which specifies the extension setting.
    inputDataSources List<String>
    Specifies a list of data sources this extension needs data from. An item should be a name of a supported data source which produces only one stream. Supported data sources type: performance_counter, windows_event_log,and syslog.

    DataCollectionRuleDataSourcesIisLog, DataCollectionRuleDataSourcesIisLogArgs

    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-W3CIISLog.
    LogDirectories List<string>
    Specifies a list of absolute paths where the log files are located.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-W3CIISLog.
    LogDirectories []string
    Specifies a list of absolute paths where the log files are located.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-W3CIISLog.
    logDirectories List<String>
    Specifies a list of absolute paths where the log files are located.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-W3CIISLog.
    logDirectories string[]
    Specifies a list of absolute paths where the log files are located.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-W3CIISLog.
    log_directories Sequence[str]
    Specifies a list of absolute paths where the log files are located.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-W3CIISLog.
    logDirectories List<String>
    Specifies a list of absolute paths where the log files are located.

    DataCollectionRuleDataSourcesLogFile, DataCollectionRuleDataSourcesLogFileArgs

    FilePatterns List<string>
    Specifies a list of file patterns where the log files are located. For example, C:\\JavaLogs\\*.log.
    Format string
    The data format of the log files. possible value is text.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value should be custom stream names.
    Settings DataCollectionRuleDataSourcesLogFileSettings
    A settings block as defined below.
    FilePatterns []string
    Specifies a list of file patterns where the log files are located. For example, C:\\JavaLogs\\*.log.
    Format string
    The data format of the log files. possible value is text.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value should be custom stream names.
    Settings DataCollectionRuleDataSourcesLogFileSettings
    A settings block as defined below.
    filePatterns List<String>
    Specifies a list of file patterns where the log files are located. For example, C:\\JavaLogs\\*.log.
    format String
    The data format of the log files. possible value is text.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value should be custom stream names.
    settings DataCollectionRuleDataSourcesLogFileSettings
    A settings block as defined below.
    filePatterns string[]
    Specifies a list of file patterns where the log files are located. For example, C:\\JavaLogs\\*.log.
    format string
    The data format of the log files. possible value is text.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value should be custom stream names.
    settings DataCollectionRuleDataSourcesLogFileSettings
    A settings block as defined below.
    file_patterns Sequence[str]
    Specifies a list of file patterns where the log files are located. For example, C:\\JavaLogs\\*.log.
    format str
    The data format of the log files. possible value is text.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value should be custom stream names.
    settings DataCollectionRuleDataSourcesLogFileSettings
    A settings block as defined below.
    filePatterns List<String>
    Specifies a list of file patterns where the log files are located. For example, C:\\JavaLogs\\*.log.
    format String
    The data format of the log files. possible value is text.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value should be custom stream names.
    settings Property Map
    A settings block as defined below.

    DataCollectionRuleDataSourcesLogFileSettings, DataCollectionRuleDataSourcesLogFileSettingsArgs

    text Property Map
    A text block as defined below.

    DataCollectionRuleDataSourcesLogFileSettingsText, DataCollectionRuleDataSourcesLogFileSettingsTextArgs

    RecordStartTimestampFormat string
    The timestamp format of the text log files. Possible values are ISO 8601, YYYY-MM-DD HH:MM:SS, M/D/YYYY HH:MM:SS AM/PM, Mon DD, YYYY HH:MM:SS, yyMMdd HH:mm:ss, ddMMyy HH:mm:ss, MMM d hh:mm:ss, dd/MMM/yyyy:HH:mm:ss zzz,and yyyy-MM-ddTHH:mm:ssK.
    RecordStartTimestampFormat string
    The timestamp format of the text log files. Possible values are ISO 8601, YYYY-MM-DD HH:MM:SS, M/D/YYYY HH:MM:SS AM/PM, Mon DD, YYYY HH:MM:SS, yyMMdd HH:mm:ss, ddMMyy HH:mm:ss, MMM d hh:mm:ss, dd/MMM/yyyy:HH:mm:ss zzz,and yyyy-MM-ddTHH:mm:ssK.
    recordStartTimestampFormat String
    The timestamp format of the text log files. Possible values are ISO 8601, YYYY-MM-DD HH:MM:SS, M/D/YYYY HH:MM:SS AM/PM, Mon DD, YYYY HH:MM:SS, yyMMdd HH:mm:ss, ddMMyy HH:mm:ss, MMM d hh:mm:ss, dd/MMM/yyyy:HH:mm:ss zzz,and yyyy-MM-ddTHH:mm:ssK.
    recordStartTimestampFormat string
    The timestamp format of the text log files. Possible values are ISO 8601, YYYY-MM-DD HH:MM:SS, M/D/YYYY HH:MM:SS AM/PM, Mon DD, YYYY HH:MM:SS, yyMMdd HH:mm:ss, ddMMyy HH:mm:ss, MMM d hh:mm:ss, dd/MMM/yyyy:HH:mm:ss zzz,and yyyy-MM-ddTHH:mm:ssK.
    record_start_timestamp_format str
    The timestamp format of the text log files. Possible values are ISO 8601, YYYY-MM-DD HH:MM:SS, M/D/YYYY HH:MM:SS AM/PM, Mon DD, YYYY HH:MM:SS, yyMMdd HH:mm:ss, ddMMyy HH:mm:ss, MMM d hh:mm:ss, dd/MMM/yyyy:HH:mm:ss zzz,and yyyy-MM-ddTHH:mm:ssK.
    recordStartTimestampFormat String
    The timestamp format of the text log files. Possible values are ISO 8601, YYYY-MM-DD HH:MM:SS, M/D/YYYY HH:MM:SS AM/PM, Mon DD, YYYY HH:MM:SS, yyMMdd HH:mm:ss, ddMMyy HH:mm:ss, MMM d hh:mm:ss, dd/MMM/yyyy:HH:mm:ss zzz,and yyyy-MM-ddTHH:mm:ssK.

    DataCollectionRuleDataSourcesPerformanceCounter, DataCollectionRuleDataSourcesPerformanceCounterArgs

    CounterSpecifiers List<string>
    Specifies a list of specifier names of the performance counters you want to collect. To get a list of performance counters on Windows, run the command typeperf. Please see this document for more information.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    SamplingFrequencyInSeconds int
    The number of seconds between consecutive counter measurements (samples). The value should be integer between 1 and 300 inclusive. sampling_frequency_in_seconds must be equal to 60 seconds for counters collected with Microsoft-InsightsMetrics stream.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-InsightsMetrics,and Microsoft-Perf.
    CounterSpecifiers []string
    Specifies a list of specifier names of the performance counters you want to collect. To get a list of performance counters on Windows, run the command typeperf. Please see this document for more information.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    SamplingFrequencyInSeconds int
    The number of seconds between consecutive counter measurements (samples). The value should be integer between 1 and 300 inclusive. sampling_frequency_in_seconds must be equal to 60 seconds for counters collected with Microsoft-InsightsMetrics stream.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-InsightsMetrics,and Microsoft-Perf.
    counterSpecifiers List<String>
    Specifies a list of specifier names of the performance counters you want to collect. To get a list of performance counters on Windows, run the command typeperf. Please see this document for more information.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    samplingFrequencyInSeconds Integer
    The number of seconds between consecutive counter measurements (samples). The value should be integer between 1 and 300 inclusive. sampling_frequency_in_seconds must be equal to 60 seconds for counters collected with Microsoft-InsightsMetrics stream.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-InsightsMetrics,and Microsoft-Perf.
    counterSpecifiers string[]
    Specifies a list of specifier names of the performance counters you want to collect. To get a list of performance counters on Windows, run the command typeperf. Please see this document for more information.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    samplingFrequencyInSeconds number
    The number of seconds between consecutive counter measurements (samples). The value should be integer between 1 and 300 inclusive. sampling_frequency_in_seconds must be equal to 60 seconds for counters collected with Microsoft-InsightsMetrics stream.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-InsightsMetrics,and Microsoft-Perf.
    counter_specifiers Sequence[str]
    Specifies a list of specifier names of the performance counters you want to collect. To get a list of performance counters on Windows, run the command typeperf. Please see this document for more information.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    sampling_frequency_in_seconds int
    The number of seconds between consecutive counter measurements (samples). The value should be integer between 1 and 300 inclusive. sampling_frequency_in_seconds must be equal to 60 seconds for counters collected with Microsoft-InsightsMetrics stream.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-InsightsMetrics,and Microsoft-Perf.
    counterSpecifiers List<String>
    Specifies a list of specifier names of the performance counters you want to collect. To get a list of performance counters on Windows, run the command typeperf. Please see this document for more information.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    samplingFrequencyInSeconds Number
    The number of seconds between consecutive counter measurements (samples). The value should be integer between 1 and 300 inclusive. sampling_frequency_in_seconds must be equal to 60 seconds for counters collected with Microsoft-InsightsMetrics stream.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-InsightsMetrics,and Microsoft-Perf.

    DataCollectionRuleDataSourcesPlatformTelemetry, DataCollectionRuleDataSourcesPlatformTelemetryArgs

    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft.Cache/redis:Metrics-Group-All.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft.Cache/redis:Metrics-Group-All.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft.Cache/redis:Metrics-Group-All.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft.Cache/redis:Metrics-Group-All.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft.Cache/redis:Metrics-Group-All.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft.Cache/redis:Metrics-Group-All.

    DataCollectionRuleDataSourcesPrometheusForwarder, DataCollectionRuleDataSourcesPrometheusForwarderArgs

    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-PrometheusMetrics.
    LabelIncludeFilters List<DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter>
    One or more label_include_filter blocks as defined above.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-PrometheusMetrics.
    LabelIncludeFilters []DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter
    One or more label_include_filter blocks as defined above.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-PrometheusMetrics.
    labelIncludeFilters List<DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter>
    One or more label_include_filter blocks as defined above.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-PrometheusMetrics.
    labelIncludeFilters DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter[]
    One or more label_include_filter blocks as defined above.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-PrometheusMetrics.
    label_include_filters Sequence[DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter]
    One or more label_include_filter blocks as defined above.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible value is Microsoft-PrometheusMetrics.
    labelIncludeFilters List<Property Map>
    One or more label_include_filter blocks as defined above.

    DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilter, DataCollectionRuleDataSourcesPrometheusForwarderLabelIncludeFilterArgs

    Label string
    The label of the filter. This label should be unique across all label_include_fileter block. Possible value is microsoft_metrics_include_label.
    Value string
    The value of the filter.
    Label string
    The label of the filter. This label should be unique across all label_include_fileter block. Possible value is microsoft_metrics_include_label.
    Value string
    The value of the filter.
    label String
    The label of the filter. This label should be unique across all label_include_fileter block. Possible value is microsoft_metrics_include_label.
    value String
    The value of the filter.
    label string
    The label of the filter. This label should be unique across all label_include_fileter block. Possible value is microsoft_metrics_include_label.
    value string
    The value of the filter.
    label str
    The label of the filter. This label should be unique across all label_include_fileter block. Possible value is microsoft_metrics_include_label.
    value str
    The value of the filter.
    label String
    The label of the filter. This label should be unique across all label_include_fileter block. Possible value is microsoft_metrics_include_label.
    value String
    The value of the filter.

    DataCollectionRuleDataSourcesSyslog, DataCollectionRuleDataSourcesSyslogArgs

    FacilityNames List<string>
    Specifies a list of facility names. Use a wildcard * to collect logs for all facility names. Possible values are alert, *, audit, auth, authpriv, clock, cron, daemon, ftp, kern, local5, local4, local1, local7, local6, local3, local2, local0, lpr, mail, mark, news, nopri, ntp, syslog, user and uucp.
    LogLevels List<string>
    Specifies a list of log levels. Use a wildcard * to collect logs for all log levels. Possible values are Debug, Info, Notice, Warning, Error, Critical, Alert, Emergency,and *.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>

    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Syslog,and Microsoft-CiscoAsa, and Microsoft-CommonSecurityLog.

    Note: In 4.0 or later version of the provider, streams will be required. In 3.x version of provider, if streams is not specified in creation, it is default to ["Microsoft-Syslog"]. if streams need to be modified (include change other value to the default value), it must be explicitly specified.

    FacilityNames []string
    Specifies a list of facility names. Use a wildcard * to collect logs for all facility names. Possible values are alert, *, audit, auth, authpriv, clock, cron, daemon, ftp, kern, local5, local4, local1, local7, local6, local3, local2, local0, lpr, mail, mark, news, nopri, ntp, syslog, user and uucp.
    LogLevels []string
    Specifies a list of log levels. Use a wildcard * to collect logs for all log levels. Possible values are Debug, Info, Notice, Warning, Error, Critical, Alert, Emergency,and *.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string

    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Syslog,and Microsoft-CiscoAsa, and Microsoft-CommonSecurityLog.

    Note: In 4.0 or later version of the provider, streams will be required. In 3.x version of provider, if streams is not specified in creation, it is default to ["Microsoft-Syslog"]. if streams need to be modified (include change other value to the default value), it must be explicitly specified.

    facilityNames List<String>
    Specifies a list of facility names. Use a wildcard * to collect logs for all facility names. Possible values are alert, *, audit, auth, authpriv, clock, cron, daemon, ftp, kern, local5, local4, local1, local7, local6, local3, local2, local0, lpr, mail, mark, news, nopri, ntp, syslog, user and uucp.
    logLevels List<String>
    Specifies a list of log levels. Use a wildcard * to collect logs for all log levels. Possible values are Debug, Info, Notice, Warning, Error, Critical, Alert, Emergency,and *.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>

    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Syslog,and Microsoft-CiscoAsa, and Microsoft-CommonSecurityLog.

    Note: In 4.0 or later version of the provider, streams will be required. In 3.x version of provider, if streams is not specified in creation, it is default to ["Microsoft-Syslog"]. if streams need to be modified (include change other value to the default value), it must be explicitly specified.

    facilityNames string[]
    Specifies a list of facility names. Use a wildcard * to collect logs for all facility names. Possible values are alert, *, audit, auth, authpriv, clock, cron, daemon, ftp, kern, local5, local4, local1, local7, local6, local3, local2, local0, lpr, mail, mark, news, nopri, ntp, syslog, user and uucp.
    logLevels string[]
    Specifies a list of log levels. Use a wildcard * to collect logs for all log levels. Possible values are Debug, Info, Notice, Warning, Error, Critical, Alert, Emergency,and *.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]

    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Syslog,and Microsoft-CiscoAsa, and Microsoft-CommonSecurityLog.

    Note: In 4.0 or later version of the provider, streams will be required. In 3.x version of provider, if streams is not specified in creation, it is default to ["Microsoft-Syslog"]. if streams need to be modified (include change other value to the default value), it must be explicitly specified.

    facility_names Sequence[str]
    Specifies a list of facility names. Use a wildcard * to collect logs for all facility names. Possible values are alert, *, audit, auth, authpriv, clock, cron, daemon, ftp, kern, local5, local4, local1, local7, local6, local3, local2, local0, lpr, mail, mark, news, nopri, ntp, syslog, user and uucp.
    log_levels Sequence[str]
    Specifies a list of log levels. Use a wildcard * to collect logs for all log levels. Possible values are Debug, Info, Notice, Warning, Error, Critical, Alert, Emergency,and *.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]

    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Syslog,and Microsoft-CiscoAsa, and Microsoft-CommonSecurityLog.

    Note: In 4.0 or later version of the provider, streams will be required. In 3.x version of provider, if streams is not specified in creation, it is default to ["Microsoft-Syslog"]. if streams need to be modified (include change other value to the default value), it must be explicitly specified.

    facilityNames List<String>
    Specifies a list of facility names. Use a wildcard * to collect logs for all facility names. Possible values are alert, *, audit, auth, authpriv, clock, cron, daemon, ftp, kern, local5, local4, local1, local7, local6, local3, local2, local0, lpr, mail, mark, news, nopri, ntp, syslog, user and uucp.
    logLevels List<String>
    Specifies a list of log levels. Use a wildcard * to collect logs for all log levels. Possible values are Debug, Info, Notice, Warning, Error, Critical, Alert, Emergency,and *.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>

    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Syslog,and Microsoft-CiscoAsa, and Microsoft-CommonSecurityLog.

    Note: In 4.0 or later version of the provider, streams will be required. In 3.x version of provider, if streams is not specified in creation, it is default to ["Microsoft-Syslog"]. if streams need to be modified (include change other value to the default value), it must be explicitly specified.

    DataCollectionRuleDataSourcesWindowsEventLog, DataCollectionRuleDataSourcesWindowsEventLogArgs

    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event,and Microsoft-WindowsEvent, Microsoft-RomeDetectionEvent, and Microsoft-SecurityEvent.
    XPathQueries List<string>
    Specifies a list of Windows Event Log queries in XPath expression. Please see this document for more information.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event,and Microsoft-WindowsEvent, Microsoft-RomeDetectionEvent, and Microsoft-SecurityEvent.
    XPathQueries []string
    Specifies a list of Windows Event Log queries in XPath expression. Please see this document for more information.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event,and Microsoft-WindowsEvent, Microsoft-RomeDetectionEvent, and Microsoft-SecurityEvent.
    xPathQueries List<String>
    Specifies a list of Windows Event Log queries in XPath expression. Please see this document for more information.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event,and Microsoft-WindowsEvent, Microsoft-RomeDetectionEvent, and Microsoft-SecurityEvent.
    xPathQueries string[]
    Specifies a list of Windows Event Log queries in XPath expression. Please see this document for more information.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event,and Microsoft-WindowsEvent, Microsoft-RomeDetectionEvent, and Microsoft-SecurityEvent.
    x_path_queries Sequence[str]
    Specifies a list of Windows Event Log queries in XPath expression. Please see this document for more information.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to. Possible values include but not limited to Microsoft-Event,and Microsoft-WindowsEvent, Microsoft-RomeDetectionEvent, and Microsoft-SecurityEvent.
    xPathQueries List<String>
    Specifies a list of Windows Event Log queries in XPath expression. Please see this document for more information.

    DataCollectionRuleDataSourcesWindowsFirewallLog, DataCollectionRuleDataSourcesWindowsFirewallLogArgs

    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams List<string>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.
    Name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    Streams []string
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.
    name string
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams string[]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.
    name str
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams Sequence[str]
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.
    name String
    The name which should be used for this data source. This name should be unique across all data sources regardless of type within the Data Collection Rule.
    streams List<String>
    Specifies a list of streams that this data source will be sent to. A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.

    DataCollectionRuleDestinations, DataCollectionRuleDestinationsArgs

    AzureMonitorMetrics DataCollectionRuleDestinationsAzureMonitorMetrics
    A azure_monitor_metrics block as defined above.
    EventHub DataCollectionRuleDestinationsEventHub
    One or more event_hub blocks as defined below.
    EventHubDirect DataCollectionRuleDestinationsEventHubDirect
    One or more event_hub blocks as defined below.
    LogAnalytics List<DataCollectionRuleDestinationsLogAnalytic>
    One or more log_analytics blocks as defined below.
    MonitorAccounts List<DataCollectionRuleDestinationsMonitorAccount>
    One or more monitor_account blocks as defined below.
    StorageBlobDirects List<DataCollectionRuleDestinationsStorageBlobDirect>
    One or more storage_blob_direct blocks as defined below.
    StorageBlobs List<DataCollectionRuleDestinationsStorageBlob>
    One or more storage_blob blocks as defined below.
    StorageTableDirects List<DataCollectionRuleDestinationsStorageTableDirect>

    One or more storage_table_direct blocks as defined below.

    NOTE event_hub_direct, storage_blob_direct, and storage_table_direct are only available for rules of kind AgentDirectToStore.

    NOTE At least one of azure_monitor_metrics, event_hub, event_hub_direct, log_analytics, monitor_account, storage_blob, storage_blob_direct,and storage_table_direct blocks must be specified.

    AzureMonitorMetrics DataCollectionRuleDestinationsAzureMonitorMetrics
    A azure_monitor_metrics block as defined above.
    EventHub DataCollectionRuleDestinationsEventHub
    One or more event_hub blocks as defined below.
    EventHubDirect DataCollectionRuleDestinationsEventHubDirect
    One or more event_hub blocks as defined below.
    LogAnalytics []DataCollectionRuleDestinationsLogAnalytic
    One or more log_analytics blocks as defined below.
    MonitorAccounts []DataCollectionRuleDestinationsMonitorAccount
    One or more monitor_account blocks as defined below.
    StorageBlobDirects []DataCollectionRuleDestinationsStorageBlobDirect
    One or more storage_blob_direct blocks as defined below.
    StorageBlobs []DataCollectionRuleDestinationsStorageBlob
    One or more storage_blob blocks as defined below.
    StorageTableDirects []DataCollectionRuleDestinationsStorageTableDirect

    One or more storage_table_direct blocks as defined below.

    NOTE event_hub_direct, storage_blob_direct, and storage_table_direct are only available for rules of kind AgentDirectToStore.

    NOTE At least one of azure_monitor_metrics, event_hub, event_hub_direct, log_analytics, monitor_account, storage_blob, storage_blob_direct,and storage_table_direct blocks must be specified.

    azureMonitorMetrics DataCollectionRuleDestinationsAzureMonitorMetrics
    A azure_monitor_metrics block as defined above.
    eventHub DataCollectionRuleDestinationsEventHub
    One or more event_hub blocks as defined below.
    eventHubDirect DataCollectionRuleDestinationsEventHubDirect
    One or more event_hub blocks as defined below.
    logAnalytics List<DataCollectionRuleDestinationsLogAnalytic>
    One or more log_analytics blocks as defined below.
    monitorAccounts List<DataCollectionRuleDestinationsMonitorAccount>
    One or more monitor_account blocks as defined below.
    storageBlobDirects List<DataCollectionRuleDestinationsStorageBlobDirect>
    One or more storage_blob_direct blocks as defined below.
    storageBlobs List<DataCollectionRuleDestinationsStorageBlob>
    One or more storage_blob blocks as defined below.
    storageTableDirects List<DataCollectionRuleDestinationsStorageTableDirect>

    One or more storage_table_direct blocks as defined below.

    NOTE event_hub_direct, storage_blob_direct, and storage_table_direct are only available for rules of kind AgentDirectToStore.

    NOTE At least one of azure_monitor_metrics, event_hub, event_hub_direct, log_analytics, monitor_account, storage_blob, storage_blob_direct,and storage_table_direct blocks must be specified.

    azureMonitorMetrics DataCollectionRuleDestinationsAzureMonitorMetrics
    A azure_monitor_metrics block as defined above.
    eventHub DataCollectionRuleDestinationsEventHub
    One or more event_hub blocks as defined below.
    eventHubDirect DataCollectionRuleDestinationsEventHubDirect
    One or more event_hub blocks as defined below.
    logAnalytics DataCollectionRuleDestinationsLogAnalytic[]
    One or more log_analytics blocks as defined below.
    monitorAccounts DataCollectionRuleDestinationsMonitorAccount[]
    One or more monitor_account blocks as defined below.
    storageBlobDirects DataCollectionRuleDestinationsStorageBlobDirect[]
    One or more storage_blob_direct blocks as defined below.
    storageBlobs DataCollectionRuleDestinationsStorageBlob[]
    One or more storage_blob blocks as defined below.
    storageTableDirects DataCollectionRuleDestinationsStorageTableDirect[]

    One or more storage_table_direct blocks as defined below.

    NOTE event_hub_direct, storage_blob_direct, and storage_table_direct are only available for rules of kind AgentDirectToStore.

    NOTE At least one of azure_monitor_metrics, event_hub, event_hub_direct, log_analytics, monitor_account, storage_blob, storage_blob_direct,and storage_table_direct blocks must be specified.

    azure_monitor_metrics DataCollectionRuleDestinationsAzureMonitorMetrics
    A azure_monitor_metrics block as defined above.
    event_hub DataCollectionRuleDestinationsEventHub
    One or more event_hub blocks as defined below.
    event_hub_direct DataCollectionRuleDestinationsEventHubDirect
    One or more event_hub blocks as defined below.
    log_analytics Sequence[DataCollectionRuleDestinationsLogAnalytic]
    One or more log_analytics blocks as defined below.
    monitor_accounts Sequence[DataCollectionRuleDestinationsMonitorAccount]
    One or more monitor_account blocks as defined below.
    storage_blob_directs Sequence[DataCollectionRuleDestinationsStorageBlobDirect]
    One or more storage_blob_direct blocks as defined below.
    storage_blobs Sequence[DataCollectionRuleDestinationsStorageBlob]
    One or more storage_blob blocks as defined below.
    storage_table_directs Sequence[DataCollectionRuleDestinationsStorageTableDirect]

    One or more storage_table_direct blocks as defined below.

    NOTE event_hub_direct, storage_blob_direct, and storage_table_direct are only available for rules of kind AgentDirectToStore.

    NOTE At least one of azure_monitor_metrics, event_hub, event_hub_direct, log_analytics, monitor_account, storage_blob, storage_blob_direct,and storage_table_direct blocks must be specified.

    azureMonitorMetrics Property Map
    A azure_monitor_metrics block as defined above.
    eventHub Property Map
    One or more event_hub blocks as defined below.
    eventHubDirect Property Map
    One or more event_hub blocks as defined below.
    logAnalytics List<Property Map>
    One or more log_analytics blocks as defined below.
    monitorAccounts List<Property Map>
    One or more monitor_account blocks as defined below.
    storageBlobDirects List<Property Map>
    One or more storage_blob_direct blocks as defined below.
    storageBlobs List<Property Map>
    One or more storage_blob blocks as defined below.
    storageTableDirects List<Property Map>

    One or more storage_table_direct blocks as defined below.

    NOTE event_hub_direct, storage_blob_direct, and storage_table_direct are only available for rules of kind AgentDirectToStore.

    NOTE At least one of azure_monitor_metrics, event_hub, event_hub_direct, log_analytics, monitor_account, storage_blob, storage_blob_direct,and storage_table_direct blocks must be specified.

    DataCollectionRuleDestinationsAzureMonitorMetrics, DataCollectionRuleDestinationsAzureMonitorMetricsArgs

    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.

    DataCollectionRuleDestinationsEventHub, DataCollectionRuleDestinationsEventHubArgs

    EventHubId string
    The resource ID of the Event Hub.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    EventHubId string
    The resource ID of the Event Hub.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    eventHubId String
    The resource ID of the Event Hub.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    eventHubId string
    The resource ID of the Event Hub.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    event_hub_id str
    The resource ID of the Event Hub.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    eventHubId String
    The resource ID of the Event Hub.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.

    DataCollectionRuleDestinationsEventHubDirect, DataCollectionRuleDestinationsEventHubDirectArgs

    EventHubId string
    The resource ID of the Event Hub.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    EventHubId string
    The resource ID of the Event Hub.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    eventHubId String
    The resource ID of the Event Hub.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    eventHubId string
    The resource ID of the Event Hub.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    event_hub_id str
    The resource ID of the Event Hub.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    eventHubId String
    The resource ID of the Event Hub.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.

    DataCollectionRuleDestinationsLogAnalytic, DataCollectionRuleDestinationsLogAnalyticArgs

    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    WorkspaceResourceId string
    The ID of a Log Analytic Workspace resource.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    WorkspaceResourceId string
    The ID of a Log Analytic Workspace resource.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    workspaceResourceId String
    The ID of a Log Analytic Workspace resource.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    workspaceResourceId string
    The ID of a Log Analytic Workspace resource.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    workspace_resource_id str
    The ID of a Log Analytic Workspace resource.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    workspaceResourceId String
    The ID of a Log Analytic Workspace resource.

    DataCollectionRuleDestinationsMonitorAccount, DataCollectionRuleDestinationsMonitorAccountArgs

    MonitorAccountId string
    The resource ID of the Monitor Account.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    MonitorAccountId string
    The resource ID of the Monitor Account.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    monitorAccountId String
    The resource ID of the Monitor Account.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    monitorAccountId string
    The resource ID of the Monitor Account.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    monitor_account_id str
    The resource ID of the Monitor Account.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    monitorAccountId String
    The resource ID of the Monitor Account.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.

    DataCollectionRuleDestinationsStorageBlob, DataCollectionRuleDestinationsStorageBlobArgs

    ContainerName string
    The Storage Container name.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    StorageAccountId string
    The resource ID of the Storage Account.
    ContainerName string
    The Storage Container name.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    StorageAccountId string
    The resource ID of the Storage Account.
    containerName String
    The Storage Container name.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId String
    The resource ID of the Storage Account.
    containerName string
    The Storage Container name.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId string
    The resource ID of the Storage Account.
    container_name str
    The Storage Container name.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storage_account_id str
    The resource ID of the Storage Account.
    containerName String
    The Storage Container name.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId String
    The resource ID of the Storage Account.

    DataCollectionRuleDestinationsStorageBlobDirect, DataCollectionRuleDestinationsStorageBlobDirectArgs

    ContainerName string
    The Storage Container name.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    StorageAccountId string
    The resource ID of the Storage Account.
    ContainerName string
    The Storage Container name.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    StorageAccountId string
    The resource ID of the Storage Account.
    containerName String
    The Storage Container name.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId String
    The resource ID of the Storage Account.
    containerName string
    The Storage Container name.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId string
    The resource ID of the Storage Account.
    container_name str
    The Storage Container name.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storage_account_id str
    The resource ID of the Storage Account.
    containerName String
    The Storage Container name.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId String
    The resource ID of the Storage Account.

    DataCollectionRuleDestinationsStorageTableDirect, DataCollectionRuleDestinationsStorageTableDirectArgs

    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    StorageAccountId string
    The resource ID of the Storage Account.
    TableName string
    The Storage Table name.
    Name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    StorageAccountId string
    The resource ID of the Storage Account.
    TableName string
    The Storage Table name.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId String
    The resource ID of the Storage Account.
    tableName String
    The Storage Table name.
    name string
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId string
    The resource ID of the Storage Account.
    tableName string
    The Storage Table name.
    name str
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storage_account_id str
    The resource ID of the Storage Account.
    table_name str
    The Storage Table name.
    name String
    The name which should be used for this destination. This name should be unique across all destinations regardless of type within the Data Collection Rule.
    storageAccountId String
    The resource ID of the Storage Account.
    tableName String
    The Storage Table name.

    DataCollectionRuleIdentity, DataCollectionRuleIdentityArgs

    Type string
    Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned.
    IdentityIds List<string>

    A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.

    NOTE: This is required when type is set to UserAssigned.

    PrincipalId string
    The Principal ID associated with this Managed Service Identity.
    TenantId string
    The Tenant ID associated with this Managed Service Identity.
    Type string
    Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned.
    IdentityIds []string

    A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.

    NOTE: This is required when type is set to UserAssigned.

    PrincipalId string
    The Principal ID associated with this Managed Service Identity.
    TenantId string
    The Tenant ID associated with this Managed Service Identity.
    type String
    Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned.
    identityIds List<String>

    A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.

    NOTE: This is required when type is set to UserAssigned.

    principalId String
    The Principal ID associated with this Managed Service Identity.
    tenantId String
    The Tenant ID associated with this Managed Service Identity.
    type string
    Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned.
    identityIds string[]

    A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.

    NOTE: This is required when type is set to UserAssigned.

    principalId string
    The Principal ID associated with this Managed Service Identity.
    tenantId string
    The Tenant ID associated with this Managed Service Identity.
    type str
    Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned.
    identity_ids Sequence[str]

    A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.

    NOTE: This is required when type is set to UserAssigned.

    principal_id str
    The Principal ID associated with this Managed Service Identity.
    tenant_id str
    The Tenant ID associated with this Managed Service Identity.
    type String
    Specifies the type of Managed Service Identity that should be configured on this Data Collection Rule. Possible values are SystemAssigned and UserAssigned.
    identityIds List<String>

    A list of User Assigned Managed Identity IDs to be assigned to this Data Collection Rule. Currently, up to 1 identity is supported.

    NOTE: This is required when type is set to UserAssigned.

    principalId String
    The Principal ID associated with this Managed Service Identity.
    tenantId String
    The Tenant ID associated with this Managed Service Identity.

    DataCollectionRuleStreamDeclaration, DataCollectionRuleStreamDeclarationArgs

    Columns List<DataCollectionRuleStreamDeclarationColumn>
    One or more column blocks as defined above.
    StreamName string
    The name of the custom stream. This name should be unique across all stream_declaration blocks.
    Columns []DataCollectionRuleStreamDeclarationColumn
    One or more column blocks as defined above.
    StreamName string
    The name of the custom stream. This name should be unique across all stream_declaration blocks.
    columns List<DataCollectionRuleStreamDeclarationColumn>
    One or more column blocks as defined above.
    streamName String
    The name of the custom stream. This name should be unique across all stream_declaration blocks.
    columns DataCollectionRuleStreamDeclarationColumn[]
    One or more column blocks as defined above.
    streamName string
    The name of the custom stream. This name should be unique across all stream_declaration blocks.
    columns Sequence[DataCollectionRuleStreamDeclarationColumn]
    One or more column blocks as defined above.
    stream_name str
    The name of the custom stream. This name should be unique across all stream_declaration blocks.
    columns List<Property Map>
    One or more column blocks as defined above.
    streamName String
    The name of the custom stream. This name should be unique across all stream_declaration blocks.

    DataCollectionRuleStreamDeclarationColumn, DataCollectionRuleStreamDeclarationColumnArgs

    Name string
    The name of the column.
    Type string
    The type of the column data. Possible values are string, int, long, real, boolean, datetime,and dynamic.
    Name string
    The name of the column.
    Type string
    The type of the column data. Possible values are string, int, long, real, boolean, datetime,and dynamic.
    name String
    The name of the column.
    type String
    The type of the column data. Possible values are string, int, long, real, boolean, datetime,and dynamic.
    name string
    The name of the column.
    type string
    The type of the column data. Possible values are string, int, long, real, boolean, datetime,and dynamic.
    name str
    The name of the column.
    type str
    The type of the column data. Possible values are string, int, long, real, boolean, datetime,and dynamic.
    name String
    The name of the column.
    type String
    The type of the column data. Possible values are string, int, long, real, boolean, datetime,and dynamic.

    Import

    Data Collection Rules can be imported using the resource id, e.g.

    $ pulumi import azure:monitoring/dataCollectionRule:DataCollectionRule example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Insights/dataCollectionRules/rule1
    

    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.67.1 published on Tuesday, Feb 27, 2024 by Pulumi