Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated the new endpoint type AzureArcNetwork and some additional properties #27413

Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
{
"parameters": {
"api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"networkWatcherName": "nw1",
"connectionMonitorName": "cm1",
"location": "centraluseuap",
"parameters": {
"properties": {
"endpoints": [
{
"name": "vm1",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add Type too in each endpoint

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added endpoint type.

"resourceId": "/subscriptions/9cece3e3-0f7d-47ca-af0e-9772773f90b7/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/TESTVM"
},
{
"name": "bing",
"address": "bing.com"
},
{
"name": "google",
"address": "google.com"
},
{
"name": "ArcBasedNetwork",
"type": "AzureArcNetwork",
"subscriptionId": "9cece3e3-0f7d-47ca-af0e-9772773f90b7",
"locationDetails": {
"region": "eastus"
},
"scope": {
"include": [
{
"address": "172.21.128.0/20"
}
]
}
}
],
"testConfigurations": [
{
"name": "testConfig1",
"testFrequencySec": 60,
"protocol": "Tcp",
"tcpConfiguration": {
"port": 80,
"disableTraceRoute": false
}
}
],
"testGroups": [
{
"name": "test1",
"disable": false,
"testConfigurations": [
"testConfig1"
],
"sources": [
"vm1",
"ArcBasedNetwork"
],
"destinations": [
"bing",
"google"
]
}
],
"outputs": []
}
}
},
"responses": {
"200": {
"body": {
"name": "cm1",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
"etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
"properties": {
"endpoints": [
{
"name": "vm1",
"resourceId": "/subscriptions/9cece3e3-0f7d-47ca-af0e-9772773f90b7/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/TESTVM"
},
{
"name": "ArcBasedNetwork",
"type": "AzureArcNetwork",
"subscriptionId": "9cece3e3-0f7d-47ca-af0e-9772773f90b7",
"locationDetails": {
"region": "eastus"
},
"scope": {
"include": [
{
"address": "172.21.128.0/20"
}
]
}
},
{
"name": "bing",
"address": "bing.com"
},
{
"name": "google",
"address": "google.com"
}
],
"testConfigurations": [
{
"name": "testConfig1",
"testFrequencySec": 60,
"protocol": "Tcp",
"tcpConfiguration": {
"port": 80,
"disableTraceRoute": false
}
}
],
"testGroups": [
{
"name": "test1",
"disable": false,
"testConfigurations": [
"testConfig1"
],
"sources": [
"vm1",
"ArcBasedNetwork"
],
"destinations": [
"bing",
"google"
]
}
],
"outputs": []
},
"location": "centraluseuap",
"type": "Microsoft.Network/networkWatchers/connectionMonitors"
}
},
"201": {
"body": {
"name": "cm1",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
"etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
"properties": {
"endpoints": [
{
"name": "vm1",
"resourceId": "/subscriptions/9cece3e3-0f7d-47ca-af0e-9772773f90b7/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/TESTVM"
},
{
"name": "ArcBasedNetwork",
"type": "AzureArcNetwork",
"subscriptionId": "9cece3e3-0f7d-47ca-af0e-9772773f90b7",
"locationDetails": {
"region": "eastus"
},
"scope": {
"include": [
{
"address": "172.21.128.0/20"
}
]
}
},
{
"name": "bing",
"address": "bing.com"
},
{
"name": "google",
"address": "google.com"
}
],
"testConfigurations": [
{
"name": "testConfig1",
"testFrequencySec": 60,
"protocol": "Tcp",
"tcpConfiguration": {
"port": 80,
"disableTraceRoute": false
}
}
],
"testGroups": [
{
"name": "test1",
"disable": false,
"testConfigurations": [
"testConfig1"
],
"sources": [
"vm1",
"ArcBasedNetwork"
],
"destinations": [
"bing",
"google"
]
}
],
"outputs": []
},
"location": "centraluseuap",
"type": "Microsoft.Network/networkWatchers/connectionMonitors"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
},
"responses": {
"204": {},
"202": {}
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-11-01"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
},
"responses": {
"200": {},
"202": {}
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-11-01"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
},
"responses": {
"200": {},
"202": {}
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-11-01"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@
"networkWatcherName": "nw1"
},
"responses": {
"202": {},
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-11-01"
}
},
"204": {}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
},
"responses": {
"204": {},
"202": {}
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-11-01"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
},
"responses": {
"204": {},
"202": {}
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-11-01"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
},
"responses": {
"200": {},
"202": {}
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-11-01"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -1604,6 +1604,9 @@
},
"Create connection monitor V2": {
"$ref": "./examples/NetworkWatcherConnectionMonitorV2Create.json"
},
"Create connection monitor with Arc Network": {
"$ref": "./examples/NetworkWatcherConnectionMonitorCreateWithArcNetwork.json"
}
},
"x-ms-long-running-operation": true,
Expand Down Expand Up @@ -4234,7 +4237,8 @@
"MMAWorkspaceMachine",
"MMAWorkspaceNetwork",
"AzureArcVM",
"AzureVMSS"
"AzureVMSS",
"AzureArcNetwork"
],
"x-ms-enum": {
"name": "EndpointType",
Expand Down Expand Up @@ -4273,6 +4277,14 @@
"modelAsString": true
},
"description": "Test coverage for the endpoint."
},
"locationDetails": {
"$ref": "#/definitions/ConnectionMonitorEndpointLocationDetails",
Copy link
Member

@TimLovellSmith TimLovellSmith Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ConnectionMonitorEndpointLocationDetails

why will location details need more than just a region string? #Resolved

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LocationDetails can also store availabilityZone.

Connection Monitor provides unified, end-to-end connection monitoring in Azure Network Watcher. It monitors connectivity between two endpoints,. Endpoints can be of compound type like multiple machines in one endpoint. Incase of compound resource AzureArcNetwork, this location details would be needed

"description": "Location details is optional and only being used for 'AzureArcNetwork' type endpoints, which can contains availability zone along with region details."

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's not put avaialbility thing for now. We only put region, for managed monitoring, we would also use Region.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the description.

},
"subscriptionId": {
"type": "string",
"description": "Subscription ID for connection monitor endpoint. It's an optional parameter which is being used for 'AzureArcNetwork' type endpoint."
}
Copy link
Member

