PacketCaptureArgs

data class PacketCaptureArgs(val filters: Output<List<PacketCaptureFilterArgs>>? = null, val maximumBytesPerPacket: Output<Int>? = null, val maximumBytesPerSession: Output<Int>? = null, val maximumCaptureDurationInSeconds: Output<Int>? = null, val name: Output<String>? = null, val networkWatcherId: Output<String>? = null, val storageLocation: Output<PacketCaptureStorageLocationArgs>? = null, val virtualMachineId: Output<String>? = null) : ConvertibleToJava<PacketCaptureArgs>

Configures Network Packet Capturing against a Virtual Machine using a Network Watcher.

Example Usage

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.NetworkWatcher;
import com.pulumi.azure.network.NetworkWatcherArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.VirtualMachine;
import com.pulumi.azure.compute.VirtualMachineArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;
import com.pulumi.azure.compute.Extension;
import com.pulumi.azure.compute.ExtensionArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.compute.PacketCapture;
import com.pulumi.azure.compute.PacketCaptureArgs;
import com.pulumi.azure.compute.inputs.PacketCaptureStorageLocationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleNetworkWatcher = new NetworkWatcher("exampleNetworkWatcher", NetworkWatcherArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.addressSpaces("10.0.0.0/16")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var exampleNetworkInterface = new NetworkInterface("exampleNetworkInterface", NetworkInterfaceArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
.name("testconfiguration1")
.subnetId(exampleSubnet.id())
.privateIpAddressAllocation("Dynamic")
.build())
.build());
var exampleVirtualMachine = new VirtualMachine("exampleVirtualMachine", VirtualMachineArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.networkInterfaceIds(exampleNetworkInterface.id())
.vmSize("Standard_F2")
.storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-focal")
.sku("20_04-lts")
.version("latest")
.build())
.storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()
.name("osdisk")
.caching("ReadWrite")
.createOption("FromImage")
.managedDiskType("Standard_LRS")
.build())
.osProfile(VirtualMachineOsProfileArgs.builder()
.computerName("pctest-vm")
.adminUsername("testadmin")
.adminPassword("Password1234!")
.build())
.osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()
.disablePasswordAuthentication(false)
.build())
.build());
var exampleExtension = new Extension("exampleExtension", ExtensionArgs.builder()
.virtualMachineId(exampleVirtualMachine.id())
.publisher("Microsoft.Azure.NetworkWatcher")
.type("NetworkWatcherAgentLinux")
.typeHandlerVersion("1.4")
.autoUpgradeMinorVersion(true)
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var examplePacketCapture = new PacketCapture("examplePacketCapture", PacketCaptureArgs.builder()
.networkWatcherId(exampleNetworkWatcher.id())
.virtualMachineId(exampleVirtualMachine.id())
.storageLocation(PacketCaptureStorageLocationArgs.builder()
.storageAccountId(exampleAccount.id())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleExtension)
.build());
}
}

Import

Virtual Machine Packet Captures can be imported using the resource id, e.g.

$ pulumi import azure:compute/packetCapture:PacketCapture capture1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkWatchers/watcher1/packetCaptures/capture1

Constructors

Link copied to clipboard
fun PacketCaptureArgs(filters: Output<List<PacketCaptureFilterArgs>>? = null, maximumBytesPerPacket: Output<Int>? = null, maximumBytesPerSession: Output<Int>? = null, maximumCaptureDurationInSeconds: Output<Int>? = null, name: Output<String>? = null, networkWatcherId: Output<String>? = null, storageLocation: Output<PacketCaptureStorageLocationArgs>? = null, virtualMachineId: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): PacketCaptureArgs

Properties

Link copied to clipboard
val filters: Output<List<PacketCaptureFilterArgs>>? = null

One or more filter blocks as defined below. Changing this forces a new resource to be created.

Link copied to clipboard
val maximumBytesPerPacket: Output<Int>? = null

The number of bytes captured per packet. The remaining bytes are truncated. Defaults to 0 (Entire Packet Captured). Changing this forces a new resource to be created.

Link copied to clipboard
val maximumBytesPerSession: Output<Int>? = null

Maximum size of the capture in Bytes. Defaults to 1073741824 (1GB). Changing this forces a new resource to be created.

Link copied to clipboard

The maximum duration of the capture session in seconds. Defaults to 18000 (5 hours). Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

The name to use for this Network Packet Capture. Changing this forces a new resource to be created.

Link copied to clipboard
val networkWatcherId: Output<String>? = null

The resource ID of the Network Watcher. Changing this forces a new resource to be created.

Link copied to clipboard

A storage_location block as defined below. Changing this forces a new resource to be created.

Link copied to clipboard
val virtualMachineId: Output<String>? = null

The resource ID of the target Virtual Machine to capture packets from. Changing this forces a new resource to be created.