3.1.5.17.1.1.1 Request Body

The format for the request body for the VirtualGateways PUT method is as follows.

 {
   "resourceRef": "/VirtualGateways/VirtualGateway_1",
   "resourceId": "VirtualGateway_1",
   "properties": {
     "networkConnections": [
       {
         "resourceRef": "/VirtualGateways/VirtualGateway_1/NetworkConnections/VirtualGateway_1_IPSEC_1",
         "resourceId": "VirtualGateway_1_IPSEC_1",
         "properties": {
           "connectionType": "IPSec",
           "outboundKiloBitsPerSecond": 1000,
           "inboundKiloBitsPerSecond": 1000,
           "ipSecConfiguration": {
             "authenticationMethod": "PSK",
             "quickMode": {
               "perfectForwardSecrecy": "PFS2048",
               "cipherTransformationConstant": "DES3",
               "authenticationTransformationConstant": "SHA256128",
               "idleDisconnectSeconds": 500,
               "saLifeTimeSeconds": 1233,
               "saLifeTimeKiloBytes": 2000
             },
             "mainMode": {
               "diffieHellmanGroup": "Group2",
               "encryptionAlgorithm": "AES256",
               "integrityAlgorithm": "SHA256",
               "saLifeTimeSeconds": 1234,
               "saLifeTimeKiloBytes": 2000
             },
             "localVpnTrafficSelector": [],
             "remoteVpnTrafficSelector": []
           },
           "l3Configuration": {},
           "ipAddresses": [],
           "peerIPAddresses": [],
           "routes": [
             {
               "destinationPrefix": "50.1.1.0/24",
               "nextHop": "0.0.0.0",
               "metric": 10,
               "protocol": "Static"
             },
             {
               "destinationPrefix": "40.1.1.4/32",
               "nextHop": "0.0.0.0",
               "metric": 10,
               "protocol": "Static"
             }
           ],
           "connectionStatus": "Enabled",
           "destinationIPAddress": "11.1.0.1",
         }
       },
       {
         "resourceRef": "/VirtualGateways/VirtualGateway_1/NetworkConnections/VirtualGateway_1_Gre_1",
         "resourceId": "VirtualGateway_1_Gre_1",
         "properties": {
           "connectionType": "GRE",
           "outboundKiloBitsPerSecond": 1000,
           "inboundKiloBitsPerSecond": 1000,
           "greConfiguration": {
             "greKey": "1234"
           },
           "l3Configuration": {},
           "ipAddresses": [],
           "peerIPAddresses": [],
           "routes": [
             {
               "destinationPrefix": "50.1.2.0/24",
               "nextHop": "0.0.0.0",
               "metric": 10,
               "protocol": "Static"
             },
             {
               "destinationPrefix": "40.1.2.4/32",
               "nextHop": "0.0.0.0",
               "metric": 10,
               "protocol": "Static"
             }
           ],
           "connectionStatus": "Enabled",
           "destinationIPAddress": "11.1.0.2",
         }
       },
       {
         "resourceRef": "/VirtualGateways/VirtualGateway_1/NetworkConnections/VirtualGateway_1_L3_1",
         "resourceId": "VirtualGateway_1_L3_1",
         "properties": {
           "connectionType": "L3",
           "outboundKiloBitsPerSecond": 1000,
           "inboundKiloBitsPerSecond": 1000,
           "l3Configuration": {
             "vlanSubnet": {
               "resourceRef": "/logicalNetworks/LogicalNetwork_VG_1/subnets/LogicalNetwork_VG_1_Subnet_1"
             }
           },
           "ipAddresses": [
             {
               "ipAddress": "31.1.1.4",
               "prefixLength": 24
             }
           ],
           "peerIPAddresses": [
             "31.1.1.5"
           ],
           "routes": [
             {
               "destinationPrefix": "50.1.3.0/24",
               "nextHop": "0.0.0.0",
               "metric": 10,
               "protocol": "Static"
             },
             {
               "destinationPrefix": "40.1.3.4/32",
               "nextHop": "0.0.0.0",
               "metric": 10,
               "protocol": "Static"
             }
           ],
           "connectionStatus": "Enabled",
         }
       }
     ],
     "bgpRouters": [
       {
         "resourceRef": "/VirtualGateways/VirtualGateway_1/BgpRouters/router1",
         "resourceId": "router1",
         "properties": {
           "isEnabled": true,
           "requireIgpSync": true,
           "extAsNumber": "0.3458",
           "routerId": "10.1.1.1",
           "routerIP": [
             "10.1.1.1"
           ],
           "isGenerated": false,
           "bgpPeers": [
             {
               "resourceRef": "/VirtualGateways/VirtualGateway_1/BgpRouters/router1/BgpPeers/Peer1",
               "resourceId": "Peer1",
               "etag": "W/\"8d23a02c-3465-41b5-afdb-644272787bae\"",
               "instanceId": "f7d8724b-7be9-46f4-882f-5c37ef4143e8",
               "properties": {
                 "provisioningState": "Succeeded",
                 "asNumber": "1236",
                 "extAsNumber": "0.1236",
                 "peerIpAddress": "40.1.1.4",
                 "addressFamily": "IPv4",
                 "policyMapIn": {
                   "resourceRef": "/VirtualGateways/VirtualGateway_1/PolicyMaps/MAP1"
                 },
                 "policyMapOut": {
                   "resourceRef": "/VirtualGateways/VirtualGateway_1/PolicyMaps/MAP1"
                 },
                 "isGenerated": false
               }
             },
           ],
         }
       }
     ],
     "policyMaps": [
       {
         "resourceRef": "/VirtualGateways/VirtualGateway_1/PolicyMaps/MAP1",
         "resourceId": "MAP1",
         "etag": "W/\"e4b527be-c107-4de2-bc83-9985de964168\"",
         "instanceId": "c8b34df3-cc7b-4eab-9ccf-97512e6014a9",
         "properties": {
           "provisioningState": "Succeeded",
           "bgpPeersWithPolicyMapIn": [
             {
               "resourceRef": "/VirtualGateways/VirtualGateway_1/BgpRouters/router1/BgpPeers/Peer1"
             }
           ],
           "bgpPeersWithPolicyMapOut": [
             {
               "resourceRef": "/VirtualGateways/VirtualGateway_1/BgpRouters/router1/BgpPeers/Peer1"
             }
           ],
           "policyMapEntryList": [
             {
               "action": "Deny",
               "matchCriteria": [
                 {
                   "property": "MatchPrefix",
                   "value": [
                     "5.4.3.2/32",
                     "5.4.3.1/32"
                   ]
                 },
                 {
                   "property": "NextHop",
                   "value": [
                     "4.3.2.1",
                     "6.4.3.1"
                   ]
                 }
               ],
               "setActions": []
             },
             {
               "action": "Permit",
               "matchCriteria": [
                 {
                   "property": "AsnRange",
                   "value": [
                     "123",
                     "345"
                   ]
                 },
                 {
                   "property": "Community",
                   "value": [
                     "1:1",
                     "2:2"
                   ]
                 }
               ],
               "setActions": []
             }
           ]
         }
       }
     ],
     "routingType": "Dynamic",
     "GatewayPools": [
       {
         "resourceRef": "/GatewayPools/default"
       }
     ],
     "gatewaySubnets": [
       {
         "resourceRef": "/virtualNetworks/00000000-1111-0000-0001-000000000000/subnets/00000000-1111-1111-0001-000000000001"
       }
     ]
   }
 }

The JSON schema for the VirtualGateways PUT method is located in section 6.15.1.