@TimLovellSmith TimLovellSmith Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its not the subscription ID of the connection monitor but the monitored endpoint? Which may be in some other subscription?

Why is this needed can it be the same as resourceID? #Resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this only for the ARC scenario? A: YES

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mentioned public docs already doc this, I don't see how that is possible using proper process, please share a link.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

subscriptionId is not of the connection monitor's subscriptionId.

To monitors onpremise machines, customer has to setup arc machines. In order to monitor arc machines from different subscription, this field is being used.

Changes are already made in network resource provider using which connection-monitors can be created with ArcNetwork as one endpoint, but that is not publicly documented currently. It's in progress right now.
https://learn.microsoft.com/en-us/rest/api/network-watcher/connection-monitors/create-or-update?view=rest-network-watcher-2023-06-01&tabs=HTTP#endpointtype

},
"required": [
Expand Down Expand Up @@ -4777,6 +4789,16 @@
}
},
"description": "List of connection states snapshots."
},
"ConnectionMonitorEndpointLocationDetails": {
"type": "object",
"properties": {
"region": {
Copy link
Member

@TimLovellSmith TimLovellSmith Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

region

Is this an azure location? Why not call it 'location'? #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ConnectionMonitorEndpointLocationDetails can also store availabilityZone along with region.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how would that look ?

          "locationDetails": {
            "region": "?"
          },

Copy link
Contributor Author

@v-sapanchal v-sapanchal Jan 31, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi,
Yes, for the moment, it would look like, but once we add the availabilityZone in ConnectionMonitorEndpointLocationDetails, it would look like,

"locationDetails": {
"region": "exampleRegion",
"availabilityZone":"exampleZone"
},

"type": "string",
"description": "Region for connection monitor endpoint."
}
},
"description": "Connection monitor endpoint location details only being used for 'AzureArcNetwork' type endpoints, which can contains availability zone along with region details."

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the description.

}
}
}