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/loadBalancers/{loadBalancerName}": {
38 "delete": {
39 "tags": [
40 "LoadBalancers"
41 ],
42 "operationId": "LoadBalancers_Delete",
43 "description": "Deletes the specified load balancer.",
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": "loadBalancerName",
54 "in": "path",
55 "required": true,
56 "type": "string",
57 "description": "The name of the load balancer."
58 },
59 {
60 "$ref": "./network.json#/parameters/ApiVersionParameter"
61 },
62 {
63 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
64 }
65 ],
66 "responses": {
67 "204": {
68 "description": "Request successful. Resource does not exist."
69 },
70 "202": {
71 "description": "Accepted and the operation will complete asynchronously."
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-examples": {
84 "Delete load balancer": {
85 "$ref": "./examples/LoadBalancerDelete.json"
86 }
87 },
88 "x-ms-long-running-operation": true,
89 "x-ms-long-running-operation-options": {
90 "final-state-via": "location"
91 }
92 },
93 "get": {
94 "tags": [
95 "LoadBalancers"
96 ],
97 "operationId": "LoadBalancers_Get",
98 "description": "Gets the specified load balancer.",
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": "loadBalancerName",
109 "in": "path",
110 "required": true,
111 "type": "string",
112 "description": "The name of the load balancer."
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 LoadBalancer resource.",
131 "schema": {
132 "$ref": "#/definitions/LoadBalancer"
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 load balancer": {
144 "$ref": "./examples/LoadBalancerGet.json"
145 }
146 }
147 },
148 "put": {
149 "tags": [
150 "LoadBalancers"
151 ],
152 "operationId": "LoadBalancers_CreateOrUpdate",
153 "description": "Creates or updates a load balancer.",
154 "parameters": [
155 {
156 "name": "resourceGroupName",
157 "in": "path",
158 "required": true,
159 "type": "string",
160 "description": "The name of the resource group."
161 },
162 {
163 "name": "loadBalancerName",
164 "in": "path",
165 "required": true,
166 "type": "string",
167 "description": "The name of the load balancer."
168 },
169 {
170 "name": "parameters",
171 "in": "body",
172 "required": true,
173 "schema": {
174 "$ref": "#/definitions/LoadBalancer"
175 },
176 "description": "Parameters supplied to the create or update load balancer operation."
177 },
178 {
179 "$ref": "./network.json#/parameters/ApiVersionParameter"
180 },
181 {
182 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
183 }
184 ],
185 "responses": {
186 "201": {
187 "description": "Create successful. The operation returns the resulting LoadBalancer resource.",
188 "schema": {
189 "$ref": "#/definitions/LoadBalancer"
190 }
191 },
192 "200": {
193 "description": "Update successful. The operation returns the resulting LoadBalancer resource.",
194 "schema": {
195 "$ref": "#/definitions/LoadBalancer"
196 }
197 },
198 "default": {
199 "description": "Error response describing why the operation failed.",
200 "schema": {
201 "$ref": "./network.json#/definitions/CloudError"
202 }
203 }
204 },
205 "x-ms-examples": {
206 "Create load balancer": {
207 "$ref": "./examples/LoadBalancerCreate.json"
208 },
209 "Create load balancer with Standard SKU": {
210 "$ref": "./examples/LoadBalancerCreateStandardSku.json"
211 },
212 "Create load balancer with Frontend IP in Zone 1": {
213 "$ref": "./examples/LoadBalancerCreateWithZones.json"
214 },
215 "Create load balancer with inbound nat pool": {
216 "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json"
217 },
218 "Create load balancer with outbound rules": {
219 "$ref": "./examples/LoadBalancerCreateWithOutboundRules.json"
220 }
221 },
222 "x-ms-long-running-operation": true,
223 "x-ms-long-running-operation-options": {
224 "final-state-via": "azure-async-operation"
225 }
226 },
227 "patch": {
228 "tags": [
229 "LoadBalancers"
230 ],
231 "operationId": "LoadBalancers_UpdateTags",
232 "description": "Updates a load balancer tags.",
233 "parameters": [
234 {
235 "name": "resourceGroupName",
236 "in": "path",
237 "required": true,
238 "type": "string",
239 "description": "The name of the resource group."
240 },
241 {
242 "name": "loadBalancerName",
243 "in": "path",
244 "required": true,
245 "type": "string",
246 "description": "The name of the load balancer."
247 },
248 {
249 "name": "parameters",
250 "in": "body",
251 "required": true,
252 "schema": {
253 "$ref": "./network.json#/definitions/TagsObject"
254 },
255 "description": "Parameters supplied to update load balancer tags."
256 },
257 {
258 "$ref": "./network.json#/parameters/ApiVersionParameter"
259 },
260 {
261 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
262 }
263 ],
264 "responses": {
265 "200": {
266 "description": "Update successful. The operation returns the resulting LoadBalancer resource.",
267 "schema": {
268 "$ref": "#/definitions/LoadBalancer"
269 }
270 },
271 "default": {
272 "description": "Error response describing why the operation failed.",
273 "schema": {
274 "$ref": "./network.json#/definitions/CloudError"
275 }
276 }
277 },
278 "x-ms-examples": {
279 "Update load balancer tags": {
280 "$ref": "./examples/LoadBalancerUpdateTags.json"
281 }
282 }
283 }
284 },
285 "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": {
286 "get": {
287 "tags": [
288 "LoadBalancers"
289 ],
290 "operationId": "LoadBalancers_ListAll",
291 "description": "Gets all the load balancers in a subscription.",
292 "parameters": [
293 {
294 "$ref": "./network.json#/parameters/ApiVersionParameter"
295 },
296 {
297 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
298 }
299 ],
300 "responses": {
301 "200": {
302 "description": "Request successful. The operation returns a list of LoadBalancer resources.",
303 "schema": {
304 "$ref": "#/definitions/LoadBalancerListResult"
305 }
306 },
307 "default": {
308 "description": "Error response describing why the operation failed.",
309 "schema": {
310 "$ref": "./network.json#/definitions/CloudError"
311 }
312 }
313 },
314 "x-ms-examples": {
315 "List all load balancers": {
316 "$ref": "./examples/LoadBalancerListAll.json"
317 }
318 },
319 "x-ms-pageable": {
320 "nextLinkName": "nextLink"
321 }
322 }
323 },
324 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": {
325 "get": {
326 "tags": [
327 "LoadBalancers"
328 ],
329 "operationId": "LoadBalancers_List",
330 "description": "Gets all the load balancers in a resource group.",
331 "parameters": [
332 {
333 "name": "resourceGroupName",
334 "in": "path",
335 "required": true,
336 "type": "string",
337 "description": "The name of the resource group."
338 },
339 {
340 "$ref": "./network.json#/parameters/ApiVersionParameter"
341 },
342 {
343 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
344 }
345 ],
346 "responses": {
347 "200": {
348 "description": "Request successful. The operation returns a list of LoadBalancer resources.",
349 "schema": {
350 "$ref": "#/definitions/LoadBalancerListResult"
351 }
352 },
353 "default": {
354 "description": "Error response describing why the operation failed.",
355 "schema": {
356 "$ref": "./network.json#/definitions/CloudError"
357 }
358 }
359 },
360 "x-ms-examples": {
361 "List load balancers in resource group": {
362 "$ref": "./examples/LoadBalancerList.json"
363 }
364 },
365 "x-ms-pageable": {
366 "nextLinkName": "nextLink"
367 }
368 }
369 },
370 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools": {
371 "get": {
372 "tags": [
373 "LoadBalancers"
374 ],
375 "operationId": "LoadBalancerBackendAddressPools_List",
376 "description": "Gets all the load balancer backed address pools.",
377 "parameters": [
378 {
379 "name": "resourceGroupName",
380 "in": "path",
381 "required": true,
382 "type": "string",
383 "description": "The name of the resource group."
384 },
385 {
386 "name": "loadBalancerName",
387 "in": "path",
388 "required": true,
389 "type": "string",
390 "description": "The name of the load balancer."
391 },
392 {
393 "$ref": "./network.json#/parameters/ApiVersionParameter"
394 },
395 {
396 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
397 }
398 ],
399 "responses": {
400 "200": {
401 "description": "Request successful. The operation returns a list of LoadBalancer BackendAddressPool resources.",
402 "schema": {
403 "$ref": "#/definitions/LoadBalancerBackendAddressPoolListResult"
404 }
405 },
406 "default": {
407 "description": "Error response describing why the operation failed.",
408 "schema": {
409 "$ref": "./network.json#/definitions/CloudError"
410 }
411 }
412 },
413 "x-ms-examples": {
414 "LoadBalancerBackendAddressPoolList": {
415 "$ref": "./examples/LoadBalancerBackendAddressPoolList.json"
416 },
417 "Load balancer with BackendAddressPool containing BackendAddresses": {
418 "$ref": "./examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json"
419 }
420 },
421 "x-ms-pageable": {
422 "nextLinkName": "nextLink"
423 }
424 }
425 },
426 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}": {
427 "get": {
428 "tags": [
429 "LoadBalancers"
430 ],
431 "operationId": "LoadBalancerBackendAddressPools_Get",
432 "description": "Gets load balancer backend address pool.",
433 "parameters": [
434 {
435 "name": "resourceGroupName",
436 "in": "path",
437 "required": true,
438 "type": "string",
439 "description": "The name of the resource group."
440 },
441 {
442 "name": "loadBalancerName",
443 "in": "path",
444 "required": true,
445 "type": "string",
446 "description": "The name of the load balancer."
447 },
448 {
449 "name": "backendAddressPoolName",
450 "in": "path",
451 "required": true,
452 "type": "string",
453 "description": "The name of the backend address pool."
454 },
455 {
456 "$ref": "./network.json#/parameters/ApiVersionParameter"
457 },
458 {
459 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
460 }
461 ],
462 "responses": {
463 "200": {
464 "description": "Request successful. The operation returns LoadBalancer BackendAddressPool resource.",
465 "schema": {
466 "$ref": "#/definitions/BackendAddressPool"
467 }
468 },
469 "default": {
470 "description": "Error response describing why the operation failed.",
471 "schema": {
472 "$ref": "./network.json#/definitions/CloudError"
473 }
474 }
475 },
476 "x-ms-examples": {
477 "LoadBalancerBackendAddressPoolGet": {
478 "$ref": "./examples/LoadBalancerBackendAddressPoolGet.json"
479 },
480 "LoadBalancer with BackendAddressPool with BackendAddresses": {
481 "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesGet.json"
482 }
483 }
484 },
485 "put": {
486 "tags": [
487 "LoadBalancers"
488 ],
489 "operationId": "LoadBalancerBackendAddressPools_CreateOrUpdate",
490 "description": "Creates or updates a load balancer backend address pool.",
491 "parameters": [
492 {
493 "name": "resourceGroupName",
494 "in": "path",
495 "required": true,
496 "type": "string",
497 "description": "The name of the resource group."
498 },
499 {
500 "name": "loadBalancerName",
501 "in": "path",
502 "required": true,
503 "type": "string",
504 "description": "The name of the load balancer."
505 },
506 {
507 "name": "backendAddressPoolName",
508 "in": "path",
509 "required": true,
510 "type": "string",
511 "description": "The name of the backend address pool."
512 },
513 {
514 "name": "parameters",
515 "in": "body",
516 "required": true,
517 "schema": {
518 "$ref": "#/definitions/BackendAddressPool"
519 },
520 "description": "Parameters supplied to the create or update load balancer backend address pool operation."
521 },
522 {
523 "$ref": "./network.json#/parameters/ApiVersionParameter"
524 },
525 {
526 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
527 }
528 ],
529 "responses": {
530 "201": {
531 "description": "Create successful. The operation returns the resulting BackendAddressPool resource.",
532 "schema": {
533 "$ref": "#/definitions/BackendAddressPool"
534 }
535 },
536 "200": {
537 "description": "Update successful. The operation returns the resulting BackendAddressPool resource.",
538 "schema": {
539 "$ref": "#/definitions/BackendAddressPool"
540 }
541 },
542 "default": {
543 "description": "Error response describing why the operation failed.",
544 "schema": {
545 "$ref": "./network.json#/definitions/CloudError"
546 }
547 }
548 },
549 "x-ms-examples": {
550 "Update load balancer backend pool with backend addresses containing virtual network and IP address.": {
551 "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPut.json"
552 }
553 },
554 "x-ms-long-running-operation": true,
555 "x-ms-long-running-operation-options": {
556 "final-state-via": "azure-async-operation"
557 }
558 },
559 "delete": {
560 "tags": [
561 "LoadBalancers"
562 ],
563 "operationId": "LoadBalancerBackendAddressPools_Delete",
564 "description": "Deletes the specified load balancer backend address pool.",
565 "parameters": [
566 {
567 "name": "resourceGroupName",
568 "in": "path",
569 "required": true,
570 "type": "string",
571 "description": "The name of the resource group."
572 },
573 {
574 "name": "loadBalancerName",
575 "in": "path",
576 "required": true,
577 "type": "string",
578 "description": "The name of the load balancer."
579 },
580 {
581 "name": "backendAddressPoolName",
582 "in": "path",
583 "required": true,
584 "type": "string",
585 "description": "The name of the backend address pool."
586 },
587 {
588 "$ref": "./network.json#/parameters/ApiVersionParameter"
589 },
590 {
591 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
592 }
593 ],
594 "responses": {
595 "204": {
596 "description": "Request successful. Resource does not exist."
597 },
598 "202": {
599 "description": "Accepted and the operation will complete asynchronously."
600 },
601 "200": {
602 "description": "Delete successful."
603 },
604 "default": {
605 "description": "Error response describing why the operation failed.",
606 "schema": {
607 "$ref": "./network.json#/definitions/CloudError"
608 }
609 }
610 },
611 "x-ms-examples": {
612 "BackendAddressPoolDelete": {
613 "$ref": "./examples/LoadBalancerBackendAddressPoolDelete.json"
614 }
615 },
616 "x-ms-long-running-operation": true,
617 "x-ms-long-running-operation-options": {
618 "final-state-via": "location"
619 }
620 }
621 },
622 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations": {
623 "get": {
624 "tags": [
625 "LoadBalancers"
626 ],
627 "operationId": "LoadBalancerFrontendIPConfigurations_List",
628 "description": "Gets all the load balancer frontend IP configurations.",
629 "parameters": [
630 {
631 "name": "resourceGroupName",
632 "in": "path",
633 "required": true,
634 "type": "string",
635 "description": "The name of the resource group."
636 },
637 {
638 "name": "loadBalancerName",
639 "in": "path",
640 "required": true,
641 "type": "string",
642 "description": "The name of the load balancer."
643 },
644 {
645 "$ref": "./network.json#/parameters/ApiVersionParameter"
646 },
647 {
648 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
649 }
650 ],
651 "responses": {
652 "200": {
653 "description": "Request successful. The operation returns a list of LoadBalancer FrontendIPConfiguration resources.",
654 "schema": {
655 "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationListResult"
656 }
657 },
658 "default": {
659 "description": "Error response describing why the operation failed.",
660 "schema": {
661 "$ref": "./network.json#/definitions/CloudError"
662 }
663 }
664 },
665 "x-ms-examples": {
666 "LoadBalancerFrontendIPConfigurationList": {
667 "$ref": "./examples/LoadBalancerFrontendIPConfigurationList.json"
668 }
669 },
670 "x-ms-pageable": {
671 "nextLinkName": "nextLink"
672 }
673 }
674 },
675 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}": {
676 "get": {
677 "tags": [
678 "LoadBalancers"
679 ],
680 "operationId": "LoadBalancerFrontendIPConfigurations_Get",
681 "description": "Gets load balancer frontend IP configuration.",
682 "parameters": [
683 {
684 "name": "resourceGroupName",
685 "in": "path",
686 "required": true,
687 "type": "string",
688 "description": "The name of the resource group."
689 },
690 {
691 "name": "loadBalancerName",
692 "in": "path",
693 "required": true,
694 "type": "string",
695 "description": "The name of the load balancer."
696 },
697 {
698 "name": "frontendIPConfigurationName",
699 "in": "path",
700 "required": true,
701 "type": "string",
702 "description": "The name of the frontend IP configuration."
703 },
704 {
705 "$ref": "./network.json#/parameters/ApiVersionParameter"
706 },
707 {
708 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
709 }
710 ],
711 "responses": {
712 "200": {
713 "description": "Request successful. The operation returns LoadBalancer FrontendIPConfiguration resource.",
714 "schema": {
715 "$ref": "#/definitions/FrontendIPConfiguration"
716 }
717 },
718 "default": {
719 "description": "Error response describing why the operation failed.",
720 "schema": {
721 "$ref": "./network.json#/definitions/CloudError"
722 }
723 }
724 },
725 "x-ms-examples": {
726 "LoadBalancerFrontendIPConfigurationGet": {
727 "$ref": "./examples/LoadBalancerFrontendIPConfigurationGet.json"
728 }
729 }
730 }
731 },
732 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules": {
733 "get": {
734 "tags": [
735 "LoadBalancers"
736 ],
737 "operationId": "InboundNatRules_List",
738 "description": "Gets all the inbound nat rules in a load balancer.",
739 "parameters": [
740 {
741 "name": "resourceGroupName",
742 "in": "path",
743 "required": true,
744 "type": "string",
745 "description": "The name of the resource group."
746 },
747 {
748 "name": "loadBalancerName",
749 "in": "path",
750 "required": true,
751 "type": "string",
752 "description": "The name of the load balancer."
753 },
754 {
755 "$ref": "./network.json#/parameters/ApiVersionParameter"
756 },
757 {
758 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
759 }
760 ],
761 "responses": {
762 "200": {
763 "description": "Request successful. The operation returns a list of LoadBalancer InboundNatRule resources.",
764 "schema": {
765 "$ref": "#/definitions/InboundNatRuleListResult"
766 }
767 },
768 "default": {
769 "description": "Error response describing why the operation failed.",
770 "schema": {
771 "$ref": "./network.json#/definitions/CloudError"
772 }
773 }
774 },
775 "x-ms-pageable": {
776 "nextLinkName": "nextLink"
777 },
778 "x-ms-examples": {
779 "InboundNatRuleList": {
780 "$ref": "./examples/InboundNatRuleList.json"
781 }
782 }
783 }
784 },
785 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}": {
786 "delete": {
787 "tags": [
788 "LoadBalancers"
789 ],
790 "operationId": "InboundNatRules_Delete",
791 "description": "Deletes the specified load balancer inbound nat rule.",
792 "parameters": [
793 {
794 "name": "resourceGroupName",
795 "in": "path",
796 "required": true,
797 "type": "string",
798 "description": "The name of the resource group."
799 },
800 {
801 "name": "loadBalancerName",
802 "in": "path",
803 "required": true,
804 "type": "string",
805 "description": "The name of the load balancer."
806 },
807 {
808 "name": "inboundNatRuleName",
809 "in": "path",
810 "required": true,
811 "type": "string",
812 "description": "The name of the inbound nat rule."
813 },
814 {
815 "$ref": "./network.json#/parameters/ApiVersionParameter"
816 },
817 {
818 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
819 }
820 ],
821 "responses": {
822 "204": {
823 "description": "Request successful. Resource does not exist."
824 },
825 "202": {
826 "description": "Accepted and the operation will complete asynchronously."
827 },
828 "200": {
829 "description": "Delete successful."
830 },
831 "default": {
832 "description": "Error response describing why the operation failed.",
833 "schema": {
834 "$ref": "./network.json#/definitions/CloudError"
835 }
836 }
837 },
838 "x-ms-examples": {
839 "InboundNatRuleDelete": {
840 "$ref": "./examples/InboundNatRuleDelete.json"
841 }
842 },
843 "x-ms-long-running-operation": true,
844 "x-ms-long-running-operation-options": {
845 "final-state-via": "location"
846 }
847 },
848 "get": {
849 "tags": [
850 "LoadBalancers"
851 ],
852 "operationId": "InboundNatRules_Get",
853 "description": "Gets the specified load balancer inbound nat rule.",
854 "parameters": [
855 {
856 "name": "resourceGroupName",
857 "in": "path",
858 "required": true,
859 "type": "string",
860 "description": "The name of the resource group."
861 },
862 {
863 "name": "loadBalancerName",
864 "in": "path",
865 "required": true,
866 "type": "string",
867 "description": "The name of the load balancer."
868 },
869 {
870 "name": "inboundNatRuleName",
871 "in": "path",
872 "required": true,
873 "type": "string",
874 "description": "The name of the inbound nat rule."
875 },
876 {
877 "$ref": "./network.json#/parameters/ApiVersionParameter"
878 },
879 {
880 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
881 },
882 {
883 "name": "$expand",
884 "in": "query",
885 "required": false,
886 "type": "string",
887 "description": "Expands referenced resources."
888 }
889 ],
890 "responses": {
891 "200": {
892 "description": "Request successful. The operation returns the resulting InboundNatRule resource.",
893 "schema": {
894 "$ref": "#/definitions/InboundNatRule"
895 }
896 },
897 "default": {
898 "description": "Error response describing why the operation failed.",
899 "schema": {
900 "$ref": "./network.json#/definitions/CloudError"
901 }
902 }
903 },
904 "x-ms-examples": {
905 "InboundNatRuleGet": {
906 "$ref": "./examples/InboundNatRuleGet.json"
907 }
908 }
909 },
910 "put": {
911 "tags": [
912 "LoadBalancers"
913 ],
914 "operationId": "InboundNatRules_CreateOrUpdate",
915 "description": "Creates or updates a load balancer inbound nat rule.",
916 "parameters": [
917 {
918 "name": "resourceGroupName",
919 "in": "path",
920 "required": true,
921 "type": "string",
922 "description": "The name of the resource group."
923 },
924 {
925 "name": "loadBalancerName",
926 "in": "path",
927 "required": true,
928 "type": "string",
929 "description": "The name of the load balancer."
930 },
931 {
932 "name": "inboundNatRuleName",
933 "in": "path",
934 "required": true,
935 "type": "string",
936 "description": "The name of the inbound nat rule."
937 },
938 {
939 "name": "inboundNatRuleParameters",
940 "in": "body",
941 "required": true,
942 "schema": {
943 "$ref": "#/definitions/InboundNatRule"
944 },
945 "description": "Parameters supplied to the create or update inbound nat rule operation."
946 },
947 {
948 "$ref": "./network.json#/parameters/ApiVersionParameter"
949 },
950 {
951 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
952 }
953 ],
954 "responses": {
955 "201": {
956 "description": "Create successful. The operation returns the resulting InboundNatRule resource.",
957 "schema": {
958 "$ref": "#/definitions/InboundNatRule"
959 }
960 },
961 "200": {
962 "description": "Update successful. The operation returns the resulting InboundNatRule resource.",
963 "schema": {
964 "$ref": "#/definitions/InboundNatRule"
965 }
966 },
967 "default": {
968 "description": "Error response describing why the operation failed.",
969 "schema": {
970 "$ref": "./network.json#/definitions/CloudError"
971 }
972 }
973 },
974 "x-ms-long-running-operation": true,
975 "x-ms-long-running-operation-options": {
976 "final-state-via": "azure-async-operation"
977 },
978 "x-ms-examples": {
979 "InboundNatRuleCreate": {
980 "$ref": "./examples/InboundNatRuleCreate.json"
981 }
982 }
983 }
984 },
985 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules": {
986 "get": {
987 "tags": [
988 "LoadBalancers"
989 ],
990 "operationId": "LoadBalancerLoadBalancingRules_List",
991 "description": "Gets all the load balancing rules in a load balancer.",
992 "parameters": [
993 {
994 "name": "resourceGroupName",
995 "in": "path",
996 "required": true,
997 "type": "string",
998 "description": "The name of the resource group."
999 },
1000 {
1001 "name": "loadBalancerName",
1002 "in": "path",
1003 "required": true,
1004 "type": "string",
1005 "description": "The name of the load balancer."
1006 },
1007 {
1008 "$ref": "./network.json#/parameters/ApiVersionParameter"
1009 },
1010 {
1011 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1012 }
1013 ],
1014 "responses": {
1015 "200": {
1016 "description": "Request successful. The operation returns a list of LoadBalancer LoadBalancingRule resources.",
1017 "schema": {
1018 "$ref": "#/definitions/LoadBalancerLoadBalancingRuleListResult"
1019 }
1020 },
1021 "default": {
1022 "description": "Error response describing why the operation failed.",
1023 "schema": {
1024 "$ref": "./network.json#/definitions/CloudError"
1025 }
1026 }
1027 },
1028 "x-ms-pageable": {
1029 "nextLinkName": "nextLink"
1030 },
1031 "x-ms-examples": {
1032 "LoadBalancerLoadBalancingRuleList": {
1033 "$ref": "./examples/LoadBalancerLoadBalancingRuleList.json"
1034 }
1035 }
1036 }
1037 },
1038 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}": {
1039 "get": {
1040 "tags": [
1041 "LoadBalancers"
1042 ],
1043 "operationId": "LoadBalancerLoadBalancingRules_Get",
1044 "description": "Gets the specified load balancer load balancing rule.",
1045 "parameters": [
1046 {
1047 "name": "resourceGroupName",
1048 "in": "path",
1049 "required": true,
1050 "type": "string",
1051 "description": "The name of the resource group."
1052 },
1053 {
1054 "name": "loadBalancerName",
1055 "in": "path",
1056 "required": true,
1057 "type": "string",
1058 "description": "The name of the load balancer."
1059 },
1060 {
1061 "name": "loadBalancingRuleName",
1062 "in": "path",
1063 "required": true,
1064 "type": "string",
1065 "description": "The name of the load balancing rule."
1066 },
1067 {
1068 "$ref": "./network.json#/parameters/ApiVersionParameter"
1069 },
1070 {
1071 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1072 }
1073 ],
1074 "responses": {
1075 "200": {
1076 "description": "Request successful. The operation returns the resulting LoadBalancingRule resource.",
1077 "schema": {
1078 "$ref": "#/definitions/LoadBalancingRule"
1079 }
1080 },
1081 "default": {
1082 "description": "Error response describing why the operation failed.",
1083 "schema": {
1084 "$ref": "./network.json#/definitions/CloudError"
1085 }
1086 }
1087 },
1088 "x-ms-examples": {
1089 "LoadBalancerLoadBalancingRuleGet": {
1090 "$ref": "./examples/LoadBalancerLoadBalancingRuleGet.json"
1091 }
1092 }
1093 }
1094 },
1095 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules": {
1096 "get": {
1097 "tags": [
1098 "LoadBalancers"
1099 ],
1100 "operationId": "LoadBalancerOutboundRules_List",
1101 "description": "Gets all the outbound rules in a load balancer.",
1102 "parameters": [
1103 {
1104 "name": "resourceGroupName",
1105 "in": "path",
1106 "required": true,
1107 "type": "string",
1108 "description": "The name of the resource group."
1109 },
1110 {
1111 "name": "loadBalancerName",
1112 "in": "path",
1113 "required": true,
1114 "type": "string",
1115 "description": "The name of the load balancer."
1116 },
1117 {
1118 "$ref": "./network.json#/parameters/ApiVersionParameter"
1119 },
1120 {
1121 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1122 }
1123 ],
1124 "responses": {
1125 "200": {
1126 "description": "Request successful. The operation returns a list of LoadBalancer OutboundRule resources.",
1127 "schema": {
1128 "$ref": "#/definitions/LoadBalancerOutboundRuleListResult"
1129 }
1130 },
1131 "default": {
1132 "description": "Error response describing why the operation failed.",
1133 "schema": {
1134 "$ref": "./network.json#/definitions/CloudError"
1135 }
1136 }
1137 },
1138 "x-ms-pageable": {
1139 "nextLinkName": "nextLink"
1140 },
1141 "x-ms-examples": {
1142 "LoadBalancerOutboundRuleList": {
1143 "$ref": "./examples/LoadBalancerOutboundRuleList.json"
1144 }
1145 }
1146 }
1147 },
1148 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}": {
1149 "get": {
1150 "tags": [
1151 "LoadBalancers"
1152 ],
1153 "operationId": "LoadBalancerOutboundRules_Get",
1154 "description": "Gets the specified load balancer outbound rule.",
1155 "parameters": [
1156 {
1157 "name": "resourceGroupName",
1158 "in": "path",
1159 "required": true,
1160 "type": "string",
1161 "description": "The name of the resource group."
1162 },
1163 {
1164 "name": "loadBalancerName",
1165 "in": "path",
1166 "required": true,
1167 "type": "string",
1168 "description": "The name of the load balancer."
1169 },
1170 {
1171 "name": "outboundRuleName",
1172 "in": "path",
1173 "required": true,
1174 "type": "string",
1175 "description": "The name of the outbound rule."
1176 },
1177 {
1178 "$ref": "./network.json#/parameters/ApiVersionParameter"
1179 },
1180 {
1181 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1182 }
1183 ],
1184 "responses": {
1185 "200": {
1186 "description": "Request successful. The operation returns the resulting OutboundRule resource.",
1187 "schema": {
1188 "$ref": "#/definitions/OutboundRule"
1189 }
1190 },
1191 "default": {
1192 "description": "Error response describing why the operation failed.",
1193 "schema": {
1194 "$ref": "./network.json#/definitions/CloudError"
1195 }
1196 }
1197 },
1198 "x-ms-examples": {
1199 "LoadBalancerOutboundRuleGet": {
1200 "$ref": "./examples/LoadBalancerOutboundRuleGet.json"
1201 }
1202 }
1203 }
1204 },
1205 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces": {
1206 "get": {
1207 "tags": [
1208 "LoadBalancers"
1209 ],
1210 "operationId": "LoadBalancerNetworkInterfaces_List",
1211 "description": "Gets associated load balancer network interfaces.",
1212 "parameters": [
1213 {
1214 "name": "resourceGroupName",
1215 "in": "path",
1216 "required": true,
1217 "type": "string",
1218 "description": "The name of the resource group."
1219 },
1220 {
1221 "name": "loadBalancerName",
1222 "in": "path",
1223 "required": true,
1224 "type": "string",
1225 "description": "The name of the load balancer."
1226 },
1227 {
1228 "$ref": "./network.json#/parameters/ApiVersionParameter"
1229 },
1230 {
1231 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1232 }
1233 ],
1234 "responses": {
1235 "200": {
1236 "description": "Request successful. The operation returns a list of NetworkInterface resources.",
1237 "schema": {
1238 "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult"
1239 }
1240 },
1241 "default": {
1242 "description": "Error response describing why the operation failed.",
1243 "schema": {
1244 "$ref": "./network.json#/definitions/CloudError"
1245 }
1246 }
1247 },
1248 "x-ms-examples": {
1249 "LoadBalancerNetworkInterfaceListVmss": {
1250 "$ref": "./examples/LoadBalancerNetworkInterfaceListVmss.json"
1251 },
1252 "LoadBalancerNetworkInterfaceListSimple": {
1253 "$ref": "./examples/LoadBalancerNetworkInterfaceListSimple.json"
1254 }
1255 },
1256 "x-ms-pageable": {
1257 "nextLinkName": "nextLink"
1258 }
1259 }
1260 },
1261 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes": {
1262 "get": {
1263 "tags": [
1264 "LoadBalancers"
1265 ],
1266 "operationId": "LoadBalancerProbes_List",
1267 "description": "Gets all the load balancer probes.",
1268 "parameters": [
1269 {
1270 "name": "resourceGroupName",
1271 "in": "path",
1272 "required": true,
1273 "type": "string",
1274 "description": "The name of the resource group."
1275 },
1276 {
1277 "name": "loadBalancerName",
1278 "in": "path",
1279 "required": true,
1280 "type": "string",
1281 "description": "The name of the load balancer."
1282 },
1283 {
1284 "$ref": "./network.json#/parameters/ApiVersionParameter"
1285 },
1286 {
1287 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1288 }
1289 ],
1290 "responses": {
1291 "200": {
1292 "description": "Request successful. The operation returns a list of LoadBalancer Probe resources.",
1293 "schema": {
1294 "$ref": "#/definitions/LoadBalancerProbeListResult"
1295 }
1296 },
1297 "default": {
1298 "description": "Error response describing why the operation failed.",
1299 "schema": {
1300 "$ref": "./network.json#/definitions/CloudError"
1301 }
1302 }
1303 },
1304 "x-ms-examples": {
1305 "LoadBalancerProbeList": {
1306 "$ref": "./examples/LoadBalancerProbeList.json"
1307 }
1308 },
1309 "x-ms-pageable": {
1310 "nextLinkName": "nextLink"
1311 }
1312 }
1313 },
1314 "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}": {
1315 "get": {
1316 "tags": [
1317 "LoadBalancers"
1318 ],
1319 "operationId": "LoadBalancerProbes_Get",
1320 "description": "Gets load balancer probe.",
1321 "parameters": [
1322 {
1323 "name": "resourceGroupName",
1324 "in": "path",
1325 "required": true,
1326 "type": "string",
1327 "description": "The name of the resource group."
1328 },
1329 {
1330 "name": "loadBalancerName",
1331 "in": "path",
1332 "required": true,
1333 "type": "string",
1334 "description": "The name of the load balancer."
1335 },
1336 {
1337 "name": "probeName",
1338 "in": "path",
1339 "required": true,
1340 "type": "string",
1341 "description": "The name of the probe."
1342 },
1343 {
1344 "$ref": "./network.json#/parameters/ApiVersionParameter"
1345 },
1346 {
1347 "$ref": "./network.json#/parameters/SubscriptionIdParameter"
1348 }
1349 ],
1350 "responses": {
1351 "200": {
1352 "description": "Request successful. The operation returns LoadBalancer Probe resource.",
1353 "schema": {
1354 "$ref": "#/definitions/Probe"
1355 }
1356 },
1357 "default": {
1358 "description": "Error response describing why the operation failed.",
1359 "schema": {
1360 "$ref": "./network.json#/definitions/CloudError"
1361 }
1362 }
1363 },
1364 "x-ms-examples": {
1365 "LoadBalancerProbeGet": {
1366 "$ref": "./examples/LoadBalancerProbeGet.json"
1367 }
1368 }
1369 }
1370 }
1371 },
1372 "definitions": {
1373 "LoadBalancerSku": {
1374 "properties": {
1375 "name": {
1376 "type": "string",
1377 "description": "Name of a load balancer SKU.",
1378 "enum": [
1379 "Basic",
1380 "Standard"
1381 ],
1382 "x-ms-enum": {
1383 "name": "LoadBalancerSkuName",
1384 "modelAsString": true
1385 }
1386 }
1387 },
1388 "description": "SKU of a load balancer."
1389 },
1390 "FrontendIPConfigurationPropertiesFormat": {
1391 "properties": {
1392 "inboundNatRules": {
1393 "readOnly": true,
1394 "type": "array",
1395 "items": {
1396 "$ref": "./network.json#/definitions/SubResource"
1397 },
1398 "description": "An array of references to inbound rules that use this frontend IP."
1399 },
1400 "inboundNatPools": {
1401 "readOnly": true,
1402 "type": "array",
1403 "items": {
1404 "$ref": "./network.json#/definitions/SubResource"
1405 },
1406 "description": "An array of references to inbound pools that use this frontend IP."
1407 },
1408 "outboundRules": {
1409 "readOnly": true,
1410 "type": "array",
1411 "items": {
1412 "$ref": "./network.json#/definitions/SubResource"
1413 },
1414 "description": "An array of references to outbound rules that use this frontend IP."
1415 },
1416 "loadBalancingRules": {
1417 "readOnly": true,
1418 "type": "array",
1419 "items": {
1420 "$ref": "./network.json#/definitions/SubResource"
1421 },
1422 "description": "An array of references to load balancing rules that use this frontend IP."
1423 },
1424 "privateIPAddress": {
1425 "type": "string",
1426 "description": "The private IP address of the IP configuration."
1427 },
1428 "privateIPAllocationMethod": {
1429 "$ref": "./network.json#/definitions/IPAllocationMethod",
1430 "description": "The Private IP allocation method."
1431 },
1432 "privateIPAddressVersion": {
1433 "$ref": "./network.json#/definitions/IPVersion",
1434 "description": "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4."
1435 },
1436 "subnet": {
1437 "$ref": "./virtualNetwork.json#/definitions/Subnet",
1438 "description": "The reference to the subnet resource."
1439 },
1440 "publicIPAddress": {
1441 "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
1442 "description": "The reference to the Public IP resource."
1443 },
1444 "publicIPPrefix": {
1445 "$ref": "./network.json#/definitions/SubResource",
1446 "description": "The reference to the Public IP Prefix resource."
1447 },
1448 "provisioningState": {
1449 "readOnly": true,
1450 "$ref": "./network.json#/definitions/ProvisioningState",
1451 "description": "The provisioning state of the frontend IP configuration resource."
1452 }
1453 },
1454 "description": "Properties of Frontend IP Configuration of the load balancer."
1455 },
1456 "FrontendIPConfiguration": {
1457 "properties": {
1458 "properties": {
1459 "x-ms-client-flatten": true,
1460 "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat",
1461 "description": "Properties of the load balancer probe."
1462 },
1463 "name": {
1464 "type": "string",
1465 "description": "The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource."
1466 },
1467 "etag": {
1468 "readOnly": true,
1469 "type": "string",
1470 "description": "A unique read-only string that changes whenever the resource is updated."
1471 },
1472 "type": {
1473 "readOnly": true,
1474 "type": "string",
1475 "description": "Type of the resource."
1476 },
1477 "zones": {
1478 "type": "array",
1479 "items": {
1480 "type": "string"
1481 },
1482 "description": "A list of availability zones denoting the IP allocated for the resource needs to come from."
1483 }
1484 },
1485 "allOf": [
1486 {
1487 "$ref": "./network.json#/definitions/SubResource"
1488 }
1489 ],
1490 "description": "Frontend IP address of the load balancer."
1491 },
1492 "LoadBalancerBackendAddressPropertiesFormat": {
1493 "properties": {
1494 "virtualNetwork": {
1495 "$ref": "./network.json#/definitions/SubResource",
1496 "description": "Reference to an existing virtual network."
1497 },
1498 "ipAddress": {
1499 "type": "string",
1500 "description": "IP Address belonging to the referenced virtual network.",
1501 "x-ms-azure-resource": false
1502 },
1503 "networkInterfaceIPConfiguration": {
1504 "readOnly": true,
1505 "$ref": "./network.json#/definitions/SubResource",
1506 "description": "Reference to IP address defined in network interfaces."
1507 }
1508 },
1509 "description": "Properties of the load balancer backend addresses."
1510 },
1511 "LoadBalancerBackendAddress": {
1512 "properties": {
1513 "properties": {
1514 "x-ms-client-flatten": true,
1515 "$ref": "#/definitions/LoadBalancerBackendAddressPropertiesFormat",
1516 "description": "Properties of load balancer backend address pool."
1517 },
1518 "name": {
1519 "type": "string",
1520 "description": "Name of the backend address."
1521 }
1522 },
1523 "description": "Load balancer backend addresses."
1524 },
1525 "BackendAddressPoolPropertiesFormat": {
1526 "properties": {
1527 "loadBalancerBackendAddresses": {
1528 "type": "array",
1529 "items": {
1530 "$ref": "#/definitions/LoadBalancerBackendAddress"
1531 },
1532 "description": "An array of backend addresses."
1533 },
1534 "backendIPConfigurations": {
1535 "readOnly": true,
1536 "type": "array",
1537 "items": {
1538 "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration"
1539 },
1540 "description": "An array of references to IP addresses defined in network interfaces."
1541 },
1542 "loadBalancingRules": {
1543 "readOnly": true,
1544 "type": "array",
1545 "items": {
1546 "$ref": "./network.json#/definitions/SubResource"
1547 },
1548 "description": "An array of references to load balancing rules that use this backend address pool."
1549 },
1550 "outboundRule": {
1551 "readOnly": true,
1552 "$ref": "./network.json#/definitions/SubResource",
1553 "description": "A reference to an outbound rule that uses this backend address pool."
1554 },
1555 "outboundRules": {
1556 "readOnly": true,
1557 "type": "array",
1558 "items": {
1559 "$ref": "./network.json#/definitions/SubResource"
1560 },
1561 "description": "An array of references to outbound rules that use this backend address pool."
1562 },
1563 "provisioningState": {
1564 "readOnly": true,
1565 "$ref": "./network.json#/definitions/ProvisioningState",
1566 "description": "The provisioning state of the backend address pool resource."
1567 }
1568 },
1569 "description": "Properties of the backend address pool."
1570 },
1571 "BackendAddressPool": {
1572 "properties": {
1573 "properties": {
1574 "x-ms-client-flatten": true,
1575 "$ref": "#/definitions/BackendAddressPoolPropertiesFormat",
1576 "description": "Properties of load balancer backend address pool."
1577 },
1578 "name": {
1579 "type": "string",
1580 "description": "The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource."
1581 },
1582 "etag": {
1583 "readOnly": true,
1584 "type": "string",
1585 "description": "A unique read-only string that changes whenever the resource is updated."
1586 },
1587 "type": {
1588 "readOnly": true,
1589 "type": "string",
1590 "description": "Type of the resource."
1591 }
1592 },
1593 "allOf": [
1594 {
1595 "$ref": "./network.json#/definitions/SubResource"
1596 }
1597 ],
1598 "description": "Pool of backend IP addresses."
1599 },
1600 "LoadBalancingRulePropertiesFormat": {
1601 "properties": {
1602 "frontendIPConfiguration": {
1603 "$ref": "./network.json#/definitions/SubResource",
1604 "description": "A reference to frontend IP addresses."
1605 },
1606 "backendAddressPool": {
1607 "$ref": "./network.json#/definitions/SubResource",
1608 "description": "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs."
1609 },
1610 "probe": {
1611 "$ref": "./network.json#/definitions/SubResource",
1612 "description": "The reference to the load balancer probe used by the load balancing rule."
1613 },
1614 "protocol": {
1615 "$ref": "#/definitions/TransportProtocol",
1616 "description": "The reference to the transport protocol used by the load balancing rule."
1617 },
1618 "loadDistribution": {
1619 "type": "string",
1620 "description": "The load distribution policy for this rule.",
1621 "enum": [
1622 "Default",
1623 "SourceIP",
1624 "SourceIPProtocol"
1625 ],
1626 "x-ms-enum": {
1627 "name": "LoadDistribution",
1628 "modelAsString": true
1629 }
1630 },
1631 "frontendPort": {
1632 "type": "integer",
1633 "format": "int32",
1634 "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables \"Any Port\"."
1635 },
1636 "backendPort": {
1637 "type": "integer",
1638 "format": "int32",
1639 "description": "The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables \"Any Port\"."
1640 },
1641 "idleTimeoutInMinutes": {
1642 "type": "integer",
1643 "format": "int32",
1644 "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
1645 },
1646 "enableFloatingIP": {
1647 "type": "boolean",
1648 "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
1649 },
1650 "enableTcpReset": {
1651 "type": "boolean",
1652 "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
1653 },
1654 "disableOutboundSnat": {
1655 "type": "boolean",
1656 "description": "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule."
1657 },
1658 "provisioningState": {
1659 "readOnly": true,
1660 "$ref": "./network.json#/definitions/ProvisioningState",
1661 "description": "The provisioning state of the load balancing rule resource."
1662 }
1663 },
1664 "required": [
1665 "protocol",
1666 "frontendPort"
1667 ],
1668 "description": "Properties of the load balancer."
1669 },
1670 "LoadBalancingRule": {
1671 "properties": {
1672 "properties": {
1673 "x-ms-client-flatten": true,
1674 "$ref": "#/definitions/LoadBalancingRulePropertiesFormat",
1675 "description": "Properties of load balancer load balancing rule."
1676 },
1677 "name": {
1678 "type": "string",
1679 "description": "The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource."
1680 },
1681 "etag": {
1682 "readOnly": true,
1683 "type": "string",
1684 "description": "A unique read-only string that changes whenever the resource is updated."
1685 },
1686 "type": {
1687 "readOnly": true,
1688 "type": "string",
1689 "description": "Type of the resource."
1690 }
1691 },
1692 "allOf": [
1693 {
1694 "$ref": "./network.json#/definitions/SubResource"
1695 }
1696 ],
1697 "description": "A load balancing rule for a load balancer."
1698 },
1699 "ProbePropertiesFormat": {
1700 "properties": {
1701 "loadBalancingRules": {
1702 "readOnly": true,
1703 "type": "array",
1704 "items": {
1705 "$ref": "./network.json#/definitions/SubResource"
1706 },
1707 "description": "The load balancer rules that use this probe."
1708 },
1709 "protocol": {
1710 "type": "string",
1711 "description": "The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.",
1712 "enum": [
1713 "Http",
1714 "Tcp",
1715 "Https"
1716 ],
1717 "x-ms-enum": {
1718 "name": "ProbeProtocol",
1719 "modelAsString": true
1720 }
1721 },
1722 "port": {
1723 "type": "integer",
1724 "format": "int32",
1725 "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive."
1726 },
1727 "intervalInSeconds": {
1728 "type": "integer",
1729 "format": "int32",
1730 "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5."
1731 },
1732 "numberOfProbes": {
1733 "type": "integer",
1734 "format": "int32",
1735 "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure."
1736 },
1737 "requestPath": {
1738 "type": "string",
1739 "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value."
1740 },
1741 "provisioningState": {
1742 "readOnly": true,
1743 "$ref": "./network.json#/definitions/ProvisioningState",
1744 "description": "The provisioning state of the probe resource."
1745 }
1746 },
1747 "required": [
1748 "protocol",
1749 "port"
1750 ],
1751 "description": "Load balancer probe resource."
1752 },
1753 "Probe": {
1754 "properties": {
1755 "properties": {
1756 "x-ms-client-flatten": true,
1757 "$ref": "#/definitions/ProbePropertiesFormat",
1758 "description": "Properties of load balancer probe."
1759 },
1760 "name": {
1761 "type": "string",
1762 "description": "The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource."
1763 },
1764 "etag": {
1765 "readOnly": true,
1766 "type": "string",
1767 "description": "A unique read-only string that changes whenever the resource is updated."
1768 },
1769 "type": {
1770 "readOnly": true,
1771 "type": "string",
1772 "description": "Type of the resource."
1773 }
1774 },
1775 "allOf": [
1776 {
1777 "$ref": "./network.json#/definitions/SubResource"
1778 }
1779 ],
1780 "description": "A load balancer probe."
1781 },
1782 "InboundNatRulePropertiesFormat": {
1783 "properties": {
1784 "frontendIPConfiguration": {
1785 "$ref": "./network.json#/definitions/SubResource",
1786 "description": "A reference to frontend IP addresses."
1787 },
1788 "backendIPConfiguration": {
1789 "readOnly": true,
1790 "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration",
1791 "description": "A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP."
1792 },
1793 "protocol": {
1794 "$ref": "#/definitions/TransportProtocol",
1795 "description": "The reference to the transport protocol used by the load balancing rule."
1796 },
1797 "frontendPort": {
1798 "type": "integer",
1799 "format": "int32",
1800 "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534."
1801 },
1802 "backendPort": {
1803 "type": "integer",
1804 "format": "int32",
1805 "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535."
1806 },
1807 "idleTimeoutInMinutes": {
1808 "type": "integer",
1809 "format": "int32",
1810 "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
1811 },
1812 "enableFloatingIP": {
1813 "type": "boolean",
1814 "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
1815 },
1816 "enableTcpReset": {
1817 "type": "boolean",
1818 "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
1819 },
1820 "provisioningState": {
1821 "readOnly": true,
1822 "$ref": "./network.json#/definitions/ProvisioningState",
1823 "description": "The provisioning state of the inbound NAT rule resource."
1824 }
1825 },
1826 "description": "Properties of the inbound NAT rule."
1827 },
1828 "InboundNatRule": {
1829 "properties": {
1830 "properties": {
1831 "x-ms-client-flatten": true,
1832 "$ref": "#/definitions/InboundNatRulePropertiesFormat",
1833 "description": "Properties of load balancer inbound nat rule."
1834 },
1835 "name": {
1836 "type": "string",
1837 "description": "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource."
1838 },
1839 "etag": {
1840 "readOnly": true,
1841 "type": "string",
1842 "description": "A unique read-only string that changes whenever the resource is updated."
1843 },
1844 "type": {
1845 "readOnly": true,
1846 "type": "string",
1847 "description": "Type of the resource."
1848 }
1849 },
1850 "allOf": [
1851 {
1852 "$ref": "./network.json#/definitions/SubResource"
1853 }
1854 ],
1855 "description": "Inbound NAT rule of the load balancer."
1856 },
1857 "InboundNatPoolPropertiesFormat": {
1858 "properties": {
1859 "frontendIPConfiguration": {
1860 "$ref": "./network.json#/definitions/SubResource",
1861 "description": "A reference to frontend IP addresses."
1862 },
1863 "protocol": {
1864 "$ref": "#/definitions/TransportProtocol",
1865 "description": "The reference to the transport protocol used by the inbound NAT pool."
1866 },
1867 "frontendPortRangeStart": {
1868 "type": "integer",
1869 "format": "int32",
1870 "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534."
1871 },
1872 "frontendPortRangeEnd": {
1873 "type": "integer",
1874 "format": "int32",
1875 "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535."
1876 },
1877 "backendPort": {
1878 "type": "integer",
1879 "format": "int32",
1880 "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535."
1881 },
1882 "idleTimeoutInMinutes": {
1883 "type": "integer",
1884 "format": "int32",
1885 "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
1886 },
1887 "enableFloatingIP": {
1888 "type": "boolean",
1889 "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
1890 },
1891 "enableTcpReset": {
1892 "type": "boolean",
1893 "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
1894 },
1895 "provisioningState": {
1896 "readOnly": true,
1897 "$ref": "./network.json#/definitions/ProvisioningState",
1898 "description": "The provisioning state of the inbound NAT pool resource."
1899 }
1900 },
1901 "required": [
1902 "protocol",
1903 "frontendPortRangeStart",
1904 "frontendPortRangeEnd",
1905 "backendPort"
1906 ],
1907 "description": "Properties of Inbound NAT pool."
1908 },
1909 "InboundNatPool": {
1910 "properties": {
1911 "properties": {
1912 "x-ms-client-flatten": true,
1913 "$ref": "#/definitions/InboundNatPoolPropertiesFormat",
1914 "description": "Properties of load balancer inbound nat pool."
1915 },
1916 "name": {
1917 "type": "string",
1918 "description": "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource."
1919 },
1920 "etag": {
1921 "readOnly": true,
1922 "type": "string",
1923 "description": "A unique read-only string that changes whenever the resource is updated."
1924 },
1925 "type": {
1926 "readOnly": true,
1927 "type": "string",
1928 "description": "Type of the resource."
1929 }
1930 },
1931 "allOf": [
1932 {
1933 "$ref": "./network.json#/definitions/SubResource"
1934 }
1935 ],
1936 "description": "Inbound NAT pool of the load balancer."
1937 },
1938 "OutboundRulePropertiesFormat": {
1939 "properties": {
1940 "allocatedOutboundPorts": {
1941 "type": "integer",
1942 "format": "int32",
1943 "description": "The number of outbound ports to be used for NAT."
1944 },
1945 "frontendIPConfigurations": {
1946 "type": "array",
1947 "items": {
1948 "$ref": "./network.json#/definitions/SubResource"
1949 },
1950 "description": "The Frontend IP addresses of the load balancer."
1951 },
1952 "backendAddressPool": {
1953 "$ref": "./network.json#/definitions/SubResource",
1954 "description": "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs."
1955 },
1956 "provisioningState": {
1957 "readOnly": true,
1958 "$ref": "./network.json#/definitions/ProvisioningState",
1959 "description": "The provisioning state of the outbound rule resource."
1960 },
1961 "protocol": {
1962 "type": "string",
1963 "description": "The protocol for the outbound rule in load balancer.",
1964 "enum": [
1965 "Tcp",
1966 "Udp",
1967 "All"
1968 ],
1969 "x-ms-enum": {
1970 "name": "LoadBalancerOutboundRuleProtocol",
1971 "modelAsString": true
1972 }
1973 },
1974 "enableTcpReset": {
1975 "type": "boolean",
1976 "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
1977 },
1978 "idleTimeoutInMinutes": {
1979 "type": "integer",
1980 "description": "The timeout for the TCP idle connection."
1981 }
1982 },
1983 "required": [
1984 "backendAddressPool",
1985 "frontendIPConfigurations",
1986 "protocol"
1987 ],
1988 "description": "Outbound rule of the load balancer."
1989 },
1990 "OutboundRule": {
1991 "properties": {
1992 "properties": {
1993 "x-ms-client-flatten": true,
1994 "$ref": "#/definitions/OutboundRulePropertiesFormat",
1995 "description": "Properties of load balancer outbound rule."
1996 },
1997 "name": {
1998 "type": "string",
1999 "description": "The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource."
2000 },
2001 "etag": {
2002 "readOnly": true,
2003 "type": "string",
2004 "description": "A unique read-only string that changes whenever the resource is updated."
2005 },
2006 "type": {
2007 "readOnly": true,
2008 "type": "string",
2009 "description": "Type of the resource."
2010 }
2011 },
2012 "allOf": [
2013 {
2014 "$ref": "./network.json#/definitions/SubResource"
2015 }
2016 ],
2017 "description": "Outbound rule of the load balancer."
2018 },
2019 "LoadBalancerPropertiesFormat": {
2020 "properties": {
2021 "frontendIPConfigurations": {
2022 "type": "array",
2023 "items": {
2024 "$ref": "#/definitions/FrontendIPConfiguration"
2025 },
2026 "description": "Object representing the frontend IPs to be used for the load balancer."
2027 },
2028 "backendAddressPools": {
2029 "type": "array",
2030 "items": {
2031 "$ref": "#/definitions/BackendAddressPool"
2032 },
2033 "description": "Collection of backend address pools used by a load balancer."
2034 },
2035 "loadBalancingRules": {
2036 "type": "array",
2037 "items": {
2038 "$ref": "#/definitions/LoadBalancingRule"
2039 },
2040 "description": "Object collection representing the load balancing rules Gets the provisioning."
2041 },
2042 "probes": {
2043 "type": "array",
2044 "items": {
2045 "$ref": "#/definitions/Probe"
2046 },
2047 "description": "Collection of probe objects used in the load balancer."
2048 },
2049 "inboundNatRules": {
2050 "type": "array",
2051 "items": {
2052 "$ref": "#/definitions/InboundNatRule"
2053 },
2054 "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules."
2055 },
2056 "inboundNatPools": {
2057 "type": "array",
2058 "items": {
2059 "$ref": "#/definitions/InboundNatPool"
2060 },
2061 "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules."
2062 },
2063 "outboundRules": {
2064 "type": "array",
2065 "items": {
2066 "$ref": "#/definitions/OutboundRule"
2067 },
2068 "description": "The outbound rules."
2069 },
2070 "resourceGuid": {
2071 "readOnly": true,
2072 "type": "string",
2073 "description": "The resource GUID property of the load balancer resource."
2074 },
2075 "provisioningState": {
2076 "readOnly": true,
2077 "$ref": "./network.json#/definitions/ProvisioningState",
2078 "description": "The provisioning state of the load balancer resource."
2079 }
2080 },
2081 "description": "Properties of the load balancer."
2082 },
2083 "LoadBalancer": {
2084 "properties": {
2085 "sku": {
2086 "$ref": "#/definitions/LoadBalancerSku",
2087 "description": "The load balancer SKU."
2088 },
2089 "properties": {
2090 "x-ms-client-flatten": true,
2091 "$ref": "#/definitions/LoadBalancerPropertiesFormat",
2092 "description": "Properties of load balancer."
2093 },
2094 "etag": {
2095 "readOnly": true,
2096 "type": "string",
2097 "description": "A unique read-only string that changes whenever the resource is updated."
2098 }
2099 },
2100 "allOf": [
2101 {
2102 "$ref": "./network.json#/definitions/Resource"
2103 }
2104 ],
2105 "description": "LoadBalancer resource."
2106 },
2107 "LoadBalancerListResult": {
2108 "properties": {
2109 "value": {
2110 "type": "array",
2111 "items": {
2112 "$ref": "#/definitions/LoadBalancer"
2113 },
2114 "description": "A list of load balancers in a resource group."
2115 },
2116 "nextLink": {
2117 "readOnly": true,
2118 "type": "string",
2119 "description": "The URL to get the next set of results."
2120 }
2121 },
2122 "description": "Response for ListLoadBalancers API service call."
2123 },
2124 "InboundNatRuleListResult": {
2125 "properties": {
2126 "value": {
2127 "type": "array",
2128 "items": {
2129 "$ref": "#/definitions/InboundNatRule"
2130 },
2131 "description": "A list of inbound nat rules in a load balancer."
2132 },
2133 "nextLink": {
2134 "readOnly": true,
2135 "type": "string",
2136 "description": "The URL to get the next set of results."
2137 }
2138 },
2139 "description": "Response for ListInboundNatRule API service call."
2140 },
2141 "LoadBalancerBackendAddressPoolListResult": {
2142 "properties": {
2143 "value": {
2144 "type": "array",
2145 "items": {
2146 "$ref": "#/definitions/BackendAddressPool"
2147 },
2148 "description": "A list of backend address pools in a load balancer."
2149 },
2150 "nextLink": {
2151 "readOnly": true,
2152 "type": "string",
2153 "description": "The URL to get the next set of results."
2154 }
2155 },
2156 "description": "Response for ListBackendAddressPool API service call."
2157 },
2158 "LoadBalancerFrontendIPConfigurationListResult": {
2159 "properties": {
2160 "value": {
2161 "type": "array",
2162 "items": {
2163 "$ref": "#/definitions/FrontendIPConfiguration"
2164 },
2165 "description": "A list of frontend IP configurations in a load balancer."
2166 },
2167 "nextLink": {
2168 "readOnly": true,
2169 "type": "string",
2170 "description": "The URL to get the next set of results."
2171 }
2172 },
2173 "description": "Response for ListFrontendIPConfiguration API service call."
2174 },
2175 "LoadBalancerLoadBalancingRuleListResult": {
2176 "properties": {
2177 "value": {
2178 "type": "array",
2179 "items": {
2180 "$ref": "#/definitions/LoadBalancingRule"
2181 },
2182 "description": "A list of load balancing rules in a load balancer."
2183 },
2184 "nextLink": {
2185 "readOnly": true,
2186 "type": "string",
2187 "description": "The URL to get the next set of results."
2188 }
2189 },
2190 "description": "Response for ListLoadBalancingRule API service call."
2191 },
2192 "LoadBalancerOutboundRuleListResult": {
2193 "properties": {
2194 "value": {
2195 "type": "array",
2196 "items": {
2197 "$ref": "#/definitions/OutboundRule"
2198 },
2199 "description": "A list of outbound rules in a load balancer."
2200 },
2201 "nextLink": {
2202 "readOnly": true,
2203 "type": "string",
2204 "description": "The URL to get the next set of results."
2205 }
2206 },
2207 "description": "Response for ListOutboundRule API service call."
2208 },
2209 "LoadBalancerProbeListResult": {
2210 "properties": {
2211 "value": {
2212 "type": "array",
2213 "items": {
2214 "$ref": "#/definitions/Probe"
2215 },
2216 "description": "A list of probes in a load balancer."
2217 },
2218 "nextLink": {
2219 "readOnly": true,
2220 "type": "string",
2221 "description": "The URL to get the next set of results."
2222 }
2223 },
2224 "description": "Response for ListProbe API service call."
2225 },
2226 "TransportProtocol": {
2227 "type": "string",
2228 "description": "The transport protocol for the endpoint.",
2229 "enum": [
2230 "Udp",
2231 "Tcp",
2232 "All"
2233 ],
2234 "x-ms-enum": {
2235 "name": "TransportProtocol",
2236 "modelAsString": true
2237 }
2238 }
2239 }
2240}
View as plain text