NetworkConnectionMonitorArgs

data class NetworkConnectionMonitorArgs(val endpoints: Output<List<NetworkConnectionMonitorEndpointArgs>>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val networkWatcherId: Output<String>? = null, val notes: Output<String>? = null, val outputWorkspaceResourceIds: Output<List<String>>? = null, val tags: Output<Map<String, String>>? = null, val testConfigurations: Output<List<NetworkConnectionMonitorTestConfigurationArgs>>? = null, val testGroups: Output<List<NetworkConnectionMonitorTestGroupArgs>>? = null) : ConvertibleToJava<NetworkConnectionMonitorArgs>

Manages a Network Connection Monitor.

NOTE: Any Network Connection Monitor resource created with API versions 2019-06-01 or earlier (v1) are now incompatible with this provider, which now only supports v2.

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.operationalinsights.AnalyticsWorkspace;
import com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;
import com.pulumi.azure.network.NetworkConnectionMonitor;
import com.pulumi.azure.network.NetworkConnectionMonitorArgs;
import com.pulumi.azure.network.inputs.NetworkConnectionMonitorEndpointArgs;
import com.pulumi.azure.network.inputs.NetworkConnectionMonitorEndpointFilterArgs;
import com.pulumi.azure.network.inputs.NetworkConnectionMonitorTestConfigurationArgs;
import com.pulumi.azure.network.inputs.NetworkConnectionMonitorTestConfigurationTcpConfigurationArgs;
import com.pulumi.azure.network.inputs.NetworkConnectionMonitorTestGroupArgs;
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_D2s_v3")
.storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-focal")
.sku("20_04-lts")
.version("latest")
.build())
.storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()
.name("osdisk-example01")
.caching("ReadWrite")
.createOption("FromImage")
.managedDiskType("Standard_LRS")
.build())
.osProfile(VirtualMachineOsProfileArgs.builder()
.computerName("hostnametest01")
.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 exampleAnalyticsWorkspace = new AnalyticsWorkspace("exampleAnalyticsWorkspace", AnalyticsWorkspaceArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.sku("PerGB2018")
.build());
var exampleNetworkConnectionMonitor = new NetworkConnectionMonitor("exampleNetworkConnectionMonitor", NetworkConnectionMonitorArgs.builder()
.networkWatcherId(exampleNetworkWatcher.id())
.location(exampleNetworkWatcher.location())
.endpoints(
NetworkConnectionMonitorEndpointArgs.builder()
.name("source")
.targetResourceId(exampleVirtualMachine.id())
.filter(NetworkConnectionMonitorEndpointFilterArgs.builder()
.items(NetworkConnectionMonitorEndpointFilterItemArgs.builder()
.address(exampleVirtualMachine.id())
.type("AgentAddress")
.build())
.type("Include")
.build())
.build(),
NetworkConnectionMonitorEndpointArgs.builder()
.name("destination")
.address("mycompany.io")
.build())
.testConfigurations(NetworkConnectionMonitorTestConfigurationArgs.builder()
.name("tcpName")
.protocol("Tcp")
.testFrequencyInSeconds(60)
.tcpConfiguration(NetworkConnectionMonitorTestConfigurationTcpConfigurationArgs.builder()
.port(80)
.build())
.build())
.testGroups(NetworkConnectionMonitorTestGroupArgs.builder()
.name("exampletg")
.destinationEndpoints("destination")
.sourceEndpoints("source")
.testConfigurationNames("tcpName")
.build())
.notes("examplenote")
.outputWorkspaceResourceIds(exampleAnalyticsWorkspace.id())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleExtension)
.build());
}
}

Import

Network Connection Monitors can be imported using the resource id, e.g.

$ pulumi import azure:network/networkConnectionMonitor:NetworkConnectionMonitor example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/networkWatchers/watcher1/connectionMonitors/connectionMonitor1

Constructors

Link copied to clipboard
fun NetworkConnectionMonitorArgs(endpoints: Output<List<NetworkConnectionMonitorEndpointArgs>>? = null, location: Output<String>? = null, name: Output<String>? = null, networkWatcherId: Output<String>? = null, notes: Output<String>? = null, outputWorkspaceResourceIds: Output<List<String>>? = null, tags: Output<Map<String, String>>? = null, testConfigurations: Output<List<NetworkConnectionMonitorTestConfigurationArgs>>? = null, testGroups: Output<List<NetworkConnectionMonitorTestGroupArgs>>? = null)

Functions

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

Properties

Link copied to clipboard

A endpoint block as defined below.

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

The Azure Region where the Network Connection Monitor should exist. Changing this forces a new resource to be created.

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

The name which should be used for this Network Connection Monitor. Changing this forces a new resource to be created.

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

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

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

The description of the Network Connection Monitor.

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

A list of IDs of the Log Analytics Workspace which will accept the output from the Network Connection Monitor.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags which should be assigned to the Network Connection Monitor.

Link copied to clipboard

A test_configuration block as defined below.

Link copied to clipboard

A test_group block as defined below.