Scale Set Packet Capture Args
data class ScaleSetPacketCaptureArgs(val filters: Output<List<ScaleSetPacketCaptureFilterArgs>>? = null, val machineScope: Output<ScaleSetPacketCaptureMachineScopeArgs>? = 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<ScaleSetPacketCaptureStorageLocationArgs>? = null, val virtualMachineScaleSetId: Output<String>? = null) : ConvertibleToJava<ScaleSetPacketCaptureArgs>
Configures Network Packet Capturing against a Virtual Machine Scale Set 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.compute.LinuxVirtualMachineScaleSet;
import com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;
import com.pulumi.azure.compute.VirtualMachineScaleSetExtension;
import com.pulumi.azure.compute.VirtualMachineScaleSetExtensionArgs;
import com.pulumi.azure.compute.ScaleSetPacketCapture;
import com.pulumi.azure.compute.ScaleSetPacketCaptureArgs;
import com.pulumi.azure.compute.inputs.ScaleSetPacketCaptureStorageLocationArgs;
import com.pulumi.azure.compute.inputs.ScaleSetPacketCaptureMachineScopeArgs;
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 exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", LinuxVirtualMachineScaleSetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.sku("Standard_F2")
.instances(4)
.adminUsername("adminuser")
.adminPassword("P@ssword1234!")
.computerNamePrefix("my-linux-computer-name-prefix")
.upgradeMode("Automatic")
.disablePasswordAuthentication(false)
.sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-focal")
.sku("20_04-lts")
.version("latest")
.build())
.osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()
.storageAccountType("Standard_LRS")
.caching("ReadWrite")
.build())
.networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()
.name("example")
.primary(true)
.ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
.name("internal")
.primary(true)
.subnetId(exampleSubnet.id())
.build())
.build())
.build());
var exampleVirtualMachineScaleSetExtension = new VirtualMachineScaleSetExtension("exampleVirtualMachineScaleSetExtension", VirtualMachineScaleSetExtensionArgs.builder()
.virtualMachineScaleSetId(exampleLinuxVirtualMachineScaleSet.id())
.publisher("Microsoft.Azure.NetworkWatcher")
.type("NetworkWatcherAgentLinux")
.typeHandlerVersion("1.4")
.autoUpgradeMinorVersion(true)
.automaticUpgradeEnabled(true)
.build());
var exampleScaleSetPacketCapture = new ScaleSetPacketCapture("exampleScaleSetPacketCapture", ScaleSetPacketCaptureArgs.builder()
.networkWatcherId(exampleNetworkWatcher.id())
.virtualMachineScaleSetId(exampleLinuxVirtualMachineScaleSet.id())
.storageLocation(ScaleSetPacketCaptureStorageLocationArgs.builder()
.filePath("/var/captures/packet.cap")
.build())
.machineScope(ScaleSetPacketCaptureMachineScopeArgs.builder()
.includeInstanceIds("0")
.excludeInstanceIds("1")
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleVirtualMachineScaleSetExtension)
.build());
}
}
Content copied to clipboard
Import
Virtual Machine Scale Set Packet Captures can be imported using the resource id
, e.g.
$ pulumi import azure:compute/scaleSetPacketCapture:ScaleSetPacketCapture capture1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/networkWatchers/watcher1/packetCaptures/capture1
Content copied to clipboard
Constructors
Link copied to clipboard
fun ScaleSetPacketCaptureArgs(filters: Output<List<ScaleSetPacketCaptureFilterArgs>>? = null, machineScope: Output<ScaleSetPacketCaptureMachineScopeArgs>? = null, maximumBytesPerPacket: Output<Int>? = null, maximumBytesPerSession: Output<Int>? = null, maximumCaptureDurationInSeconds: Output<Int>? = null, name: Output<String>? = null, networkWatcherId: Output<String>? = null, storageLocation: Output<ScaleSetPacketCaptureStorageLocationArgs>? = null, virtualMachineScaleSetId: Output<String>? = null)