Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL25ldHdvcmt3YXRjaGVycy97fS9jb25uZWN0aW9ubW9uaXRvcnMve30=/2022-01-01.xml (7,892 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<commandGroup name="network watcher connection-monitor">
<command name="show" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor-name name n" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="network-watcher-name" required="True" idPart="name">
<help short="The name of the Network Watcher resource."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor-name name n" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="network-watcher-name" required="True" idPart="name">
<help short="The name of the Network Watcher resource."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ConnectionMonitors_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="delete">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="202"/>
<response statusCode="204"/>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2022-01-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor-name name n" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="network-watcher-name" required="True" idPart="name">
<help short="The name of the Network Watcher resource."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="string" var="$parameters.location" options="location l" group="">
<help short="Location. Values from: `az account list-locations`. You can configure the default location using `az configure --defaults location=<location>`."/>
</arg>
<arg type="object" var="$parameters.tags" options="tags" group="">
<help short="Space-separated tags: key[=value] [key[=value] ...]. Use ''to clear existing tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="boolean" var="$parameters.properties.autoStart" options="auto-start" group="Properties">
<help short="Determines if the connection monitor will start automatically once created."/>
<default value="true"/>
</arg>
<arg type="object" var="$parameters.properties.destination" options="destination" group="Properties">
<help short="Describes the destination of connection monitor."/>
<arg type="string" var="$parameters.properties.destination.address" options="address">
<help short="Address of the connection monitor destination (IP or domain name)."/>
</arg>
<arg type="integer32" var="$parameters.properties.destination.port" options="port">
<help short="The destination port used by connection monitor."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg type="string" var="$parameters.properties.destination.resourceId" options="resource-id">
<help short="The ID of the resource used as the destination by connection monitor."/>
</arg>
</arg>
<arg type="integer32" var="$parameters.properties.monitoringIntervalInSeconds" options="monitoring-interval-in-seconds monitor-in-sec" group="Properties">
<help short="Monitoring interval in seconds."/>
<default value="60"/>
<format maximum="1800" minimum="30"/>
</arg>
<arg type="object" var="$parameters.properties.source" options="source" group="Properties">
<help short="Describes the source of connection monitor."/>
<arg type="integer32" var="$parameters.properties.source.port" options="port">
<help short="The source port used by connection monitor."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg type="string" var="$parameters.properties.source.resourceId" options="resource-id" required="True">
<help short="The ID of the resource used as the source by connection monitor."/>
</arg>
</arg>
</argGroup>
<argGroup name="V2">
<arg type="string" var="$parameters.properties.notes" options="notes" group="V2">
<help short="Optional notes to be associated with the connection monitor."/>
</arg>
</argGroup>
<argGroup name="V2 Endpoint">
<arg type="array<object>" var="$parameters.properties.endpoints" options="endpoints" group="V2 Endpoint">
<help short="List of connection monitor endpoints."/>
<item type="object">
<arg type="string" var="$parameters.properties.endpoints[].address" options="address">
<help short="Address of the connection monitor endpoint (IP or domain name)."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].coverageLevel" options="coverage-level">
<help short="Test coverage for the endpoint."/>
<enum>
<item name="AboveAverage" value=""AboveAverage""/>
<item name="Average" value=""Average""/>
<item name="BelowAverage" value=""BelowAverage""/>
<item name="Default" value=""Default""/>
<item name="Full" value=""Full""/>
<item name="Low" value=""Low""/>
</enum>
</arg>
<arg type="object" var="$parameters.properties.endpoints[].filter" options="filter">
<help short="Filter for sub-items within the endpoint."/>
<arg type="array<object>" var="$parameters.properties.endpoints[].filter.items" options="items">
<help short="List of items in the filter."/>
<item type="object">
<arg type="string" var="$parameters.properties.endpoints[].filter.items[].address" options="address">
<help short="The address of the filter item."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].filter.items[].type" options="type">
<help short="The type of item included in the filter. Currently only 'AgentAddress' is supported."/>
<enum>
<item name="AgentAddress" value=""AgentAddress""/>
</enum>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].filter.type" options="type">
<help short="The behavior of the endpoint filter. Currently only 'Include' is supported."/>
<enum>
<item name="Include" value=""Include""/>
</enum>
</arg>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].name" options="name" required="True">
<help short="The name of the connection monitor endpoint."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].resourceId" options="resource-id">
<help short="Resource ID of the connection monitor endpoint."/>
</arg>
<arg type="object" var="$parameters.properties.endpoints[].scope" options="scope">
<help short="Endpoint scope."/>
<arg type="array<@ConnectionMonitorEndpointScopeItem_create>" var="$parameters.properties.endpoints[].scope.exclude" options="exclude">
<help short="List of items which needs to be excluded from the endpoint scope."/>
<item type="@ConnectionMonitorEndpointScopeItem_create"/>
</arg>
<arg type="array<object>" var="$parameters.properties.endpoints[].scope.include" options="include">
<help short="List of items which needs to be included to the endpoint scope."/>
<item type="object" cls="ConnectionMonitorEndpointScopeItem_create">
<arg type="string" var="@ConnectionMonitorEndpointScopeItem_create.address" options="address">
<help short="The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address."/>
</arg>
</item>
</arg>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].type" options="type">
<help short="The endpoint type."/>
<enum>
<item name="AzureArcVM" value=""AzureArcVM""/>
<item name="AzureSubnet" value=""AzureSubnet""/>
<item name="AzureVM" value=""AzureVM""/>
<item name="AzureVMSS" value=""AzureVMSS""/>
<item name="AzureVNet" value=""AzureVNet""/>
<item name="ExternalAddress" value=""ExternalAddress""/>
<item name="MMAWorkspaceMachine" value=""MMAWorkspaceMachine""/>
<item name="MMAWorkspaceNetwork" value=""MMAWorkspaceNetwork""/>
</enum>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="V2 Output">
<arg type="array<object>" var="$parameters.properties.outputs" options="outputs" group="V2 Output">
<help short="List of connection monitor outputs."/>
<item type="object">
<arg type="string" var="$parameters.properties.outputs[].type" options="type" group="">
<help short="Connection monitor output destination type. Currently, only "Workspace" is supported. Allowed values: Workspace."/>
<enum>
<item name="Workspace" value=""Workspace""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId" options="workspace-id" group="">
<help short="The id of log analytics workspace."/>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="V2 Test Configuration">
<arg type="array<object>" var="$parameters.properties.testConfigurations" options="test-configurations" group="V2 Test Configuration">
<help short="List of connection monitor test configurations."/>
<item type="object">
<arg type="object" var="$parameters.properties.testConfigurations[].httpConfiguration" options="http-configuration">
<help short="The parameters used to perform test evaluation over HTTP."/>
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.method" options="method">
<help short="The HTTP method to use."/>
<enum>
<item name="Get" value=""Get""/>
<item name="Post" value=""Post""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.path" options="path">
<help short="The path component of the URI. For instance, "/dir1/dir2"."/>
</arg>
<arg type="integer32" var="$parameters.properties.testConfigurations[].httpConfiguration.port" options="port">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg type="boolean" var="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS" options="prefer-https">
<help short="Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit."/>
</arg>
<arg type="array<object>" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders" options="request-headers">
<help short="The HTTP headers to transmit with the request."/>
<item type="object">
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name" options="name">
<help short="The name in HTTP header."/>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value" options="value">
<help short="The value in HTTP header."/>
</arg>
</item>
</arg>
<arg type="array<string>" var="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges" options="valid-status-code-ranges">
<help short="HTTP status codes to consider successful. For instance, "2xx,301-304,418"."/>
<item type="string"/>
</arg>
</arg>
<arg type="object" var="$parameters.properties.testConfigurations[].icmpConfiguration" options="icmp-configuration">
<help short="The parameters used to perform test evaluation over ICMP."/>
<arg type="boolean" var="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute" options="disable-trace-route">
<help short="Value indicating whether path evaluation with trace route should be disabled."/>
</arg>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].name" options="name" required="True">
<help short="The name of the connection monitor test configuration."/>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].preferredIPVersion" options="preferred-ip-version">
<help short="The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters."/>
<enum>
<item name="IPv4" value=""IPv4""/>
<item name="IPv6" value=""IPv6""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].protocol" options="protocol" required="True">
<help short="The protocol to use in test evaluation."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Icmp" value=""Icmp""/>
<item name="Tcp" value=""Tcp""/>
</enum>
</arg>
<arg type="object" var="$parameters.properties.testConfigurations[].successThreshold" options="success-threshold">
<help short="The threshold for declaring a test successful."/>
<arg type="integer32" var="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent" options="checks-failed-percent">
<help short="The maximum percentage of failed checks permitted for a test to evaluate as successful."/>
</arg>
<arg type="float" var="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs" options="round-trip-time-ms">
<help short="The maximum round-trip time in milliseconds permitted for a test to evaluate as successful."/>
</arg>
</arg>
<arg type="object" var="$parameters.properties.testConfigurations[].tcpConfiguration" options="tcp-configuration">
<help short="The parameters used to perform test evaluation over TCP."/>
<arg type="string" var="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior" options="destination-port-behavior">
<help short="Destination port behavior."/>
<enum>
<item name="ListenIfAvailable" value=""ListenIfAvailable""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="boolean" var="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute" options="disable-trace-route">
<help short="Value indicating whether path evaluation with trace route should be disabled."/>
</arg>
<arg type="integer32" var="$parameters.properties.testConfigurations[].tcpConfiguration.port" options="port">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
</arg>
<arg type="integer32" var="$parameters.properties.testConfigurations[].testFrequencySec" options="test-frequency-sec">
<help short="The frequency of test evaluation, in seconds."/>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="V2 Test Group">
<arg type="array<object>" var="$parameters.properties.testGroups" options="test-groups" group="V2 Test Group">
<help short="List of connection monitor test groups."/>
<item type="object">
<arg type="array<string>" var="$parameters.properties.testGroups[].destinations" options="destinations" required="True">
<help short="List of destination endpoint names."/>
<item type="string"/>
</arg>
<arg type="boolean" var="$parameters.properties.testGroups[].disable" options="disable">
<help short="Value indicating whether test group is disabled."/>
</arg>
<arg type="string" var="$parameters.properties.testGroups[].name" options="name" required="True">
<help short="The name of the connection monitor test group."/>
</arg>
<arg type="array<string>" var="$parameters.properties.testGroups[].sources" options="sources" required="True">
<help short="List of source endpoint names."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$parameters.properties.testGroups[].testConfigurations" options="test-configurations" required="True">
<help short="List of test configuration names."/>
<item type="string"/>
</arg>
</item>
</arg>
</argGroup>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="string" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="autoStart" arg="$parameters.properties.autoStart">
<default value="true"/>
</prop>
<prop type="object" name="destination" arg="$parameters.properties.destination">
<prop type="string" name="address" arg="$parameters.properties.destination.address"/>
<prop type="integer32" name="port" arg="$parameters.properties.destination.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" arg="$parameters.properties.destination.resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" arg="$parameters.properties.endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].address"/>
<prop type="string" name="coverageLevel" arg="$parameters.properties.endpoints[].coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter" arg="$parameters.properties.endpoints[].filter">
<prop type="array<object>" name="items" arg="$parameters.properties.endpoints[].filter.items">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].filter.items[].address"/>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.items[].type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" arg="$parameters.properties.endpoints[].name" required="True"/>
<prop type="string" name="resourceId" arg="$parameters.properties.endpoints[].resourceId"/>
<prop type="object" name="scope" arg="$parameters.properties.endpoints[].scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_create>" name="exclude" arg="$parameters.properties.endpoints[].scope.exclude">
<item type="@ConnectionMonitorEndpointScopeItem_create"/>
</prop>
<prop type="array<object>" name="include" arg="$parameters.properties.endpoints[].scope.include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_create">
<prop type="string" name="address" arg="@ConnectionMonitorEndpointScopeItem_create.address"/>
</item>
</prop>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds" arg="$parameters.properties.monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop type="string" name="notes" arg="$parameters.properties.notes"/>
<prop type="array<object>" name="outputs" arg="$parameters.properties.outputs">
<item type="object">
<prop type="string" name="type" arg="$parameters.properties.outputs[].type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId" arg="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId"/>
</prop>
</item>
</prop>
<prop type="object" name="source" arg="$parameters.properties.source">
<prop type="integer32" name="port" arg="$parameters.properties.source.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" arg="$parameters.properties.source.resourceId" required="True"/>
</prop>
<prop type="array<object>" name="testConfigurations" arg="$parameters.properties.testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration" arg="$parameters.properties.testConfigurations[].httpConfiguration">
<prop type="string" name="method" arg="$parameters.properties.testConfigurations[].httpConfiguration.method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path" arg="$parameters.properties.testConfigurations[].httpConfiguration.path"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].httpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS" arg="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS"/>
<prop type="array<object>" name="requestHeaders" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges" arg="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration" arg="$parameters.properties.testConfigurations[].icmpConfiguration">
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute"/>
</prop>
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].name" required="True"/>
<prop type="string" name="preferredIPVersion" arg="$parameters.properties.testConfigurations[].preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.testConfigurations[].protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold" arg="$parameters.properties.testConfigurations[].successThreshold">
<prop type="integer32" name="checksFailedPercent" arg="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs" arg="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration" arg="$parameters.properties.testConfigurations[].tcpConfiguration">
<prop type="string" name="destinationPortBehavior" arg="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].tcpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec" arg="$parameters.properties.testConfigurations[].testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups" arg="$parameters.properties.testGroups">
<item type="object">
<prop type="array<string>" name="destinations" arg="$parameters.properties.testGroups[].destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable" arg="$parameters.properties.testGroups[].disable"/>
<prop type="string" name="name" arg="$parameters.properties.testGroups[].name" required="True"/>
<prop type="array<string>" name="sources" arg="$parameters.properties.testGroups[].sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" arg="$parameters.properties.testGroups[].testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2022-01-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor-name connection-monitor name n" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg nullable="True" type="string" var="$parameters.location" options="location l" group="">
<help short="Location. Values from: `az account list-locations`. You can configure the default location using `az configure --defaults location=<location>`."/>
</arg>
<arg nullable="True" type="object" var="$parameters.tags" options="tags" group="">
<help short="Space-separated tags: key[=value] [key[=value] ...]. Use ''to clear existing tags."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="boolean" var="$parameters.properties.autoStart" options="auto-start" group="Properties">
<help short="Determines if the connection monitor will start automatically once created."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.destination" options="destination" group="Properties">
<help short="Describes the destination of connection monitor."/>
<arg nullable="True" type="string" var="$parameters.properties.destination.address" options="address">
<help short="Address of the connection monitor destination (IP or domain name)."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.destination.port" options="port">
<help short="The destination port used by connection monitor."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.destination.resourceId" options="resource-id">
<help short="The ID of the resource used as the destination by connection monitor."/>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints" options="endpoints" group="Properties">
<help short="List of connection monitor endpoints."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].address" options="address">
<help short="Address of the connection monitor endpoint (IP or domain name)."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].coverageLevel" options="coverage-level">
<help short="Test coverage for the endpoint."/>
<enum>
<item name="AboveAverage" value=""AboveAverage""/>
<item name="Average" value=""Average""/>
<item name="BelowAverage" value=""BelowAverage""/>
<item name="Default" value=""Default""/>
<item name="Full" value=""Full""/>
<item name="Low" value=""Low""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.endpoints[].filter" options="filter">
<help short="Filter for sub-items within the endpoint."/>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints[].filter.items" options="items">
<help short="List of items in the filter."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].filter.items[].address" options="address">
<help short="The address of the filter item."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].filter.items[].type" options="type">
<help short="The type of item included in the filter. Currently only 'AgentAddress' is supported."/>
<enum>
<item name="AgentAddress" value=""AgentAddress""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].filter.type" options="type">
<help short="The behavior of the endpoint filter. Currently only 'Include' is supported."/>
<enum>
<item name="Include" value=""Include""/>
</enum>
</arg>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].name" options="name">
<help short="The name of the connection monitor endpoint."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].resourceId" options="resource-id">
<help short="Resource ID of the connection monitor endpoint."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.endpoints[].scope" options="scope">
<help short="Endpoint scope."/>
<arg nullable="True" type="array<@ConnectionMonitorEndpointScopeItem_update>" var="$parameters.properties.endpoints[].scope.exclude" options="exclude">
<help short="List of items which needs to be excluded from the endpoint scope."/>
<item nullable="True" type="@ConnectionMonitorEndpointScopeItem_update"/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints[].scope.include" options="include">
<help short="List of items which needs to be included to the endpoint scope."/>
<item nullable="True" type="object" cls="ConnectionMonitorEndpointScopeItem_update">
<arg nullable="True" type="string" var="@ConnectionMonitorEndpointScopeItem_update.address" options="address">
<help short="The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address."/>
</arg>
</item>
</arg>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].type" options="type">
<help short="The endpoint type."/>
<enum>
<item name="AzureArcVM" value=""AzureArcVM""/>
<item name="AzureSubnet" value=""AzureSubnet""/>
<item name="AzureVM" value=""AzureVM""/>
<item name="AzureVMSS" value=""AzureVMSS""/>
<item name="AzureVNet" value=""AzureVNet""/>
<item name="ExternalAddress" value=""ExternalAddress""/>
<item name="MMAWorkspaceMachine" value=""MMAWorkspaceMachine""/>
<item name="MMAWorkspaceNetwork" value=""MMAWorkspaceNetwork""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.monitoringIntervalInSeconds" options="monitoring-interval-in-seconds monitor-in-sec" group="Properties">
<help short="Monitoring interval in seconds."/>
<format maximum="1800" minimum="30"/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.outputs" options="outputs" group="Properties">
<help short="List of connection monitor outputs."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.outputs[].type" options="type">
<help short="Connection monitor output destination type. Currently, only "Workspace" is supported."/>
<enum>
<item name="Workspace" value=""Workspace""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.outputs[].workspaceSettings" options="workspace-settings">
<help short="Describes the settings for producing output into a log analytics workspace."/>
<arg nullable="True" type="string" var="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId" options="workspace-resource-id">
<help short="Log analytics workspace resource ID."/>
</arg>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.source" options="source" group="Properties">
<help short="Describes the source of connection monitor."/>
<arg nullable="True" type="integer32" var="$parameters.properties.source.port" options="port">
<help short="The source port used by connection monitor."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg type="string" var="$parameters.properties.source.resourceId" options="resource-id">
<help short="The ID of the resource used as the source by connection monitor."/>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.testConfigurations" options="test-configurations" group="Properties">
<help short="List of connection monitor test configurations."/>
<item nullable="True" type="object">
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].httpConfiguration" options="http-configuration">
<help short="The parameters used to perform test evaluation over HTTP."/>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.method" options="method">
<help short="The HTTP method to use."/>
<enum>
<item name="Get" value=""Get""/>
<item name="Post" value=""Post""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.path" options="path">
<help short="The path component of the URI. For instance, "/dir1/dir2"."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].httpConfiguration.port" options="port">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS" options="prefer-https">
<help short="Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders" options="request-headers">
<help short="The HTTP headers to transmit with the request."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name" options="name">
<help short="The name in HTTP header."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value" options="value">
<help short="The value in HTTP header."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges" options="valid-status-code-ranges">
<help short="HTTP status codes to consider successful. For instance, "2xx,301-304,418"."/>
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].icmpConfiguration" options="icmp-configuration">
<help short="The parameters used to perform test evaluation over ICMP."/>
<arg nullable="True" type="boolean" var="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute" options="disable-trace-route">
<help short="Value indicating whether path evaluation with trace route should be disabled."/>
</arg>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].name" options="name">
<help short="The name of the connection monitor test configuration."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].preferredIPVersion" options="preferred-ip-version">
<help short="The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters."/>
<enum>
<item name="IPv4" value=""IPv4""/>
<item name="IPv6" value=""IPv6""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].protocol" options="protocol">
<help short="The protocol to use in test evaluation."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Icmp" value=""Icmp""/>
<item name="Tcp" value=""Tcp""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].successThreshold" options="success-threshold">
<help short="The threshold for declaring a test successful."/>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent" options="checks-failed-percent">
<help short="The maximum percentage of failed checks permitted for a test to evaluate as successful."/>
</arg>
<arg nullable="True" type="float" var="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs" options="round-trip-time-ms">
<help short="The maximum round-trip time in milliseconds permitted for a test to evaluate as successful."/>
</arg>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].tcpConfiguration" options="tcp-configuration">
<help short="The parameters used to perform test evaluation over TCP."/>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior" options="destination-port-behavior">
<help short="Destination port behavior."/>
<enum>
<item name="ListenIfAvailable" value=""ListenIfAvailable""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute" options="disable-trace-route">
<help short="Value indicating whether path evaluation with trace route should be disabled."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].tcpConfiguration.port" options="port">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].testFrequencySec" options="test-frequency-sec">
<help short="The frequency of test evaluation, in seconds."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.testGroups" options="test-groups" group="Properties">
<help short="List of connection monitor test groups."/>
<item nullable="True" type="object">
<arg type="array<string>" var="$parameters.properties.testGroups[].destinations" options="destinations">
<help short="List of destination endpoint names."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.testGroups[].disable" options="disable">
<help short="Value indicating whether test group is disabled."/>
</arg>
<arg type="string" var="$parameters.properties.testGroups[].name" options="name">
<help short="The name of the connection monitor test group."/>
</arg>
<arg type="array<string>" var="$parameters.properties.testGroups[].sources" options="sources">
<help short="List of source endpoint names."/>
<item nullable="True" type="string"/>
</arg>
<arg type="array<string>" var="$parameters.properties.testGroups[].testConfigurations" options="test-configurations">
<help short="List of test configuration names."/>
<item nullable="True" type="string"/>
</arg>
</item>
</arg>
</argGroup>
<argGroup name="V2">
<arg nullable="True" type="string" var="$parameters.properties.notes" options="notes" group="V2">
<help short="Optional notes to be associated with the connection monitor."/>
</arg>
</argGroup>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="string" name="location" arg="$parameters.location"/>
<prop type="object" name="properties" required="True" clientFlatten="True">
<prop type="boolean" name="autoStart" arg="$parameters.properties.autoStart">
<default value="true"/>
</prop>
<prop type="object" name="destination" arg="$parameters.properties.destination">
<prop type="string" name="address" arg="$parameters.properties.destination.address"/>
<prop type="integer32" name="port" arg="$parameters.properties.destination.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" arg="$parameters.properties.destination.resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" arg="$parameters.properties.endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].address"/>
<prop type="string" name="coverageLevel" arg="$parameters.properties.endpoints[].coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter" arg="$parameters.properties.endpoints[].filter">
<prop type="array<object>" name="items" arg="$parameters.properties.endpoints[].filter.items">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].filter.items[].address"/>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.items[].type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" arg="$parameters.properties.endpoints[].name" required="True"/>
<prop type="string" name="resourceId" arg="$parameters.properties.endpoints[].resourceId"/>
<prop type="object" name="scope" arg="$parameters.properties.endpoints[].scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_update>" name="exclude" arg="$parameters.properties.endpoints[].scope.exclude">
<item type="@ConnectionMonitorEndpointScopeItem_update"/>
</prop>
<prop type="array<object>" name="include" arg="$parameters.properties.endpoints[].scope.include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_update">
<prop type="string" name="address" arg="@ConnectionMonitorEndpointScopeItem_update.address"/>
</item>
</prop>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds" arg="$parameters.properties.monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop type="string" name="notes" arg="$parameters.properties.notes"/>
<prop type="array<object>" name="outputs" arg="$parameters.properties.outputs">
<item type="object">
<prop type="string" name="type" arg="$parameters.properties.outputs[].type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings" arg="$parameters.properties.outputs[].workspaceSettings">
<prop type="string" name="workspaceResourceId" arg="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId"/>
</prop>
</item>
</prop>
<prop type="object" name="source" arg="$parameters.properties.source">
<prop type="integer32" name="port" arg="$parameters.properties.source.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" arg="$parameters.properties.source.resourceId" required="True"/>
</prop>
<prop type="array<object>" name="testConfigurations" arg="$parameters.properties.testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration" arg="$parameters.properties.testConfigurations[].httpConfiguration">
<prop type="string" name="method" arg="$parameters.properties.testConfigurations[].httpConfiguration.method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path" arg="$parameters.properties.testConfigurations[].httpConfiguration.path"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].httpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS" arg="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS"/>
<prop type="array<object>" name="requestHeaders" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges" arg="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration" arg="$parameters.properties.testConfigurations[].icmpConfiguration">
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute"/>
</prop>
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].name" required="True"/>
<prop type="string" name="preferredIPVersion" arg="$parameters.properties.testConfigurations[].preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.testConfigurations[].protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold" arg="$parameters.properties.testConfigurations[].successThreshold">
<prop type="integer32" name="checksFailedPercent" arg="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs" arg="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration" arg="$parameters.properties.testConfigurations[].tcpConfiguration">
<prop type="string" name="destinationPortBehavior" arg="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].tcpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec" arg="$parameters.properties.testConfigurations[].testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups" arg="$parameters.properties.testGroups">
<item type="object">
<prop type="array<string>" name="destinations" arg="$parameters.properties.testGroups[].destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable" arg="$parameters.properties.testGroups[].disable"/>
<prop type="string" name="name" arg="$parameters.properties.testGroups[].name" required="True"/>
<prop type="array<string>" name="sources" arg="$parameters.properties.testGroups[].sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" arg="$parameters.properties.testGroups[].testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<commandGroup name="endpoint">
<command name="list" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.endpoints" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.endpoints"/>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="add" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.endpoints[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].address" options="address" group="">
<help short="Address of the connection monitor endpoint (IP or domain name)."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].coverageLevel" options="coverage-level" group="">
<help short="Test coverage for the endpoint. Allowed values: AboveAverage, Average, BelowAverage, Default, Full, Low"/>
<enum>
<item name="AboveAverage" value=""AboveAverage""/>
<item name="Average" value=""Average""/>
<item name="BelowAverage" value=""BelowAverage""/>
<item name="Default" value=""Default""/>
<item name="Full" value=""Full""/>
<item name="Low" value=""Low""/>
</enum>
</arg>
<arg type="array<object>" var="$parameters.properties.endpoints[].filter.items" options="filter-items" group="">
<help short="List of property=value pairs to define filter items. Property currently include: type, address. Property value of type supports 'AgentAddress' only now."/>
<item type="object">
<arg type="string" var="$parameters.properties.endpoints[].filter.items[].address" options="address">
<help short="The address of the filter item."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].filter.items[].type" options="type">
<help short="The type of item included in the filter. Currently only 'AgentAddress' is supported."/>
<enum>
<item name="AgentAddress" value=""AgentAddress""/>
</enum>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].filter.type" options="filter-type" group="">
<help short="The behavior of the endpoint filter. Currently only 'Include' is supported. Allowed values: Include."/>
<enum>
<item name="Include" value=""Include""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].name" options="endpoint-name name n" required="True" group="">
<help short="The name of the connection monitor endpoint."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].resourceId" options="resource-id" group="">
<help short="Resource ID of the connection monitor endpoint."/>
</arg>
<arg type="array<object>" var="$parameters.properties.endpoints[].scope.exclude" options="scope-exclude" group="">
<help short="List of items which needs to be excluded from the endpoint scope."/>
<item type="object">
<arg type="string" var="$parameters.properties.endpoints[].scope.exclude[].address" options="address">
<help short="The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.endpoints[].scope.include" options="scope-include" group="">
<help short="List of items which needs to be included to the endpoint scope."/>
<item type="object">
<arg type="string" var="$parameters.properties.endpoints[].scope.include[].address" options="address">
<help short="The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address."/>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].type" options="type" group="">
<help short="The endpoint type. Allowed values: AzureArcVM, AzureSubnet, AzureVM, AzureVMSS, AzureVNet, ExternalAddress, MMAWorkspaceMachine, MMAWorkspaceNetwork."/>
<enum>
<item name="AzureArcVM" value=""AzureArcVM""/>
<item name="AzureSubnet" value=""AzureSubnet""/>
<item name="AzureVM" value=""AzureVM""/>
<item name="AzureVMSS" value=""AzureVMSS""/>
<item name="AzureVNet" value=""AzureVNet""/>
<item name="ExternalAddress" value=""ExternalAddress""/>
<item name="MMAWorkspaceMachine" value=""MMAWorkspaceMachine""/>
<item name="MMAWorkspaceNetwork" value=""MMAWorkspaceNetwork""/>
</enum>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.endpoints">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.endpoints[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.endpoints[]" required="True">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].address"/>
<prop type="string" name="coverageLevel" arg="$parameters.properties.endpoints[].coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items" arg="$parameters.properties.endpoints[].filter.items">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].filter.items[].address"/>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.items[].type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" arg="$parameters.properties.endpoints[].name" required="True"/>
<prop type="string" name="resourceId" arg="$parameters.properties.endpoints[].resourceId"/>
<prop type="object" name="scope">
<prop type="array<object>" name="exclude" arg="$parameters.properties.endpoints[].scope.exclude">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].scope.exclude[].address"/>
</item>
</prop>
<prop type="array<object>" name="include" arg="$parameters.properties.endpoints[].scope.include">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].scope.include[].address"/>
</item>
</prop>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.endpoints[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
</argGroup>
<argGroup name="Parameters.properties.endpoints[]">
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].address" options="address" group="Parameters.properties.endpoints[]">
<help short="Address of the connection monitor endpoint (IP or domain name)."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].coverageLevel" options="coverage-level" group="Parameters.properties.endpoints[]">
<help short="Test coverage for the endpoint."/>
<enum>
<item name="AboveAverage" value=""AboveAverage""/>
<item name="Average" value=""Average""/>
<item name="BelowAverage" value=""BelowAverage""/>
<item name="Default" value=""Default""/>
<item name="Full" value=""Full""/>
<item name="Low" value=""Low""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.endpoints[].filter" options="filter" group="Parameters.properties.endpoints[]">
<help short="Filter for sub-items within the endpoint."/>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints[].filter.items" options="items">
<help short="List of items in the filter."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].filter.items[].address" options="address">
<help short="The address of the filter item."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].filter.items[].type" options="type">
<help short="The type of item included in the filter. Currently only 'AgentAddress' is supported."/>
<enum>
<item name="AgentAddress" value=""AgentAddress""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].filter.type" options="type">
<help short="The behavior of the endpoint filter. Currently only 'Include' is supported."/>
<enum>
<item name="Include" value=""Include""/>
</enum>
</arg>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].name" options="name" required="True" group="Parameters.properties.endpoints[]">
<help short="The name of the connection monitor endpoint."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].resourceId" options="resource-id" group="Parameters.properties.endpoints[]">
<help short="Resource ID of the connection monitor endpoint."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.endpoints[].scope" options="scope" group="Parameters.properties.endpoints[]">
<help short="Endpoint scope."/>
<arg nullable="True" type="array<@ConnectionMonitorEndpointScopeItem_update>" var="$parameters.properties.endpoints[].scope.exclude" options="exclude">
<help short="List of items which needs to be excluded from the endpoint scope."/>
<item nullable="True" type="@ConnectionMonitorEndpointScopeItem_update"/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints[].scope.include" options="include">
<help short="List of items which needs to be included to the endpoint scope."/>
<item nullable="True" type="object" cls="ConnectionMonitorEndpointScopeItem_update">
<arg nullable="True" type="string" var="@ConnectionMonitorEndpointScopeItem_update.address" options="address">
<help short="The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address."/>
</arg>
</item>
</arg>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].type" options="type" group="Parameters.properties.endpoints[]">
<help short="The endpoint type."/>
<enum>
<item name="AzureArcVM" value=""AzureArcVM""/>
<item name="AzureSubnet" value=""AzureSubnet""/>
<item name="AzureVM" value=""AzureVM""/>
<item name="AzureVMSS" value=""AzureVMSS""/>
<item name="AzureVNet" value=""AzureVNet""/>
<item name="ExternalAddress" value=""ExternalAddress""/>
<item name="MMAWorkspaceMachine" value=""MMAWorkspaceMachine""/>
<item name="MMAWorkspaceNetwork" value=""MMAWorkspaceNetwork""/>
</enum>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.endpoints">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.endpoints[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.endpoints[]" required="True">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].address"/>
<prop type="string" name="coverageLevel" arg="$parameters.properties.endpoints[].coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter" arg="$parameters.properties.endpoints[].filter">
<prop type="array<object>" name="items" arg="$parameters.properties.endpoints[].filter.items">
<item type="object">
<prop type="string" name="address" arg="$parameters.properties.endpoints[].filter.items[].address"/>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.items[].type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].filter.type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" arg="$parameters.properties.endpoints[].name" required="True"/>
<prop type="string" name="resourceId" arg="$parameters.properties.endpoints[].resourceId"/>
<prop type="object" name="scope" arg="$parameters.properties.endpoints[].scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_update>" name="exclude" arg="$parameters.properties.endpoints[].scope.exclude">
<item type="@ConnectionMonitorEndpointScopeItem_update"/>
</prop>
<prop type="array<object>" name="include" arg="$parameters.properties.endpoints[].scope.include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_update">
<prop type="string" name="address" arg="@ConnectionMonitorEndpointScopeItem_update.address"/>
</item>
</prop>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="remove" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.endpoints[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].name" options="endpoint-name name n" required="True" group="">
<help short="Name of the connection monitor endpoint."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.endpoints">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.endpoints[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="show" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.endpoints[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$parameters.properties.endpoints[].name" options="endpoint-name name n" required="True" group="">
<help short="Name of the connection monitor endpoint."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.endpoints">
<item type="object"/>
<identifier type="string" name="[].name" arg="$parameters.properties.endpoints[].name" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
<commandGroup name="output">
<command name="list" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.outputs" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.outputs"/>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="add" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.outputs[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.outputs[Index]" options="output-index" group="">
<help short="output-index"/>
</arg>
<arg type="string" var="$parameters.properties.outputs[].type" options="output-type type" group="">
<help short="Connection monitor output destination type. Currently, only "Workspace" is supported."/>
<enum>
<item name="Workspace" value=""Workspace""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId" options="workspace-id" group="">
<help short="The id of log analytics workspace"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.outputs">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.outputs[Index]"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.outputs[]" required="True">
<prop type="string" name="type" arg="$parameters.properties.outputs[].type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId" arg="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId"/>
</prop>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.outputs[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor-name" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.outputs[Index]" options="output-index" required="True"/>
</argGroup>
<argGroup name="Parameters.properties.outputs[]">
<arg nullable="True" type="string" var="$parameters.properties.outputs[].type" options="output-type" group="Parameters.properties.outputs[]">
<help short="Connection monitor output destination type. Currently, only "Workspace" is supported."/>
<enum>
<item name="Workspace" value=""Workspace""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.outputs[].workspaceSettings" options="workspace-settings" group="Parameters.properties.outputs[]">
<help short="Describes the settings for producing output into a log analytics workspace."/>
<arg nullable="True" type="string" var="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId" options="workspace-resource-id">
<help short="Log analytics workspace resource ID."/>
</arg>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.outputs">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.outputs[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.outputs[]" required="True">
<prop type="string" name="type" arg="$parameters.properties.outputs[].type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings" arg="$parameters.properties.outputs[].workspaceSettings">
<prop type="string" name="workspaceResourceId" arg="$parameters.properties.outputs[].workspaceSettings.workspaceResourceId"/>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="delete" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.outputs[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.outputs[Index]" options="output-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.outputs">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.outputs[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="show" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.outputs[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor-name" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="integer" var="$parameters.properties.outputs[Index]" options="output-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.outputs">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.outputs[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
<commandGroup name="test-configuration">
<command name="list" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testConfigurations" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testConfigurations"/>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="add" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testConfigurations[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.testConfigurations[Index]" options="test-configuration-index"/>
<arg type="string" var="$parameters.properties.testConfigurations[].name" options="test-configuration-name name n" required="True" group="">
<help short="The name of the connection monitor test configuration."/>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].preferredIPVersion" options="preferred-ip-version" group="">
<help short="The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters. Allowed values: IPv4, IPv6."/>
<enum>
<item name="IPv4" value=""IPv4""/>
<item name="IPv6" value=""IPv6""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].protocol" options="protocol" required="True" group="">
<help short="The protocol to use in test evaluation. Allowed values: Http, Icmp, Tcp."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Icmp" value=""Icmp""/>
<item name="Tcp" value=""Tcp""/>
</enum>
</arg>
<arg type="integer32" var="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent" options="threshold-failed-percent" group="">
<help short="The maximum percentage of failed checks permitted for a test to evaluate as successful."/>
</arg>
<arg type="float" var="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs" options="threshold-round-trip-time" group="">
<help short="The maximum round-trip time in milliseconds permitted for a test to evaluate as successful."/>
</arg>
<arg type="integer32" var="$parameters.properties.testConfigurations[].testFrequencySec" options="frequency" group="">
<help short="The frequency of test evaluation, in seconds. Default: 60."/>
</arg>
</argGroup>
<argGroup name="HTTP Protocol">
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.method" options="http-method" group="HTTP Protocol">
<help short="The HTTP method to use. Allowed values: Get, Post."/>
<enum>
<item name="Get" value=""Get""/>
<item name="Post" value=""Post""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.path" options="http-path" group="HTTP Protocol">
<help short="The path component of the URI. For instance, "/dir1/dir2"."/>
</arg>
<arg type="integer32" var="$parameters.properties.testConfigurations[].httpConfiguration.port" options="http-port" group="HTTP Protocol">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg type="boolean" var="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS" options="http-prefer-https" group="HTTP Protocol">
<help short="Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit."/>
</arg>
<arg type="array<object>" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders" options="http-request-headers" group="HTTP Protocol">
<help short="The HTTP headers to transmit with the request."/>
<item type="object">
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name" options="name">
<help short="The name in HTTP header."/>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value" options="value">
<help short="The value in HTTP header."/>
</arg>
</item>
</arg>
<arg type="array<string>" var="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges" options="http-valid-status-codes" group="HTTP Protocol">
<help short="HTTP status codes to consider successful. For instance, "2xx,301-304,418"."/>
<item type="string"/>
</arg>
</argGroup>
<argGroup name="ICMP Protocol">
<arg type="boolean" var="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute" options="icmp-disable-trace-route" group="ICMP Protocol">
<help short="Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true."/>
</arg>
</argGroup>
<argGroup name="TCP Protocol">
<arg type="string" var="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior" options="tcp-port-behavior" group="TCP Protocol">
<help short="Destination port behavior. Allowed values: ListenIfAvailable, None."/>
<enum>
<item name="ListenIfAvailable" value=""ListenIfAvailable""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="boolean" var="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute" options="tcp-disable-trace-route" group="TCP Protocol">
<help short="Value indicating whether path evaluation with trace route should be disabled. false is default. Allowed values: false, true."/>
</arg>
<arg type="integer32" var="$parameters.properties.testConfigurations[].tcpConfiguration.port" options="tcp-port" group="TCP Protocol">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testConfigurations">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testConfigurations[Index]"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.testConfigurations[]" required="True">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method" arg="$parameters.properties.testConfigurations[].httpConfiguration.method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path" arg="$parameters.properties.testConfigurations[].httpConfiguration.path"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].httpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS" arg="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS"/>
<prop type="array<object>" name="requestHeaders" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges" arg="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute"/>
</prop>
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].name" required="True"/>
<prop type="string" name="preferredIPVersion" arg="$parameters.properties.testConfigurations[].preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.testConfigurations[].protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent" arg="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs" arg="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior" arg="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].tcpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec" arg="$parameters.properties.testConfigurations[].testFrequencySec"/>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testConfigurations[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.testConfigurations[Index]" options="test-configuration-index" required="True"/>
</argGroup>
<argGroup name="Parameters.properties.testConfigurations[]">
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].httpConfiguration" options="http-configuration" group="Parameters.properties.testConfigurations[]">
<help short="The parameters used to perform test evaluation over HTTP."/>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.method" options="method">
<help short="The HTTP method to use."/>
<enum>
<item name="Get" value=""Get""/>
<item name="Post" value=""Post""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.path" options="path">
<help short="The path component of the URI. For instance, "/dir1/dir2"."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].httpConfiguration.port" options="port">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS" options="prefer-https">
<help short="Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders" options="request-headers">
<help short="The HTTP headers to transmit with the request."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name" options="name">
<help short="The name in HTTP header."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value" options="value">
<help short="The value in HTTP header."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges" options="valid-status-code-ranges">
<help short="HTTP status codes to consider successful. For instance, "2xx,301-304,418"."/>
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].icmpConfiguration" options="icmp-configuration" group="Parameters.properties.testConfigurations[]">
<help short="The parameters used to perform test evaluation over ICMP."/>
<arg nullable="True" type="boolean" var="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute" options="disable-trace-route">
<help short="Value indicating whether path evaluation with trace route should be disabled."/>
</arg>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].name" options="name" group="Parameters.properties.testConfigurations[]">
<help short="The name of the connection monitor test configuration."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].preferredIPVersion" options="preferred-ip-version" group="Parameters.properties.testConfigurations[]">
<help short="The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters."/>
<enum>
<item name="IPv4" value=""IPv4""/>
<item name="IPv6" value=""IPv6""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.testConfigurations[].protocol" options="protocol" group="Parameters.properties.testConfigurations[]">
<help short="The protocol to use in test evaluation."/>
<enum>
<item name="Http" value=""Http""/>
<item name="Icmp" value=""Icmp""/>
<item name="Tcp" value=""Tcp""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].successThreshold" options="success-threshold" group="Parameters.properties.testConfigurations[]">
<help short="The threshold for declaring a test successful."/>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent" options="checks-failed-percent">
<help short="The maximum percentage of failed checks permitted for a test to evaluate as successful."/>
</arg>
<arg nullable="True" type="float" var="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs" options="round-trip-time-ms">
<help short="The maximum round-trip time in milliseconds permitted for a test to evaluate as successful."/>
</arg>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.testConfigurations[].tcpConfiguration" options="tcp-configuration" group="Parameters.properties.testConfigurations[]">
<help short="The parameters used to perform test evaluation over TCP."/>
<arg nullable="True" type="string" var="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior" options="destination-port-behavior">
<help short="Destination port behavior."/>
<enum>
<item name="ListenIfAvailable" value=""ListenIfAvailable""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute" options="disable-trace-route">
<help short="Value indicating whether path evaluation with trace route should be disabled."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].tcpConfiguration.port" options="port">
<help short="The port to connect to."/>
<format maximum="65535" minimum="0"/>
</arg>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.testConfigurations[].testFrequencySec" options="test-frequency-sec" group="Parameters.properties.testConfigurations[]">
<help short="The frequency of test evaluation, in seconds."/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testConfigurations">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testConfigurations[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.testConfigurations[]" required="True">
<prop type="object" name="httpConfiguration" arg="$parameters.properties.testConfigurations[].httpConfiguration">
<prop type="string" name="method" arg="$parameters.properties.testConfigurations[].httpConfiguration.method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path" arg="$parameters.properties.testConfigurations[].httpConfiguration.path"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].httpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS" arg="$parameters.properties.testConfigurations[].httpConfiguration.preferHTTPS"/>
<prop type="array<object>" name="requestHeaders" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.testConfigurations[].httpConfiguration.requestHeaders[].value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges" arg="$parameters.properties.testConfigurations[].httpConfiguration.validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration" arg="$parameters.properties.testConfigurations[].icmpConfiguration">
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].icmpConfiguration.disableTraceRoute"/>
</prop>
<prop type="string" name="name" arg="$parameters.properties.testConfigurations[].name" required="True"/>
<prop type="string" name="preferredIPVersion" arg="$parameters.properties.testConfigurations[].preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.testConfigurations[].protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold" arg="$parameters.properties.testConfigurations[].successThreshold">
<prop type="integer32" name="checksFailedPercent" arg="$parameters.properties.testConfigurations[].successThreshold.checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs" arg="$parameters.properties.testConfigurations[].successThreshold.roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration" arg="$parameters.properties.testConfigurations[].tcpConfiguration">
<prop type="string" name="destinationPortBehavior" arg="$parameters.properties.testConfigurations[].tcpConfiguration.destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute" arg="$parameters.properties.testConfigurations[].tcpConfiguration.disableTraceRoute"/>
<prop type="integer32" name="port" arg="$parameters.properties.testConfigurations[].tcpConfiguration.port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec" arg="$parameters.properties.testConfigurations[].testFrequencySec"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="remove" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testConfigurations[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.testConfigurations[Index]" options="test-configuration-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testConfigurations">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testConfigurations[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="show" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testConfigurations[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="integer" var="$parameters.properties.testConfigurations[Index]" options="test-configuration-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testConfigurations">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testConfigurations[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
<commandGroup name="test-group">
<command name="list" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testGroups" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testGroups"/>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="add" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testGroups[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.testGroups[Index]" options="test-group-index"/>
<arg type="boolean" var="$parameters.properties.testGroups[].disable" options="disable" group="">
<help short="Value indicating whether test group is disabled. false is default. Allowed values: false, true."/>
</arg>
<arg type="string" var="$parameters.properties.testGroups[].name" options="test-group-name name n" required="True" group="">
<help short="The name of the connection monitor test group."/>
</arg>
</argGroup>
<argGroup name="V2 Endpoint">
<arg type="array<string>" var="$parameters.properties.testGroups[].destinations" options="destinations" required="True" group="V2 Endpoint">
<help short="List of destination endpoint names."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$parameters.properties.testGroups[].sources" options="sources" required="True" group="V2 Endpoint">
<help short="List of source endpoint names."/>
<item type="string"/>
</arg>
</argGroup>
<argGroup name="V2 Test Configuration">
<arg type="array<string>" var="$parameters.properties.testGroups[].testConfigurations" options="test-configurations" required="True" group="V2 Test Configuration">
<help short="List of test configuration names."/>
<item type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testGroups">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testGroups[Index]"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.testGroups[]" required="True">
<prop type="array<string>" name="destinations" arg="$parameters.properties.testGroups[].destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable" arg="$parameters.properties.testGroups[].disable"/>
<prop type="string" name="name" arg="$parameters.properties.testGroups[].name" required="True"/>
<prop type="array<string>" name="sources" arg="$parameters.properties.testGroups[].sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" arg="$parameters.properties.testGroups[].testConfigurations" required="True">
<item type="string"/>
</prop>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testGroups[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.testGroups[Index]" options="test-group-index" required="True"/>
</argGroup>
<argGroup name="Parameters.properties.testGroups[]">
<arg type="array<string>" var="$parameters.properties.testGroups[].destinations" options="destinations" group="Parameters.properties.testGroups[]">
<help short="List of destination endpoint names."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.testGroups[].disable" options="disable" group="Parameters.properties.testGroups[]">
<help short="Value indicating whether test group is disabled."/>
</arg>
<arg type="string" var="$parameters.properties.testGroups[].name" options="name" group="Parameters.properties.testGroups[]">
<help short="The name of the connection monitor test group."/>
</arg>
<arg type="array<string>" var="$parameters.properties.testGroups[].sources" options="sources" group="Parameters.properties.testGroups[]">
<help short="List of source endpoint names."/>
<item nullable="True" type="string"/>
</arg>
<arg type="array<string>" var="$parameters.properties.testGroups[].testConfigurations" options="test-configurations" group="Parameters.properties.testGroups[]">
<help short="List of test configuration names."/>
<item nullable="True" type="string"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testGroups">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testGroups[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="parameters.properties.testGroups[]" required="True">
<prop type="array<string>" name="destinations" arg="$parameters.properties.testGroups[].destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable" arg="$parameters.properties.testGroups[].disable"/>
<prop type="string" name="name" arg="$parameters.properties.testGroups[].name" required="True"/>
<prop type="array<string>" name="sources" arg="$parameters.properties.testGroups[].sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" arg="$parameters.properties.testGroups[].testConfigurations" required="True">
<item type="string"/>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="remove" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testGroups[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.migrate" options="migrate" hide="True" group="">
<help short="Value indicating whether connection monitor V1 should be migrated to V2 format."/>
</arg>
<arg type="integer" var="$parameters.properties.testGroups[Index]" options="test-group-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testGroups">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testGroups[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="ConnectionMonitors_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="put">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="migrate" arg="$Query.migrate"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ConnectionMonitorResult_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="show" version="2022-01-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkwatchers/{}/connectionmonitors/{}" version="2022-01-01" subresource="properties.testGroups[]" swagger="mgmt-plane/network/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnMve25ldHdvcmtXYXRjaGVyTmFtZX0vY29ubmVjdGlvbk1vbml0b3JzL3tjb25uZWN0aW9uTW9uaXRvck5hbWV9/V/MjAyMi0wMS0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.connectionMonitorName" options="connection-monitor" required="True" group="" idPart="child_name_1">
<help short="Connection monitor name."/>
</arg>
<arg type="string" var="$Path.networkWatcherName" options="watcher-name" required="True" group="" idPart="name">
<help short="Name of the network watcher."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="watcher-rg g" required="True" group="" idPart="resource_group">
<help short="Name of the resource group the watcher is in."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="integer" var="$parameters.properties.testGroups[Index]" options="test-group-index" required="True"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="parameters">
<prop type="array" name="properties.testGroups">
<item type="object"/>
<identifier type="integer" name="[Index]" arg="$parameters.properties.testGroups[Index]" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="ConnectionMonitors_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}">
<request method="get">
<path>
<param type="string" name="connectionMonitorName" arg="$Path.connectionMonitorName" required="True"/>
<param type="string" name="networkWatcherName" arg="$Path.networkWatcherName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2022-01-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ConnectionMonitorResult_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/networkWatchers/{}/connectionMonitors/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="boolean" name="autoStart">
<default value="true"/>
</prop>
<prop readOnly="True" type="string" name="connectionMonitorType">
<enum>
<item value=""MultiEndpoint""/>
<item value=""SingleSourceDestination""/>
</enum>
</prop>
<prop type="object" name="destination">
<prop type="string" name="address"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId"/>
</prop>
<prop type="array<object>" name="endpoints" identifiers="name">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="coverageLevel">
<enum>
<item value=""AboveAverage""/>
<item value=""Average""/>
<item value=""BelowAverage""/>
<item value=""Default""/>
<item value=""Full""/>
<item value=""Low""/>
</enum>
</prop>
<prop type="object" name="filter">
<prop type="array<object>" name="items">
<item type="object">
<prop type="string" name="address"/>
<prop type="string" name="type">
<enum>
<item value=""AgentAddress""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Include""/>
</enum>
</prop>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="resourceId"/>
<prop type="object" name="scope">
<prop type="array<@ConnectionMonitorEndpointScopeItem_read>" name="exclude">
<item type="@ConnectionMonitorEndpointScopeItem_read"/>
</prop>
<prop type="array<object>" name="include">
<item type="object" cls="ConnectionMonitorEndpointScopeItem_read">
<prop type="string" name="address"/>
</item>
</prop>
</prop>
<prop type="string" name="type">
<enum>
<item value=""AzureArcVM""/>
<item value=""AzureSubnet""/>
<item value=""AzureVM""/>
<item value=""AzureVMSS""/>
<item value=""AzureVNet""/>
<item value=""ExternalAddress""/>
<item value=""MMAWorkspaceMachine""/>
<item value=""MMAWorkspaceNetwork""/>
</enum>
</prop>
</item>
</prop>
<prop type="integer32" name="monitoringIntervalInSeconds">
<default value="60"/>
<format maximum="1800" minimum="30"/>
</prop>
<prop readOnly="True" type="string" name="monitoringStatus"/>
<prop type="string" name="notes"/>
<prop type="array<object>" name="outputs">
<item type="object">
<prop type="string" name="type">
<enum>
<item value=""Workspace""/>
</enum>
</prop>
<prop type="object" name="workspaceSettings">
<prop type="string" name="workspaceResourceId"/>
</prop>
</item>
</prop>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""Succeeded""/>
<item value=""Updating""/>
</enum>
</prop>
<prop type="object" name="source">
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="string" name="resourceId" required="True"/>
</prop>
<prop readOnly="True" type="dateTime" name="startTime"/>
<prop type="array<object>" name="testConfigurations">
<item type="object">
<prop type="object" name="httpConfiguration">
<prop type="string" name="method">
<enum>
<item value=""Get""/>
<item value=""Post""/>
</enum>
</prop>
<prop type="string" name="path"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
<prop type="boolean" name="preferHTTPS"/>
<prop type="array<object>" name="requestHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<string>" name="validStatusCodeRanges">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="icmpConfiguration">
<prop type="boolean" name="disableTraceRoute"/>
</prop>
<prop type="string" name="name" required="True"/>
<prop type="string" name="preferredIPVersion">
<enum>
<item value=""IPv4""/>
<item value=""IPv6""/>
</enum>
</prop>
<prop type="string" name="protocol" required="True">
<enum>
<item value=""Http""/>
<item value=""Icmp""/>
<item value=""Tcp""/>
</enum>
</prop>
<prop type="object" name="successThreshold">
<prop type="integer32" name="checksFailedPercent"/>
<prop type="float" name="roundTripTimeMs"/>
</prop>
<prop type="object" name="tcpConfiguration">
<prop type="string" name="destinationPortBehavior">
<enum>
<item value=""ListenIfAvailable""/>
<item value=""None""/>
</enum>
</prop>
<prop type="boolean" name="disableTraceRoute"/>
<prop type="integer32" name="port">
<format maximum="65535" minimum="0"/>
</prop>
</prop>
<prop type="integer32" name="testFrequencySec"/>
</item>
</prop>
<prop type="array<object>" name="testGroups">
<item type="object">
<prop type="array<string>" name="destinations" required="True">
<item type="string"/>
</prop>
<prop type="boolean" name="disable"/>
<prop type="string" name="name" required="True"/>
<prop type="array<string>" name="sources" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="testConfigurations" required="True">
<item type="string"/>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
</commandGroup>
</CodeGen>