1{
2  "swagger": "2.0",
3  "info": {
4    "title": "NetworkManagementClient",
5    "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
6    "version": "2020-04-01"
7  },
8  "host": "management.azure.com",
9  "schemes": [
10    "https"
11  ],
12  "consumes": [
13    "application/json"
14  ],
15  "produces": [
16    "application/json"
17  ],
18  "security": [
19    {
20      "azure_auth": [
21        "user_impersonation"
22      ]
23    }
24  ],
25  "securityDefinitions": {
26    "azure_auth": {
27      "type": "oauth2",
28      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
29      "flow": "implicit",
30      "description": "Azure Active Directory OAuth2 Flow.",
31      "scopes": {
32        "user_impersonation": "impersonate your user account"
33      }
34    }
35  },
36  "paths": {
37    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}": {
38      "delete": {
39        "tags": [
40          "VirtualNetworks"
41        ],
42        "operationId": "VirtualNetworks_Delete",
43        "description": "Deletes the specified virtual network.",
44        "parameters": [
45          {
46            "name": "resourceGroupName",
47            "in": "path",
48            "required": true,
49            "type": "string",
50            "description": "The name of the resource group."
51          },
52          {
53            "name": "virtualNetworkName",
54            "in": "path",
55            "required": true,
56            "type": "string",
57            "description": "The name of the virtual network."
58          },
59          {
60            "$ref": "./network.json#/parameters/ApiVersionParameter"
61          },
62          {
63            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
64          }
65        ],
66        "responses": {
67          "202": {
68            "description": "Accepted and the operation will complete asynchronously."
69          },
70          "204": {
71            "description": "Delete successful."
72          },
73          "200": {
74            "description": "Delete successful."
75          },
76          "default": {
77            "description": "Error response describing why the operation failed.",
78            "schema": {
79              "$ref": "./network.json#/definitions/CloudError"
80            }
81          }
82        },
83        "x-ms-long-running-operation": true,
84        "x-ms-long-running-operation-options": {
85          "final-state-via": "location"
86        },
87        "x-ms-examples": {
88          "Delete virtual network": {
89            "$ref": "./examples/VirtualNetworkDelete.json"
90          }
91        }
92      },
93      "get": {
94        "tags": [
95          "VirtualNetworks"
96        ],
97        "operationId": "VirtualNetworks_Get",
98        "description": "Gets the specified virtual network by resource group.",
99        "parameters": [
100          {
101            "name": "resourceGroupName",
102            "in": "path",
103            "required": true,
104            "type": "string",
105            "description": "The name of the resource group."
106          },
107          {
108            "name": "virtualNetworkName",
109            "in": "path",
110            "required": true,
111            "type": "string",
112            "description": "The name of the virtual network."
113          },
114          {
115            "$ref": "./network.json#/parameters/ApiVersionParameter"
116          },
117          {
118            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
119          },
120          {
121            "name": "$expand",
122            "in": "query",
123            "required": false,
124            "type": "string",
125            "description": "Expands referenced resources."
126          }
127        ],
128        "responses": {
129          "200": {
130            "description": "Request successful. The operation returns the resulting VirtualNetwork resource.",
131            "schema": {
132              "$ref": "#/definitions/VirtualNetwork"
133            }
134          },
135          "default": {
136            "description": "Error response describing why the operation failed.",
137            "schema": {
138              "$ref": "./network.json#/definitions/CloudError"
139            }
140          }
141        },
142        "x-ms-examples": {
143          "Get virtual network": {
144            "$ref": "./examples/VirtualNetworkGet.json"
145          },
146          "Get virtual network with a delegated subnet": {
147            "$ref": "./examples/VirtualNetworkGetWithSubnetDelegation.json"
148          },
149          "Get virtual network with service association links": {
150            "$ref": "./examples/VirtualNetworkGetWithServiceAssociationLink.json"
151          }
152        }
153      },
154      "put": {
155        "tags": [
156          "VirtualNetworks"
157        ],
158        "operationId": "VirtualNetworks_CreateOrUpdate",
159        "description": "Creates or updates a virtual network in the specified resource group.",
160        "parameters": [
161          {
162            "name": "resourceGroupName",
163            "in": "path",
164            "required": true,
165            "type": "string",
166            "description": "The name of the resource group."
167          },
168          {
169            "name": "virtualNetworkName",
170            "in": "path",
171            "required": true,
172            "type": "string",
173            "description": "The name of the virtual network."
174          },
175          {
176            "name": "parameters",
177            "in": "body",
178            "required": true,
179            "schema": {
180              "$ref": "#/definitions/VirtualNetwork"
181            },
182            "description": "Parameters supplied to the create or update virtual network operation."
183          },
184          {
185            "$ref": "./network.json#/parameters/ApiVersionParameter"
186          },
187          {
188            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
189          }
190        ],
191        "responses": {
192          "200": {
193            "description": "Update successful. The operation returns the resulting VirtualNetwork resource.",
194            "schema": {
195              "$ref": "#/definitions/VirtualNetwork"
196            }
197          },
198          "201": {
199            "description": "Create successful. The operation returns the resulting VirtualNetwork resource.",
200            "schema": {
201              "$ref": "#/definitions/VirtualNetwork"
202            }
203          },
204          "default": {
205            "description": "Error response describing why the operation failed.",
206            "schema": {
207              "$ref": "./network.json#/definitions/CloudError"
208            }
209          }
210        },
211        "x-ms-long-running-operation": true,
212        "x-ms-long-running-operation-options": {
213          "final-state-via": "azure-async-operation"
214        },
215        "x-ms-examples": {
216          "Create virtual network": {
217            "$ref": "./examples/VirtualNetworkCreate.json"
218          },
219          "Create virtual network with subnet": {
220            "$ref": "./examples/VirtualNetworkCreateSubnet.json"
221          },
222          "Create virtual network with subnet containing address prefixes": {
223            "$ref": "./examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json"
224          },
225          "Create virtual network with Bgp Communities": {
226            "$ref": "./examples/VirtualNetworkCreateWithBgpCommunities.json"
227          },
228          "Create virtual network with service endpoints": {
229            "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json"
230          },
231          "Create virtual network with service endpoints and service endpoint policy": {
232            "$ref": "./examples/VirtualNetworkCreateServiceEndpointPolicy.json"
233          },
234          "Create virtual network with delegated subnets": {
235            "$ref": "./examples/VirtualNetworkCreateSubnetWithDelegation.json"
236          }
237        }
238      },
239      "patch": {
240        "tags": [
241          "VirtualNetworks"
242        ],
243        "operationId": "VirtualNetworks_UpdateTags",
244        "description": "Updates a virtual network tags.",
245        "parameters": [
246          {
247            "name": "resourceGroupName",
248            "in": "path",
249            "required": true,
250            "type": "string",
251            "description": "The name of the resource group."
252          },
253          {
254            "name": "virtualNetworkName",
255            "in": "path",
256            "required": true,
257            "type": "string",
258            "description": "The name of the virtual network."
259          },
260          {
261            "name": "parameters",
262            "in": "body",
263            "required": true,
264            "schema": {
265              "$ref": "./network.json#/definitions/TagsObject"
266            },
267            "description": "Parameters supplied to update virtual network tags."
268          },
269          {
270            "$ref": "./network.json#/parameters/ApiVersionParameter"
271          },
272          {
273            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
274          }
275        ],
276        "responses": {
277          "200": {
278            "description": "Update successful. The operation returns the resulting VirtualNetwork resource.",
279            "schema": {
280              "$ref": "#/definitions/VirtualNetwork"
281            }
282          },
283          "default": {
284            "description": "Error response describing why the operation failed.",
285            "schema": {
286              "$ref": "./network.json#/definitions/CloudError"
287            }
288          }
289        },
290        "x-ms-examples": {
291          "Update virtual network tags": {
292            "$ref": "./examples/VirtualNetworkUpdateTags.json"
293          }
294        }
295      }
296    },
297    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": {
298      "get": {
299        "tags": [
300          "VirtualNetworks"
301        ],
302        "operationId": "VirtualNetworks_ListAll",
303        "description": "Gets all virtual networks in a subscription.",
304        "parameters": [
305          {
306            "$ref": "./network.json#/parameters/ApiVersionParameter"
307          },
308          {
309            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
310          }
311        ],
312        "responses": {
313          "200": {
314            "description": "Request successful. The operation returns a list of VirtualNetwork resources.",
315            "schema": {
316              "$ref": "#/definitions/VirtualNetworkListResult"
317            }
318          },
319          "default": {
320            "description": "Error response describing why the operation failed.",
321            "schema": {
322              "$ref": "./network.json#/definitions/CloudError"
323            }
324          }
325        },
326        "x-ms-examples": {
327          "List all virtual networks": {
328            "$ref": "./examples/VirtualNetworkListAll.json"
329          }
330        },
331        "x-ms-pageable": {
332          "nextLinkName": "nextLink"
333        }
334      }
335    },
336    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": {
337      "get": {
338        "tags": [
339          "VirtualNetworks"
340        ],
341        "operationId": "VirtualNetworks_List",
342        "description": "Gets all virtual networks in a resource group.",
343        "parameters": [
344          {
345            "name": "resourceGroupName",
346            "in": "path",
347            "required": true,
348            "type": "string",
349            "description": "The name of the resource group."
350          },
351          {
352            "$ref": "./network.json#/parameters/ApiVersionParameter"
353          },
354          {
355            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
356          }
357        ],
358        "responses": {
359          "200": {
360            "description": "Request successful. The operation returns a list of VirtualNetwork resources.",
361            "schema": {
362              "$ref": "#/definitions/VirtualNetworkListResult"
363            }
364          },
365          "default": {
366            "description": "Error response describing why the operation failed.",
367            "schema": {
368              "$ref": "./network.json#/definitions/CloudError"
369            }
370          }
371        },
372        "x-ms-examples": {
373          "List virtual networks in resource group": {
374            "$ref": "./examples/VirtualNetworkList.json"
375          }
376        },
377        "x-ms-pageable": {
378          "nextLinkName": "nextLink"
379        }
380      }
381    },
382    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": {
383      "delete": {
384        "tags": [
385          "Subnets"
386        ],
387        "operationId": "Subnets_Delete",
388        "description": "Deletes the specified subnet.",
389        "parameters": [
390          {
391            "name": "resourceGroupName",
392            "in": "path",
393            "required": true,
394            "type": "string",
395            "description": "The name of the resource group."
396          },
397          {
398            "name": "virtualNetworkName",
399            "in": "path",
400            "required": true,
401            "type": "string",
402            "description": "The name of the virtual network."
403          },
404          {
405            "name": "subnetName",
406            "in": "path",
407            "required": true,
408            "type": "string",
409            "description": "The name of the subnet."
410          },
411          {
412            "$ref": "./network.json#/parameters/ApiVersionParameter"
413          },
414          {
415            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
416          }
417        ],
418        "responses": {
419          "200": {
420            "description": "Delete successful."
421          },
422          "204": {
423            "description": "Request successful. Resource does not exist."
424          },
425          "202": {
426            "description": "Accepted and the operation will complete asynchronously."
427          },
428          "default": {
429            "description": "Error response describing why the operation failed.",
430            "schema": {
431              "$ref": "./network.json#/definitions/CloudError"
432            }
433          }
434        },
435        "x-ms-examples": {
436          "Delete subnet": {
437            "$ref": "./examples/SubnetDelete.json"
438          }
439        },
440        "x-ms-long-running-operation": true,
441        "x-ms-long-running-operation-options": {
442          "final-state-via": "location"
443        }
444      },
445      "get": {
446        "tags": [
447          "Subnets"
448        ],
449        "operationId": "Subnets_Get",
450        "description": "Gets the specified subnet by virtual network and resource group.",
451        "parameters": [
452          {
453            "name": "resourceGroupName",
454            "in": "path",
455            "required": true,
456            "type": "string",
457            "description": "The name of the resource group."
458          },
459          {
460            "name": "virtualNetworkName",
461            "in": "path",
462            "required": true,
463            "type": "string",
464            "description": "The name of the virtual network."
465          },
466          {
467            "name": "subnetName",
468            "in": "path",
469            "required": true,
470            "type": "string",
471            "description": "The name of the subnet."
472          },
473          {
474            "$ref": "./network.json#/parameters/ApiVersionParameter"
475          },
476          {
477            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
478          },
479          {
480            "name": "$expand",
481            "in": "query",
482            "required": false,
483            "type": "string",
484            "description": "Expands referenced resources."
485          }
486        ],
487        "responses": {
488          "200": {
489            "description": "Request successful. The operation returns the resulting Subnet resource.",
490            "schema": {
491              "$ref": "#/definitions/Subnet"
492            }
493          },
494          "default": {
495            "description": "Error response describing why the operation failed.",
496            "schema": {
497              "$ref": "./network.json#/definitions/CloudError"
498            }
499          }
500        },
501        "x-ms-examples": {
502          "Get subnet": {
503            "$ref": "./examples/SubnetGet.json"
504          },
505          "Get subnet with a delegation": {
506            "$ref": "./examples/SubnetGetWithDelegation.json"
507          }
508        }
509      },
510      "put": {
511        "tags": [
512          "Subnets"
513        ],
514        "operationId": "Subnets_CreateOrUpdate",
515        "description": "Creates or updates a subnet in the specified virtual network.",
516        "parameters": [
517          {
518            "name": "resourceGroupName",
519            "in": "path",
520            "required": true,
521            "type": "string",
522            "description": "The name of the resource group."
523          },
524          {
525            "name": "virtualNetworkName",
526            "in": "path",
527            "required": true,
528            "type": "string",
529            "description": "The name of the virtual network."
530          },
531          {
532            "name": "subnetName",
533            "in": "path",
534            "required": true,
535            "type": "string",
536            "description": "The name of the subnet."
537          },
538          {
539            "name": "subnetParameters",
540            "in": "body",
541            "required": true,
542            "schema": {
543              "$ref": "#/definitions/Subnet"
544            },
545            "description": "Parameters supplied to the create or update subnet operation."
546          },
547          {
548            "$ref": "./network.json#/parameters/ApiVersionParameter"
549          },
550          {
551            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
552          }
553        ],
554        "responses": {
555          "200": {
556            "description": "Update successful. The operation returns the resulting Subnet resource.",
557            "schema": {
558              "$ref": "#/definitions/Subnet"
559            }
560          },
561          "201": {
562            "description": "Create successful. The operation returns the resulting Subnet resource.",
563            "schema": {
564              "$ref": "#/definitions/Subnet"
565            }
566          },
567          "default": {
568            "description": "Error response describing why the operation failed.",
569            "schema": {
570              "$ref": "./network.json#/definitions/CloudError"
571            }
572          }
573        },
574        "x-ms-long-running-operation": true,
575        "x-ms-long-running-operation-options": {
576          "final-state-via": "azure-async-operation"
577        },
578        "x-ms-examples": {
579          "Create subnet": {
580            "$ref": "./examples/SubnetCreate.json"
581          },
582          "Create subnet with service endpoints": {
583            "$ref": "./examples/SubnetCreateServiceEndpoint.json"
584          },
585          "Create subnet with a delegation": {
586            "$ref": "./examples/SubnetCreateWithDelegation.json"
587          }
588        }
589      }
590    },
591    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies": {
592      "post": {
593        "operationId": "Subnets_PrepareNetworkPolicies",
594        "description": "Prepares a subnet by applying network intent policies.",
595        "parameters": [
596          {
597            "name": "resourceGroupName",
598            "in": "path",
599            "required": true,
600            "type": "string",
601            "description": "The name of the resource group."
602          },
603          {
604            "name": "virtualNetworkName",
605            "in": "path",
606            "required": true,
607            "type": "string",
608            "description": "The name of the virtual network."
609          },
610          {
611            "name": "subnetName",
612            "in": "path",
613            "required": true,
614            "type": "string",
615            "description": "The name of the subnet."
616          },
617          {
618            "name": "prepareNetworkPoliciesRequestParameters",
619            "in": "body",
620            "required": true,
621            "schema": {
622              "$ref": "#/definitions/PrepareNetworkPoliciesRequest"
623            },
624            "description": "Parameters supplied to prepare subnet by applying network intent policies."
625          },
626          {
627            "$ref": "./network.json#/parameters/ApiVersionParameter"
628          },
629          {
630            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
631          }
632        ],
633        "responses": {
634          "200": {
635            "description": "Preparing subnet by applying network intent policies is successful."
636          },
637          "202": {
638            "description": "Accepted and the operation will complete asynchronously."
639          },
640          "default": {
641            "description": "Error response describing why the operation failed.",
642            "schema": {
643              "$ref": "./network.json#/definitions/CloudError"
644            }
645          }
646        },
647        "x-ms-long-running-operation": true,
648        "x-ms-long-running-operation-options": {
649          "final-state-via": "location"
650        },
651        "x-ms-examples": {
652          "Prepare Network Policies": {
653            "$ref": "./examples/SubnetPrepareNetworkPolicies.json"
654          }
655        }
656      }
657    },
658    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies": {
659      "post": {
660        "operationId": "Subnets_UnprepareNetworkPolicies",
661        "description": "Unprepares a subnet by removing network intent policies.",
662        "parameters": [
663          {
664            "name": "resourceGroupName",
665            "in": "path",
666            "required": true,
667            "type": "string",
668            "description": "The name of the resource group."
669          },
670          {
671            "name": "virtualNetworkName",
672            "in": "path",
673            "required": true,
674            "type": "string",
675            "description": "The name of the virtual network."
676          },
677          {
678            "name": "subnetName",
679            "in": "path",
680            "required": true,
681            "type": "string",
682            "description": "The name of the subnet."
683          },
684          {
685            "name": "unprepareNetworkPoliciesRequestParameters",
686            "in": "body",
687            "required": true,
688            "schema": {
689              "$ref": "#/definitions/UnprepareNetworkPoliciesRequest"
690            },
691            "description": "Parameters supplied to unprepare subnet to remove network intent policies."
692          },
693          {
694            "$ref": "./network.json#/parameters/ApiVersionParameter"
695          },
696          {
697            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
698          }
699        ],
700        "responses": {
701          "200": {
702            "description": "Unpreparing subnet by removing network intent policies is successful."
703          },
704          "202": {
705            "description": "Accepted and the operation will complete asynchronously."
706          },
707          "default": {
708            "description": "Error response describing why the operation failed.",
709            "schema": {
710              "$ref": "./network.json#/definitions/CloudError"
711            }
712          }
713        },
714        "x-ms-long-running-operation": true,
715        "x-ms-long-running-operation-options": {
716          "final-state-via": "location"
717        },
718        "x-ms-examples": {
719          "Unprepare Network Policies": {
720            "$ref": "./examples/SubnetUnprepareNetworkPolicies.json"
721          }
722        }
723      }
724    },
725    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks": {
726      "get": {
727        "operationId": "ResourceNavigationLinks_List",
728        "description": "Gets a list of resource navigation links for a subnet.",
729        "parameters": [
730          {
731            "name": "resourceGroupName",
732            "in": "path",
733            "required": true,
734            "type": "string",
735            "description": "The name of the resource group."
736          },
737          {
738            "name": "virtualNetworkName",
739            "in": "path",
740            "required": true,
741            "type": "string",
742            "description": "The name of the virtual network."
743          },
744          {
745            "name": "subnetName",
746            "in": "path",
747            "required": true,
748            "type": "string",
749            "description": "The name of the subnet."
750          },
751          {
752            "$ref": "./network.json#/parameters/ApiVersionParameter"
753          },
754          {
755            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
756          }
757        ],
758        "responses": {
759          "200": {
760            "description": "Request successful. The operation returns a list of resource navigation links for the subnet.",
761            "schema": {
762              "$ref": "#/definitions/ResourceNavigationLinksListResult"
763            }
764          },
765          "default": {
766            "description": "Error response describing why the operation failed.",
767            "schema": {
768              "$ref": "./network.json#/definitions/CloudError"
769            }
770          }
771        },
772        "x-ms-examples": {
773          "Get Resource Navigation Links": {
774            "$ref": "./examples/VirtualNetworkGetResourceNavigationLinks.json"
775          }
776        }
777      }
778    },
779    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks": {
780      "get": {
781        "operationId": "ServiceAssociationLinks_List",
782        "description": "Gets a list of service association links for a subnet.",
783        "parameters": [
784          {
785            "name": "resourceGroupName",
786            "in": "path",
787            "required": true,
788            "type": "string",
789            "description": "The name of the resource group."
790          },
791          {
792            "name": "virtualNetworkName",
793            "in": "path",
794            "required": true,
795            "type": "string",
796            "description": "The name of the virtual network."
797          },
798          {
799            "name": "subnetName",
800            "in": "path",
801            "required": true,
802            "type": "string",
803            "description": "The name of the subnet."
804          },
805          {
806            "$ref": "./network.json#/parameters/ApiVersionParameter"
807          },
808          {
809            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
810          }
811        ],
812        "responses": {
813          "200": {
814            "description": "Request successful. The operation returns a list of service association links for the subnet.",
815            "schema": {
816              "$ref": "#/definitions/ServiceAssociationLinksListResult"
817            }
818          },
819          "default": {
820            "description": "Error response describing why the operation failed.",
821            "schema": {
822              "$ref": "./network.json#/definitions/CloudError"
823            }
824          }
825        },
826        "x-ms-examples": {
827          "Get Service Association Links": {
828            "$ref": "./examples/VirtualNetworkGetServiceAssociationLinks.json"
829          }
830        }
831      }
832    },
833    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": {
834      "get": {
835        "tags": [
836          "Subnets"
837        ],
838        "operationId": "Subnets_List",
839        "description": "Gets all subnets in a virtual network.",
840        "parameters": [
841          {
842            "name": "resourceGroupName",
843            "in": "path",
844            "required": true,
845            "type": "string",
846            "description": "The name of the resource group."
847          },
848          {
849            "name": "virtualNetworkName",
850            "in": "path",
851            "required": true,
852            "type": "string",
853            "description": "The name of the virtual network."
854          },
855          {
856            "$ref": "./network.json#/parameters/ApiVersionParameter"
857          },
858          {
859            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
860          }
861        ],
862        "responses": {
863          "200": {
864            "description": "Request successful. The operation returns a list of Subnet resources.",
865            "schema": {
866              "$ref": "#/definitions/SubnetListResult"
867            }
868          },
869          "default": {
870            "description": "Error response describing why the operation failed.",
871            "schema": {
872              "$ref": "./network.json#/definitions/CloudError"
873            }
874          }
875        },
876        "x-ms-pageable": {
877          "nextLinkName": "nextLink"
878        },
879        "x-ms-examples": {
880          "List subnets": {
881            "$ref": "./examples/SubnetList.json"
882          }
883        }
884      }
885    },
886    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": {
887      "delete": {
888        "tags": [
889          "VirtualNetworkPeerings"
890        ],
891        "operationId": "VirtualNetworkPeerings_Delete",
892        "description": "Deletes the specified virtual network peering.",
893        "parameters": [
894          {
895            "name": "resourceGroupName",
896            "in": "path",
897            "required": true,
898            "type": "string",
899            "description": "The name of the resource group."
900          },
901          {
902            "name": "virtualNetworkName",
903            "in": "path",
904            "required": true,
905            "type": "string",
906            "description": "The name of the virtual network."
907          },
908          {
909            "name": "virtualNetworkPeeringName",
910            "in": "path",
911            "required": true,
912            "type": "string",
913            "description": "The name of the virtual network peering."
914          },
915          {
916            "$ref": "./network.json#/parameters/ApiVersionParameter"
917          },
918          {
919            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
920          }
921        ],
922        "responses": {
923          "200": {
924            "description": "Delete successful."
925          },
926          "204": {
927            "description": "Delete successful."
928          },
929          "202": {
930            "description": "Accepted and the operation will complete asynchronously."
931          },
932          "default": {
933            "description": "Error response describing why the operation failed.",
934            "schema": {
935              "$ref": "./network.json#/definitions/CloudError"
936            }
937          }
938        },
939        "x-ms-examples": {
940          "Delete peering": {
941            "$ref": "./examples/VirtualNetworkPeeringDelete.json"
942          }
943        },
944        "x-ms-long-running-operation": true,
945        "x-ms-long-running-operation-options": {
946          "final-state-via": "location"
947        }
948      },
949      "get": {
950        "tags": [
951          "VirtualNetworkPeerings"
952        ],
953        "operationId": "VirtualNetworkPeerings_Get",
954        "description": "Gets the specified virtual network peering.",
955        "parameters": [
956          {
957            "name": "resourceGroupName",
958            "in": "path",
959            "required": true,
960            "type": "string",
961            "description": "The name of the resource group."
962          },
963          {
964            "name": "virtualNetworkName",
965            "in": "path",
966            "required": true,
967            "type": "string",
968            "description": "The name of the virtual network."
969          },
970          {
971            "name": "virtualNetworkPeeringName",
972            "in": "path",
973            "required": true,
974            "type": "string",
975            "description": "The name of the virtual network peering."
976          },
977          {
978            "$ref": "./network.json#/parameters/ApiVersionParameter"
979          },
980          {
981            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
982          }
983        ],
984        "responses": {
985          "200": {
986            "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.",
987            "schema": {
988              "$ref": "#/definitions/VirtualNetworkPeering"
989            }
990          },
991          "default": {
992            "description": "Error response describing why the operation failed.",
993            "schema": {
994              "$ref": "./network.json#/definitions/CloudError"
995            }
996          }
997        },
998        "x-ms-examples": {
999          "Get peering": {
1000            "$ref": "./examples/VirtualNetworkPeeringGet.json"
1001          }
1002        }
1003      },
1004      "put": {
1005        "tags": [
1006          "VirtualNetworkPeerings"
1007        ],
1008        "operationId": "VirtualNetworkPeerings_CreateOrUpdate",
1009        "description": "Creates or updates a peering in the specified virtual network.",
1010        "parameters": [
1011          {
1012            "name": "resourceGroupName",
1013            "in": "path",
1014            "required": true,
1015            "type": "string",
1016            "description": "The name of the resource group."
1017          },
1018          {
1019            "name": "virtualNetworkName",
1020            "in": "path",
1021            "required": true,
1022            "type": "string",
1023            "description": "The name of the virtual network."
1024          },
1025          {
1026            "name": "virtualNetworkPeeringName",
1027            "in": "path",
1028            "required": true,
1029            "type": "string",
1030            "description": "The name of the peering."
1031          },
1032          {
1033            "name": "VirtualNetworkPeeringParameters",
1034            "in": "body",
1035            "required": true,
1036            "schema": {
1037              "$ref": "#/definitions/VirtualNetworkPeering"
1038            },
1039            "description": "Parameters supplied to the create or update virtual network peering operation."
1040          },
1041          {
1042            "$ref": "./network.json#/parameters/ApiVersionParameter"
1043          },
1044          {
1045            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1046          }
1047        ],
1048        "responses": {
1049          "200": {
1050            "description": "Update successful. The operation returns the resulting VirtualNetworkPeering resource.",
1051            "schema": {
1052              "$ref": "#/definitions/VirtualNetworkPeering"
1053            }
1054          },
1055          "201": {
1056            "description": "Create successful. The operation returns the resulting VirtualNetworkPeering resource.",
1057            "schema": {
1058              "$ref": "#/definitions/VirtualNetworkPeering"
1059            }
1060          },
1061          "default": {
1062            "description": "Error response describing why the operation failed.",
1063            "schema": {
1064              "$ref": "./network.json#/definitions/CloudError"
1065            }
1066          }
1067        },
1068        "x-ms-examples": {
1069          "Create peering": {
1070            "$ref": "./examples/VirtualNetworkPeeringCreate.json"
1071          }
1072        },
1073        "x-ms-long-running-operation": true,
1074        "x-ms-long-running-operation-options": {
1075          "final-state-via": "azure-async-operation"
1076        }
1077      }
1078    },
1079    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": {
1080      "get": {
1081        "tags": [
1082          "VirtualNetworkPeerings"
1083        ],
1084        "operationId": "VirtualNetworkPeerings_List",
1085        "description": "Gets all virtual network peerings in a virtual network.",
1086        "parameters": [
1087          {
1088            "name": "resourceGroupName",
1089            "in": "path",
1090            "required": true,
1091            "type": "string",
1092            "description": "The name of the resource group."
1093          },
1094          {
1095            "name": "virtualNetworkName",
1096            "in": "path",
1097            "required": true,
1098            "type": "string",
1099            "description": "The name of the virtual network."
1100          },
1101          {
1102            "$ref": "./network.json#/parameters/ApiVersionParameter"
1103          },
1104          {
1105            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1106          }
1107        ],
1108        "responses": {
1109          "200": {
1110            "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources.",
1111            "schema": {
1112              "$ref": "#/definitions/VirtualNetworkPeeringListResult"
1113            }
1114          },
1115          "default": {
1116            "description": "Error response describing why the operation failed.",
1117            "schema": {
1118              "$ref": "./network.json#/definitions/CloudError"
1119            }
1120          }
1121        },
1122        "x-ms-pageable": {
1123          "nextLinkName": "nextLink"
1124        },
1125        "x-ms-examples": {
1126          "List peerings": {
1127            "$ref": "./examples/VirtualNetworkPeeringList.json"
1128          }
1129        }
1130      }
1131    },
1132    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability": {
1133      "get": {
1134        "operationId": "VirtualNetworks_CheckIPAddressAvailability",
1135        "description": "Checks whether a private IP address is available for use.",
1136        "parameters": [
1137          {
1138            "name": "resourceGroupName",
1139            "in": "path",
1140            "required": true,
1141            "type": "string",
1142            "description": "The name of the resource group."
1143          },
1144          {
1145            "name": "virtualNetworkName",
1146            "in": "path",
1147            "required": true,
1148            "type": "string",
1149            "description": "The name of the virtual network."
1150          },
1151          {
1152            "name": "ipAddress",
1153            "in": "query",
1154            "required": true,
1155            "type": "string",
1156            "description": "The private IP address to be verified."
1157          },
1158          {
1159            "$ref": "./network.json#/parameters/ApiVersionParameter"
1160          },
1161          {
1162            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1163          }
1164        ],
1165        "responses": {
1166          "200": {
1167            "description": "Private IP address availability and list of other free addresses if the requested one is not available.",
1168            "schema": {
1169              "$ref": "#/definitions/IPAddressAvailabilityResult"
1170            }
1171          },
1172          "default": {
1173            "description": "Error response describing why the operation failed.",
1174            "schema": {
1175              "$ref": "./network.json#/definitions/CloudError"
1176            }
1177          }
1178        },
1179        "x-ms-examples": {
1180          "Check IP address availability": {
1181            "$ref": "./examples/VirtualNetworkCheckIPAddressAvailability.json"
1182          }
1183        }
1184      }
1185    },
1186    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages": {
1187      "get": {
1188        "operationId": "VirtualNetworks_ListUsage",
1189        "description": "Lists usage stats.",
1190        "parameters": [
1191          {
1192            "name": "resourceGroupName",
1193            "in": "path",
1194            "required": true,
1195            "type": "string",
1196            "description": "The name of the resource group."
1197          },
1198          {
1199            "name": "virtualNetworkName",
1200            "in": "path",
1201            "required": true,
1202            "type": "string",
1203            "description": "The name of the virtual network."
1204          },
1205          {
1206            "$ref": "./network.json#/parameters/ApiVersionParameter"
1207          },
1208          {
1209            "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1210          }
1211        ],
1212        "responses": {
1213          "200": {
1214            "description": "Usage stats for vnet.",
1215            "schema": {
1216              "$ref": "#/definitions/VirtualNetworkListUsageResult"
1217            }
1218          },
1219          "default": {
1220            "description": "Error response describing why the operation failed.",
1221            "schema": {
1222              "$ref": "./network.json#/definitions/CloudError"
1223            }
1224          }
1225        },
1226        "x-ms-examples": {
1227          "VnetGetUsage": {
1228            "$ref": "./examples/VirtualNetworkListUsage.json"
1229          }
1230        },
1231        "x-ms-pageable": {
1232          "nextLinkName": "nextLink"
1233        }
1234      }
1235    }
1236  },
1237  "definitions": {
1238    "ServiceAssociationLinkPropertiesFormat": {
1239      "properties": {
1240        "linkedResourceType": {
1241          "type": "string",
1242          "description": "Resource type of the linked resource."
1243        },
1244        "link": {
1245          "type": "string",
1246          "description": "Link to the external resource."
1247        },
1248        "provisioningState": {
1249          "readOnly": true,
1250          "$ref": "./network.json#/definitions/ProvisioningState",
1251          "description": "The provisioning state of the service association link resource."
1252        },
1253        "allowDelete": {
1254          "type": "boolean",
1255          "description": "If true, the resource can be deleted."
1256        },
1257        "locations": {
1258          "type": "array",
1259          "items": {
1260            "type": "string"
1261          },
1262          "description": "A list of locations."
1263        }
1264      },
1265      "description": "Properties of ServiceAssociationLink."
1266    },
1267    "ServiceAssociationLink": {
1268      "properties": {
1269        "properties": {
1270          "x-ms-client-flatten": true,
1271          "$ref": "#/definitions/ServiceAssociationLinkPropertiesFormat",
1272          "description": "Resource navigation link properties format."
1273        },
1274        "name": {
1275          "type": "string",
1276          "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
1277        },
1278        "etag": {
1279          "readOnly": true,
1280          "type": "string",
1281          "description": "A unique read-only string that changes whenever the resource is updated."
1282        },
1283        "type": {
1284          "readOnly": true,
1285          "type": "string",
1286          "description": "Resource type."
1287        }
1288      },
1289      "allOf": [
1290        {
1291          "$ref": "./network.json#/definitions/SubResource"
1292        }
1293      ],
1294      "description": "ServiceAssociationLink resource."
1295    },
1296    "ResourceNavigationLinkFormat": {
1297      "properties": {
1298        "linkedResourceType": {
1299          "type": "string",
1300          "description": "Resource type of the linked resource."
1301        },
1302        "link": {
1303          "type": "string",
1304          "description": "Link to the external resource."
1305        },
1306        "provisioningState": {
1307          "readOnly": true,
1308          "$ref": "./network.json#/definitions/ProvisioningState",
1309          "description": "The provisioning state of the resource navigation link resource."
1310        }
1311      },
1312      "description": "Properties of ResourceNavigationLink."
1313    },
1314    "ResourceNavigationLink": {
1315      "properties": {
1316        "properties": {
1317          "x-ms-client-flatten": true,
1318          "$ref": "#/definitions/ResourceNavigationLinkFormat",
1319          "description": "Resource navigation link properties format."
1320        },
1321        "name": {
1322          "type": "string",
1323          "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
1324        },
1325        "id": {
1326          "type": "string",
1327          "readOnly": true,
1328          "description": "Resource navigation link identifier."
1329        },
1330        "etag": {
1331          "readOnly": true,
1332          "type": "string",
1333          "description": "A unique read-only string that changes whenever the resource is updated."
1334        },
1335        "type": {
1336          "readOnly": true,
1337          "type": "string",
1338          "description": "Resource type."
1339        }
1340      },
1341      "allOf": [
1342        {
1343          "$ref": "./network.json#/definitions/SubResource"
1344        }
1345      ],
1346      "description": "ResourceNavigationLink resource."
1347    },
1348    "ServiceDelegationPropertiesFormat": {
1349      "properties": {
1350        "serviceName": {
1351          "type": "string",
1352          "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers)."
1353        },
1354        "actions": {
1355          "readOnly": true,
1356          "type": "array",
1357          "items": {
1358            "type": "string"
1359          },
1360          "description": "The actions permitted to the service upon delegation."
1361        },
1362        "provisioningState": {
1363          "readOnly": true,
1364          "$ref": "./network.json#/definitions/ProvisioningState",
1365          "description": "The provisioning state of the service delegation resource."
1366        }
1367      },
1368      "description": "Properties of a service delegation."
1369    },
1370    "Delegation": {
1371      "properties": {
1372        "properties": {
1373          "x-ms-client-flatten": true,
1374          "$ref": "#/definitions/ServiceDelegationPropertiesFormat",
1375          "description": "Properties of the subnet."
1376        },
1377        "name": {
1378          "type": "string",
1379          "description": "The name of the resource that is unique within a subnet. This name can be used to access the resource."
1380        },
1381        "etag": {
1382          "readOnly": true,
1383          "type": "string",
1384          "description": "A unique read-only string that changes whenever the resource is updated."
1385        }
1386      },
1387      "allOf": [
1388        {
1389          "$ref": "./network.json#/definitions/SubResource"
1390        }
1391      ],
1392      "description": "Details the service to which the subnet is delegated."
1393    },
1394    "SubnetPropertiesFormat": {
1395      "properties": {
1396        "addressPrefix": {
1397          "type": "string",
1398          "description": "The address prefix for the subnet."
1399        },
1400        "addressPrefixes": {
1401          "type": "array",
1402          "items": {
1403            "type": "string"
1404          },
1405          "description": "List of address prefixes for the subnet."
1406        },
1407        "networkSecurityGroup": {
1408          "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
1409          "description": "The reference to the NetworkSecurityGroup resource."
1410        },
1411        "routeTable": {
1412          "$ref": "./routeTable.json#/definitions/RouteTable",
1413          "description": "The reference to the RouteTable resource."
1414        },
1415        "natGateway": {
1416          "$ref": "./network.json#/definitions/SubResource",
1417          "description": "Nat gateway associated with this subnet."
1418        },
1419        "serviceEndpoints": {
1420          "type": "array",
1421          "items": {
1422            "$ref": "#/definitions/ServiceEndpointPropertiesFormat"
1423          },
1424          "description": "An array of service endpoints."
1425        },
1426        "serviceEndpointPolicies": {
1427          "type": "array",
1428          "items": {
1429            "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy"
1430          },
1431          "description": "An array of service endpoint policies."
1432        },
1433        "privateEndpoints": {
1434          "readOnly": true,
1435          "type": "array",
1436          "items": {
1437            "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint"
1438          },
1439          "description": "An array of references to private endpoints."
1440        },
1441        "ipConfigurations": {
1442          "readOnly": true,
1443          "type": "array",
1444          "items": {
1445            "$ref": "./networkInterface.json#/definitions/IPConfiguration"
1446          },
1447          "description": "An array of references to the network interface IP configurations using subnet."
1448        },
1449        "ipConfigurationProfiles": {
1450          "readOnly": true,
1451          "type": "array",
1452          "items": {
1453            "$ref": "./networkProfile.json#/definitions/IPConfigurationProfile"
1454          },
1455          "description": "Array of IP configuration profiles which reference this subnet."
1456        },
1457        "ipAllocations": {
1458          "type": "array",
1459          "items": {
1460            "$ref": "./network.json#/definitions/SubResource"
1461          },
1462          "description": "Array of IpAllocation which reference this subnet."
1463        },
1464        "resourceNavigationLinks": {
1465          "readOnly": true,
1466          "type": "array",
1467          "items": {
1468            "$ref": "#/definitions/ResourceNavigationLink"
1469          },
1470          "description": "An array of references to the external resources using subnet."
1471        },
1472        "serviceAssociationLinks": {
1473          "readOnly": true,
1474          "type": "array",
1475          "items": {
1476            "$ref": "#/definitions/ServiceAssociationLink"
1477          },
1478          "description": "An array of references to services injecting into this subnet."
1479        },
1480        "delegations": {
1481          "type": "array",
1482          "items": {
1483            "$ref": "#/definitions/Delegation"
1484          },
1485          "description": "An array of references to the delegations on the subnet."
1486        },
1487        "purpose": {
1488          "type": "string",
1489          "readOnly": true,
1490          "description": "A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties."
1491        },
1492        "provisioningState": {
1493          "readOnly": true,
1494          "$ref": "./network.json#/definitions/ProvisioningState",
1495          "description": "The provisioning state of the subnet resource."
1496        },
1497        "privateEndpointNetworkPolicies": {
1498          "type": "string",
1499          "description": "Enable or Disable apply network policies on private end point in the subnet."
1500        },
1501        "privateLinkServiceNetworkPolicies": {
1502          "type": "string",
1503          "description": "Enable or Disable apply network policies on private link service in the subnet."
1504        }
1505      },
1506      "description": "Properties of the subnet."
1507    },
1508    "ServiceEndpointPropertiesFormat": {
1509      "properties": {
1510        "service": {
1511          "type": "string",
1512          "description": "The type of the endpoint service."
1513        },
1514        "locations": {
1515          "type": "array",
1516          "items": {
1517            "type": "string"
1518          },
1519          "description": "A list of locations."
1520        },
1521        "provisioningState": {
1522          "readOnly": true,
1523          "$ref": "./network.json#/definitions/ProvisioningState",
1524          "description": "The provisioning state of the service endpoint resource."
1525        }
1526      },
1527      "description": "The service endpoint properties."
1528    },
1529    "VirtualNetworkPeeringPropertiesFormat": {
1530      "properties": {
1531        "allowVirtualNetworkAccess": {
1532          "type": "boolean",
1533          "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space."
1534        },
1535        "allowForwardedTraffic": {
1536          "type": "boolean",
1537          "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network."
1538        },
1539        "allowGatewayTransit": {
1540          "type": "boolean",
1541          "description": "If gateway links can be used in remote virtual networking to link to this virtual network."
1542        },
1543        "useRemoteGateways": {
1544          "type": "boolean",
1545          "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway."
1546        },
1547        "remoteVirtualNetwork": {
1548          "$ref": "./network.json#/definitions/SubResource",
1549          "description": "The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)."
1550        },
1551        "remoteAddressSpace": {
1552          "$ref": "#/definitions/AddressSpace",
1553          "description": "The reference to the remote virtual network address space."
1554        },
1555        "peeringState": {
1556          "type": "string",
1557          "description": "The status of the virtual network peering.",
1558          "enum": [
1559            "Initiated",
1560            "Connected",
1561            "Disconnected"
1562          ],
1563          "x-ms-enum": {
1564            "name": "VirtualNetworkPeeringState",
1565            "modelAsString": true
1566          }
1567        },
1568        "provisioningState": {
1569          "readOnly": true,
1570          "$ref": "./network.json#/definitions/ProvisioningState",
1571          "description": "The provisioning state of the virtual network peering resource."
1572        }
1573      },
1574      "description": "Properties of the virtual network peering."
1575    },
1576    "Subnet": {
1577      "properties": {
1578        "properties": {
1579          "x-ms-client-flatten": true,
1580          "$ref": "#/definitions/SubnetPropertiesFormat",
1581          "description": "Properties of the subnet."
1582        },
1583        "name": {
1584          "type": "string",
1585          "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
1586        },
1587        "etag": {
1588          "readOnly": true,
1589          "type": "string",
1590          "description": "A unique read-only string that changes whenever the resource is updated."
1591        }
1592      },
1593      "allOf": [
1594        {
1595          "$ref": "./network.json#/definitions/SubResource"
1596        }
1597      ],
1598      "description": "Subnet in a virtual network resource."
1599    },
1600    "VirtualNetworkPeering": {
1601      "properties": {
1602        "properties": {
1603          "x-ms-client-flatten": true,
1604          "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat",
1605          "description": "Properties of the virtual network peering."
1606        },
1607        "name": {
1608          "type": "string",
1609          "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
1610        },
1611        "etag": {
1612          "readOnly": true,
1613          "type": "string",
1614          "description": "A unique read-only string that changes whenever the resource is updated."
1615        }
1616      },
1617      "allOf": [
1618        {
1619          "$ref": "./network.json#/definitions/SubResource"
1620        }
1621      ],
1622      "description": "Peerings in a virtual network resource."
1623    },
1624    "SubnetListResult": {
1625      "properties": {
1626        "value": {
1627          "type": "array",
1628          "items": {
1629            "$ref": "#/definitions/Subnet"
1630          },
1631          "description": "The subnets in a virtual network."
1632        },
1633        "nextLink": {
1634          "type": "string",
1635          "description": "The URL to get the next set of results."
1636        }
1637      },
1638      "description": "Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network."
1639    },
1640    "ResourceNavigationLinksListResult": {
1641      "properties": {
1642        "value": {
1643          "type": "array",
1644          "items": {
1645            "$ref": "#/definitions/ResourceNavigationLink"
1646          },
1647          "description": "The resource navigation links in a subnet."
1648        },
1649        "nextLink": {
1650          "type": "string",
1651          "readOnly": true,
1652          "description": "The URL to get the next set of results."
1653        }
1654      },
1655      "description": "Response for ResourceNavigationLinks_List operation."
1656    },
1657    "ServiceAssociationLinksListResult": {
1658      "properties": {
1659        "value": {
1660          "type": "array",
1661          "items": {
1662            "$ref": "#/definitions/ServiceAssociationLink"
1663          },
1664          "description": "The service association links in a subnet."
1665        },
1666        "nextLink": {
1667          "type": "string",
1668          "readOnly": true,
1669          "description": "The URL to get the next set of results."
1670        }
1671      },
1672      "description": "Response for ServiceAssociationLinks_List operation."
1673    },
1674    "VirtualNetworkPeeringListResult": {
1675      "properties": {
1676        "value": {
1677          "type": "array",
1678          "items": {
1679            "$ref": "#/definitions/VirtualNetworkPeering"
1680          },
1681          "description": "The peerings in a virtual network."
1682        },
1683        "nextLink": {
1684          "type": "string",
1685          "description": "The URL to get the next set of results."
1686        }
1687      },
1688      "description": "Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network."
1689    },
1690    "VirtualNetworkPropertiesFormat": {
1691      "properties": {
1692        "addressSpace": {
1693          "$ref": "#/definitions/AddressSpace",
1694          "description": "The AddressSpace that contains an array of IP address ranges that can be used by subnets."
1695        },
1696        "dhcpOptions": {
1697          "$ref": "#/definitions/DhcpOptions",
1698          "description": "The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network."
1699        },
1700        "subnets": {
1701          "type": "array",
1702          "items": {
1703            "$ref": "#/definitions/Subnet"
1704          },
1705          "description": "A list of subnets in a Virtual Network."
1706        },
1707        "virtualNetworkPeerings": {
1708          "type": "array",
1709          "items": {
1710            "$ref": "#/definitions/VirtualNetworkPeering"
1711          },
1712          "description": "A list of peerings in a Virtual Network."
1713        },
1714        "resourceGuid": {
1715          "readOnly": true,
1716          "type": "string",
1717          "description": "The resourceGuid property of the Virtual Network resource."
1718        },
1719        "provisioningState": {
1720          "readOnly": true,
1721          "$ref": "./network.json#/definitions/ProvisioningState",
1722          "description": "The provisioning state of the virtual network resource."
1723        },
1724        "enableDdosProtection": {
1725          "type": "boolean",
1726          "default": false,
1727          "description": "Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource."
1728        },
1729        "enableVmProtection": {
1730          "type": "boolean",
1731          "default": false,
1732          "description": "Indicates if VM protection is enabled for all the subnets in the virtual network."
1733        },
1734        "ddosProtectionPlan": {
1735          "$ref": "./network.json#/definitions/SubResource",
1736          "default": null,
1737          "description": "The DDoS protection plan associated with the virtual network."
1738        },
1739        "bgpCommunities": {
1740          "$ref": "#/definitions/VirtualNetworkBgpCommunities",
1741          "default": null,
1742          "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET."
1743        },
1744        "ipAllocations": {
1745          "type": "array",
1746          "items": {
1747            "$ref": "./network.json#/definitions/SubResource"
1748          },
1749          "description": "Array of IpAllocation which reference this VNET."
1750        }
1751      },
1752      "description": "Properties of the virtual network."
1753    },
1754    "VirtualNetwork": {
1755      "properties": {
1756        "properties": {
1757          "x-ms-client-flatten": true,
1758          "$ref": "#/definitions/VirtualNetworkPropertiesFormat",
1759          "description": "Properties of the virtual network."
1760        },
1761        "etag": {
1762          "readOnly": true,
1763          "type": "string",
1764          "description": "A unique read-only string that changes whenever the resource is updated."
1765        }
1766      },
1767      "allOf": [
1768        {
1769          "$ref": "./network.json#/definitions/Resource"
1770        }
1771      ],
1772      "description": "Virtual Network resource."
1773    },
1774    "VirtualNetworkListResult": {
1775      "properties": {
1776        "value": {
1777          "type": "array",
1778          "items": {
1779            "$ref": "#/definitions/VirtualNetwork"
1780          },
1781          "description": "A list of VirtualNetwork resources in a resource group."
1782        },
1783        "nextLink": {
1784          "type": "string",
1785          "description": "The URL to get the next set of results."
1786        }
1787      },
1788      "description": "Response for the ListVirtualNetworks API service call."
1789    },
1790    "AddressSpace": {
1791      "properties": {
1792        "addressPrefixes": {
1793          "type": "array",
1794          "items": {
1795            "type": "string"
1796          },
1797          "description": "A list of address blocks reserved for this virtual network in CIDR notation."
1798        }
1799      },
1800      "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network."
1801    },
1802    "DhcpOptions": {
1803      "properties": {
1804        "dnsServers": {
1805          "type": "array",
1806          "items": {
1807            "type": "string"
1808          },
1809          "description": "The list of DNS servers IP addresses."
1810        }
1811      },
1812      "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options."
1813    },
1814    "VirtualNetworkBgpCommunities": {
1815      "properties": {
1816        "virtualNetworkCommunity": {
1817          "type": "string",
1818          "description": "The BGP community associated with the virtual network."
1819        },
1820        "regionalCommunity": {
1821          "type": "string",
1822          "readOnly": true,
1823          "description": "The BGP community associated with the region of the virtual network."
1824        }
1825      },
1826      "required": [
1827        "virtualNetworkCommunity"
1828      ],
1829      "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET."
1830    },
1831    "IPAddressAvailabilityResult": {
1832      "properties": {
1833        "available": {
1834          "type": "boolean",
1835          "description": "Private IP address availability."
1836        },
1837        "availableIPAddresses": {
1838          "type": "array",
1839          "items": {
1840            "type": "string"
1841          },
1842          "description": "Contains other available private IP addresses if the asked for address is taken."
1843        }
1844      },
1845      "description": "Response for CheckIPAddressAvailability API service call."
1846    },
1847    "VirtualNetworkListUsageResult": {
1848      "properties": {
1849        "value": {
1850          "type": "array",
1851          "readOnly": true,
1852          "items": {
1853            "$ref": "#/definitions/VirtualNetworkUsage"
1854          },
1855          "description": "VirtualNetwork usage stats."
1856        },
1857        "nextLink": {
1858          "type": "string",
1859          "description": "The URL to get the next set of results."
1860        }
1861      },
1862      "description": "Response for the virtual networks GetUsage API service call."
1863    },
1864    "VirtualNetworkUsage": {
1865      "properties": {
1866        "currentValue": {
1867          "type": "number",
1868          "format": "double",
1869          "readOnly": true,
1870          "description": "Indicates number of IPs used from the Subnet."
1871        },
1872        "id": {
1873          "type": "string",
1874          "readOnly": true,
1875          "description": "Subnet identifier."
1876        },
1877        "limit": {
1878          "type": "number",
1879          "format": "double",
1880          "readOnly": true,
1881          "description": "Indicates the size of the subnet."
1882        },
1883        "name": {
1884          "$ref": "#/definitions/VirtualNetworkUsageName",
1885          "readOnly": true,
1886          "description": "The name containing common and localized value for usage."
1887        },
1888        "unit": {
1889          "type": "string",
1890          "readOnly": true,
1891          "description": "Usage units. Returns 'Count'."
1892        }
1893      },
1894      "description": "Usage details for subnet."
1895    },
1896    "VirtualNetworkUsageName": {
1897      "properties": {
1898        "localizedValue": {
1899          "type": "string",
1900          "readOnly": true,
1901          "description": "Localized subnet size and usage string."
1902        },
1903        "value": {
1904          "type": "string",
1905          "readOnly": true,
1906          "description": "Subnet size and usage string."
1907        }
1908      },
1909      "description": "Usage strings container."
1910    },
1911    "PrepareNetworkPoliciesRequest": {
1912      "properties": {
1913        "serviceName": {
1914          "type": "string",
1915          "description": "The name of the service for which subnet is being prepared for."
1916        },
1917        "networkIntentPolicyConfigurations": {
1918          "type": "array",
1919          "items": {
1920            "$ref": "#/definitions/NetworkIntentPolicyConfiguration"
1921          },
1922          "description": "A list of NetworkIntentPolicyConfiguration."
1923        }
1924      },
1925      "description": "Details of PrepareNetworkPolicies for Subnet."
1926    },
1927    "UnprepareNetworkPoliciesRequest": {
1928      "properties": {
1929        "serviceName": {
1930          "type": "string",
1931          "description": "The name of the service for which subnet is being unprepared for."
1932        }
1933      },
1934      "description": "Details of UnprepareNetworkPolicies for Subnet."
1935    },
1936    "NetworkIntentPolicyConfiguration": {
1937      "properties": {
1938        "networkIntentPolicyName": {
1939          "type": "string",
1940          "description": "The name of the Network Intent Policy for storing in target subscription."
1941        },
1942        "sourceNetworkIntentPolicy": {
1943          "$ref": "#/definitions/NetworkIntentPolicy",
1944          "description": "Source network intent policy."
1945        }
1946      },
1947      "description": "Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest."
1948    },
1949    "NetworkIntentPolicy": {
1950      "properties": {
1951        "etag": {
1952          "readOnly": true,
1953          "type": "string",
1954          "description": "A unique read-only string that changes whenever the resource is updated."
1955        }
1956      },
1957      "allOf": [
1958        {
1959          "$ref": "./network.json#/definitions/Resource"
1960        }
1961      ],
1962      "description": "Network Intent Policy resource."
1963    }
1964  }
1965}
1966