com.pulumi.azure.networkfunction.kotlin.CollectorPolicyArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.networkfunction.kotlin
import com.pulumi.azure.networkfunction.CollectorPolicyArgs.builder
import com.pulumi.azure.networkfunction.kotlin.inputs.CollectorPolicyIpfxEmissionArgs
import com.pulumi.azure.networkfunction.kotlin.inputs.CollectorPolicyIpfxEmissionArgsBuilder
import com.pulumi.azure.networkfunction.kotlin.inputs.CollectorPolicyIpfxIngestionArgs
import com.pulumi.azure.networkfunction.kotlin.inputs.CollectorPolicyIpfxIngestionArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Manages a Network Function Collector Policy.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const example = new azure.core.ResourceGroup("example", {
* name: "example-resources",
* location: "West US 2",
* });
* const exampleExpressRoutePort = new azure.network.ExpressRoutePort("example", {
* name: "example-erp",
* resourceGroupName: example.name,
* location: example.location,
* peeringLocation: "Equinix-Seattle-SE2",
* bandwidthInGbps: 10,
* encapsulation: "Dot1Q",
* });
* const exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit("example", {
* name: "example-erc",
* location: example.location,
* resourceGroupName: example.name,
* expressRoutePortId: exampleExpressRoutePort.id,
* bandwidthInGbps: 1,
* sku: {
* tier: "Standard",
* family: "MeteredData",
* },
* });
* const exampleExpressRouteCircuitPeering = new azure.network.ExpressRouteCircuitPeering("example", {
* peeringType: "MicrosoftPeering",
* expressRouteCircuitName: exampleExpressRouteCircuit.name,
* resourceGroupName: example.name,
* peerAsn: 100,
* primaryPeerAddressPrefix: "192.168.199.0/30",
* secondaryPeerAddressPrefix: "192.168.200.0/30",
* vlanId: 300,
* microsoftPeeringConfig: {
* advertisedPublicPrefixes: ["123.6.0.0/24"],
* },
* });
* const exampleAzureTrafficCollector = new azure.networkfunction.AzureTrafficCollector("example", {
* name: "example-nfatc",
* location: example.location,
* resourceGroupName: example.name,
* });
* const exampleCollectorPolicy = new azure.networkfunction.CollectorPolicy("example", {
* name: "example-nfcp",
* trafficCollectorId: exampleAzureTrafficCollector.id,
* location: example.location,
* ipfxEmission: {
* destinationTypes: "AzureMonitor",
* },
* ipfxIngestion: {
* sourceResourceIds: [exampleExpressRouteCircuit.id],
* },
* tags: {
* key: "value",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example = azure.core.ResourceGroup("example",
* name="example-resources",
* location="West US 2")
* example_express_route_port = azure.network.ExpressRoutePort("example",
* name="example-erp",
* resource_group_name=example.name,
* location=example.location,
* peering_location="Equinix-Seattle-SE2",
* bandwidth_in_gbps=10,
* encapsulation="Dot1Q")
* example_express_route_circuit = azure.network.ExpressRouteCircuit("example",
* name="example-erc",
* location=example.location,
* resource_group_name=example.name,
* express_route_port_id=example_express_route_port.id,
* bandwidth_in_gbps=1,
* sku=azure.network.ExpressRouteCircuitSkuArgs(
* tier="Standard",
* family="MeteredData",
* ))
* example_express_route_circuit_peering = azure.network.ExpressRouteCircuitPeering("example",
* peering_type="MicrosoftPeering",
* express_route_circuit_name=example_express_route_circuit.name,
* resource_group_name=example.name,
* peer_asn=100,
* primary_peer_address_prefix="192.168.199.0/30",
* secondary_peer_address_prefix="192.168.200.0/30",
* vlan_id=300,
* microsoft_peering_config=azure.network.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs(
* advertised_public_prefixes=["123.6.0.0/24"],
* ))
* example_azure_traffic_collector = azure.networkfunction.AzureTrafficCollector("example",
* name="example-nfatc",
* location=example.location,
* resource_group_name=example.name)
* example_collector_policy = azure.networkfunction.CollectorPolicy("example",
* name="example-nfcp",
* traffic_collector_id=example_azure_traffic_collector.id,
* location=example.location,
* ipfx_emission=azure.networkfunction.CollectorPolicyIpfxEmissionArgs(
* destination_types="AzureMonitor",
* ),
* ipfx_ingestion=azure.networkfunction.CollectorPolicyIpfxIngestionArgs(
* source_resource_ids=[example_express_route_circuit.id],
* ),
* tags={
* "key": "value",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var example = new Azure.Core.ResourceGroup("example", new()
* {
* Name = "example-resources",
* Location = "West US 2",
* });
* var exampleExpressRoutePort = new Azure.Network.ExpressRoutePort("example", new()
* {
* Name = "example-erp",
* ResourceGroupName = example.Name,
* Location = example.Location,
* PeeringLocation = "Equinix-Seattle-SE2",
* BandwidthInGbps = 10,
* Encapsulation = "Dot1Q",
* });
* var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit("example", new()
* {
* Name = "example-erc",
* Location = example.Location,
* ResourceGroupName = example.Name,
* ExpressRoutePortId = exampleExpressRoutePort.Id,
* BandwidthInGbps = 1,
* Sku = new Azure.Network.Inputs.ExpressRouteCircuitSkuArgs
* {
* Tier = "Standard",
* Family = "MeteredData",
* },
* });
* var exampleExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering("example", new()
* {
* PeeringType = "MicrosoftPeering",
* ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,
* ResourceGroupName = example.Name,
* PeerAsn = 100,
* PrimaryPeerAddressPrefix = "192.168.199.0/30",
* SecondaryPeerAddressPrefix = "192.168.200.0/30",
* VlanId = 300,
* MicrosoftPeeringConfig = new Azure.Network.Inputs.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs
* {
* AdvertisedPublicPrefixes = new[]
* {
* "123.6.0.0/24",
* },
* },
* });
* var exampleAzureTrafficCollector = new Azure.NetworkFunction.AzureTrafficCollector("example", new()
* {
* Name = "example-nfatc",
* Location = example.Location,
* ResourceGroupName = example.Name,
* });
* var exampleCollectorPolicy = new Azure.NetworkFunction.CollectorPolicy("example", new()
* {
* Name = "example-nfcp",
* TrafficCollectorId = exampleAzureTrafficCollector.Id,
* Location = example.Location,
* IpfxEmission = new Azure.NetworkFunction.Inputs.CollectorPolicyIpfxEmissionArgs
* {
* DestinationTypes = "AzureMonitor",
* },
* IpfxIngestion = new Azure.NetworkFunction.Inputs.CollectorPolicyIpfxIngestionArgs
* {
* SourceResourceIds = new[]
* {
* exampleExpressRouteCircuit.Id,
* },
* },
* Tags =
* {
* { "key", "value" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/networkfunction"
* "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 US 2"),
* })
* if err != nil {
* return err
* }
* exampleExpressRoutePort, err := network.NewExpressRoutePort(ctx, "example", &network.ExpressRoutePortArgs{
* Name: pulumi.String("example-erp"),
* ResourceGroupName: example.Name,
* Location: example.Location,
* PeeringLocation: pulumi.String("Equinix-Seattle-SE2"),
* BandwidthInGbps: pulumi.Int(10),
* Encapsulation: pulumi.String("Dot1Q"),
* })
* if err != nil {
* return err
* }
* exampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, "example", &network.ExpressRouteCircuitArgs{
* Name: pulumi.String("example-erc"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* ExpressRoutePortId: exampleExpressRoutePort.ID(),
* BandwidthInGbps: pulumi.Float64(1),
* Sku: &network.ExpressRouteCircuitSkuArgs{
* Tier: pulumi.String("Standard"),
* Family: pulumi.String("MeteredData"),
* },
* })
* if err != nil {
* return err
* }
* _, err = network.NewExpressRouteCircuitPeering(ctx, "example", &network.ExpressRouteCircuitPeeringArgs{
* PeeringType: pulumi.String("MicrosoftPeering"),
* ExpressRouteCircuitName: exampleExpressRouteCircuit.Name,
* ResourceGroupName: example.Name,
* PeerAsn: pulumi.Int(100),
* PrimaryPeerAddressPrefix: pulumi.String("192.168.199.0/30"),
* SecondaryPeerAddressPrefix: pulumi.String("192.168.200.0/30"),
* VlanId: pulumi.Int(300),
* MicrosoftPeeringConfig: &network.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs{
* AdvertisedPublicPrefixes: pulumi.StringArray{
* pulumi.String("123.6.0.0/24"),
* },
* },
* })
* if err != nil {
* return err
* }
* exampleAzureTrafficCollector, err := networkfunction.NewAzureTrafficCollector(ctx, "example", &networkfunction.AzureTrafficCollectorArgs{
* Name: pulumi.String("example-nfatc"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* })
* if err != nil {
* return err
* }
* _, err = networkfunction.NewCollectorPolicy(ctx, "example", &networkfunction.CollectorPolicyArgs{
* Name: pulumi.String("example-nfcp"),
* TrafficCollectorId: exampleAzureTrafficCollector.ID(),
* Location: example.Location,
* IpfxEmission: &networkfunction.CollectorPolicyIpfxEmissionArgs{
* DestinationTypes: pulumi.String("AzureMonitor"),
* },
* IpfxIngestion: &networkfunction.CollectorPolicyIpfxIngestionArgs{
* SourceResourceIds: pulumi.StringArray{
* exampleExpressRouteCircuit.ID(),
* },
* },
* Tags: pulumi.StringMap{
* "key": pulumi.String("value"),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* 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.network.ExpressRoutePort;
* import com.pulumi.azure.network.ExpressRoutePortArgs;
* import com.pulumi.azure.network.ExpressRouteCircuit;
* import com.pulumi.azure.network.ExpressRouteCircuitArgs;
* import com.pulumi.azure.network.inputs.ExpressRouteCircuitSkuArgs;
* import com.pulumi.azure.network.ExpressRouteCircuitPeering;
* import com.pulumi.azure.network.ExpressRouteCircuitPeeringArgs;
* import com.pulumi.azure.network.inputs.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs;
* import com.pulumi.azure.networkfunction.AzureTrafficCollector;
* import com.pulumi.azure.networkfunction.AzureTrafficCollectorArgs;
* import com.pulumi.azure.networkfunction.CollectorPolicy;
* import com.pulumi.azure.networkfunction.CollectorPolicyArgs;
* import com.pulumi.azure.networkfunction.inputs.CollectorPolicyIpfxEmissionArgs;
* import com.pulumi.azure.networkfunction.inputs.CollectorPolicyIpfxIngestionArgs;
* 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 US 2")
* .build());
* var exampleExpressRoutePort = new ExpressRoutePort("exampleExpressRoutePort", ExpressRoutePortArgs.builder()
* .name("example-erp")
* .resourceGroupName(example.name())
* .location(example.location())
* .peeringLocation("Equinix-Seattle-SE2")
* .bandwidthInGbps(10)
* .encapsulation("Dot1Q")
* .build());
* var exampleExpressRouteCircuit = new ExpressRouteCircuit("exampleExpressRouteCircuit", ExpressRouteCircuitArgs.builder()
* .name("example-erc")
* .location(example.location())
* .resourceGroupName(example.name())
* .expressRoutePortId(exampleExpressRoutePort.id())
* .bandwidthInGbps(1)
* .sku(ExpressRouteCircuitSkuArgs.builder()
* .tier("Standard")
* .family("MeteredData")
* .build())
* .build());
* var exampleExpressRouteCircuitPeering = new ExpressRouteCircuitPeering("exampleExpressRouteCircuitPeering", ExpressRouteCircuitPeeringArgs.builder()
* .peeringType("MicrosoftPeering")
* .expressRouteCircuitName(exampleExpressRouteCircuit.name())
* .resourceGroupName(example.name())
* .peerAsn(100)
* .primaryPeerAddressPrefix("192.168.199.0/30")
* .secondaryPeerAddressPrefix("192.168.200.0/30")
* .vlanId(300)
* .microsoftPeeringConfig(ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs.builder()
* .advertisedPublicPrefixes("123.6.0.0/24")
* .build())
* .build());
* var exampleAzureTrafficCollector = new AzureTrafficCollector("exampleAzureTrafficCollector", AzureTrafficCollectorArgs.builder()
* .name("example-nfatc")
* .location(example.location())
* .resourceGroupName(example.name())
* .build());
* var exampleCollectorPolicy = new CollectorPolicy("exampleCollectorPolicy", CollectorPolicyArgs.builder()
* .name("example-nfcp")
* .trafficCollectorId(exampleAzureTrafficCollector.id())
* .location(example.location())
* .ipfxEmission(CollectorPolicyIpfxEmissionArgs.builder()
* .destinationTypes("AzureMonitor")
* .build())
* .ipfxIngestion(CollectorPolicyIpfxIngestionArgs.builder()
* .sourceResourceIds(exampleExpressRouteCircuit.id())
* .build())
* .tags(Map.of("key", "value"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: example-resources
* location: West US 2
* exampleExpressRoutePort:
* type: azure:network:ExpressRoutePort
* name: example
* properties:
* name: example-erp
* resourceGroupName: ${example.name}
* location: ${example.location}
* peeringLocation: Equinix-Seattle-SE2
* bandwidthInGbps: 10
* encapsulation: Dot1Q
* exampleExpressRouteCircuit:
* type: azure:network:ExpressRouteCircuit
* name: example
* properties:
* name: example-erc
* location: ${example.location}
* resourceGroupName: ${example.name}
* expressRoutePortId: ${exampleExpressRoutePort.id}
* bandwidthInGbps: 1
* sku:
* tier: Standard
* family: MeteredData
* exampleExpressRouteCircuitPeering:
* type: azure:network:ExpressRouteCircuitPeering
* name: example
* properties:
* peeringType: MicrosoftPeering
* expressRouteCircuitName: ${exampleExpressRouteCircuit.name}
* resourceGroupName: ${example.name}
* peerAsn: 100
* primaryPeerAddressPrefix: 192.168.199.0/30
* secondaryPeerAddressPrefix: 192.168.200.0/30
* vlanId: 300
* microsoftPeeringConfig:
* advertisedPublicPrefixes:
* - 123.6.0.0/24
* exampleAzureTrafficCollector:
* type: azure:networkfunction:AzureTrafficCollector
* name: example
* properties:
* name: example-nfatc
* location: ${example.location}
* resourceGroupName: ${example.name}
* exampleCollectorPolicy:
* type: azure:networkfunction:CollectorPolicy
* name: example
* properties:
* name: example-nfcp
* trafficCollectorId: ${exampleAzureTrafficCollector.id}
* location: ${example.location}
* ipfxEmission:
* destinationTypes: AzureMonitor
* ipfxIngestion:
* sourceResourceIds:
* - ${exampleExpressRouteCircuit.id}
* tags:
* key: value
* ```
*
* ## Import
* Network Function Collector Policy can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:networkfunction/collectorPolicy:CollectorPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/azureTrafficCollector1/collectorPolicies/collectorPolicy1
* ```
* @property ipfxEmission An `ipfx_emission` block as defined below. Changing this forces a new Network Function Collector Policy to be created.
* @property ipfxIngestion An `ipfx_ingestion` block as defined below. Changing this forces a new Network Function Collector Policy to be created.
* @property location Specifies the Azure Region where the Network Function Collector Policy should exist. Changing this forces a new Network Function Collector Policy to be created.
* @property name Specifies the name which should be used for this Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.
* @property tags A mapping of tags which should be assigned to the Network Function Collector Policy.
* @property trafficCollectorId Specifies the Azure Traffic Collector ID of the Network Function Collector Policy. Changing this forces a new Network Function Collector Policy to be created.
*/
public data class CollectorPolicyArgs(
public val ipfxEmission: Output? = null,
public val ipfxIngestion: Output? = null,
public val location: Output? = null,
public val name: Output? = null,
public val tags: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy