name value type
id 17 int
network_type_id 1 int
name Inner space #52 string
net_cidr 10.239.0.0/16 cidr
vlan_id 1 int
mtu 1500 int (1500-9000)

Параметр net_cidr играет роль IP-pool данного экземпляра сети. Параметр mtu является необязательным; при его отсутствии будет использовано значение по-умолчанию 1500.

7.5.1. net-list()

Получение списка всех экземпляров сети в scope видимости запросившего пользователя (пользователь с ролью «Cluster master» видит все сети; остальные пользователи видят только сети, назначенные в vDC, в которых у пользователя есть любая роль)

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "net-list",
        "id":           "68d57726-dac2-11e9-ac47-a75083008659",
        "params":       {
                "vdc_id":       8
        }
}

Ответ:

{
   "id" : "68d57726-dac2-11e9-ac47-a75083008659",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : [
         {
            "creator" : 3,
            "id" : "30",
            "mtu" : 1500,
            "name" : "dNFS unix",
            "net_cidr" : "10.102.70.0/24",
            "network_type_id" : 2,
            "vlan_id" : 2060,
            "vxlan_multicast_addr" : null,
            "vxlan_port" : null
         },
         {
            "creator" : 3,
            "id" : "40",
            "mtu" : 1500,
            "name" : "WWW",
            "net_cidr" : "172.20.20.0/24",
            "network_type_id" : 2,
            "vlan_id" : 2062,
            "vxlan_multicast_addr" : null,
            "vxlan_port" : null
         },
         {
            "creator" : 2,
            "id" : "55",
            "mtu" : 1500,
            "name" : "XSCF network L26",
            "net_cidr" : "10.200.50.0/24",
            "network_type_id" : 1,
            "vlan_id" : null,
            "vxlan_multicast_addr" : "239.255.0.65",
            "vxlan_port" : 9009
         }
      ]
   }
}

При указании параметра objective возможно получение альтернативного варианта ответа:
Уровень 1: network_id

При указании параметра objective возможно получение альтернативного варианта ответа:
Уровень 1: network_id

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "net-list",
        "id":           "68d57348-dac2-11e9-ac47-a75083008659",
        "params":       {
                "objective":    101,
                "vdc_id":       8
        }
}

Ответ:

{
   "id" : "68d57348-dac2-11e9-ac47-a75083008659",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : {
         "30" : {
            "id" : 30,
            "mtu" : 1500,
            "name" : "dNFS unix",
            "net_cidr" : "10.102.70.0/24",
            "network_type_id" : 2,
            "vlan_id" : 2060
         },
         "40" : {
            "id" : 40,
            "mtu" : 1500,
            "name" : "WWW",
            "net_cidr" : "172.20.20.0/24",
            "network_type_id" : 2,
            "vlan_id" : 2062
         },
         "55" : {
            "id" : 55,
            "mtu" : 1500,
            "name" : "XSCF network L26",
            "net_cidr" : "10.200.50.0/24",
            "network_type_id" : 1,
            "vlan_id" : null
         }
      }
   }
}

7.5.2. nets-create()

Создание экземпляра сети; изолированные сети может создавать пользователь, которому назначена роль «vDC admin» в любом vDC.

Запрос (изолированная сеть):

{
        "jsonrpc":      "2.0",
        "method":       "nets-create",
        "id":           7013,
        "params": {
                "type":                 1,
                "name":                 "Сеть для iSCSI",
                "cidr":                 "192.168.100.0/24"
        }
}

Запрос (маршрутизируемая сеть):

{
        "jsonrpc":      "2.0",
        "method":       "nets-create",
        "id":           7014,
        "params": {
                "type":                 2,
                "name":                 "Сеть для AltaVault",
                "cidr":                 "192.168.202.0/24",
                "vlan_id":              80
        }
}

Ответ:

{
	"id":		7015,
	"jsonrpc":	"2.0",
	"result": {
		"code":	0,
		"data": {
			"message": "Network 29 created"
		},
		"id":	29
	}
}

7.5.3. nets-delete()

Удаление экземпляра сети

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "nets-delete",
        "id":           3002,
        "params":       {
                "id":   8
        }
}

Ответ:

{
	"id":		3002,
	"jsonrpc":	"2.0",
	"result": {
		"code": 0,
		"data": {
			"message" : "Network ID: 8 removed"
		},
		"id":	8
	}
}

7.5.4. net-ippool-usage()

net-ippool-usage: информация об использовании IP-pool сетей

Запрос:

{
	"jsonrpc":	"2.0",
	"method":	"net-ippool-usage",
	"id":		"0868871a-c119-11e9-8b86-9d6faace7a14"
}

Ответ:

{
   "id" : "0868871a-c119-11e9-8b86-9d6faace7a14",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : [
         {
            "address" : "10.52.31.2",
            "network_id" : 29,
            "vdc_id" : 8,
            "vm_id" : 132
         },
         {
            "address" : "10.52.31.3",
            "network_id" : 29,
            "vdc_id" : 8,
            "vm_id" : 133
         },
         {
            "address" : "10.102.70.26",
            "network_id" : 30,
            "vdc_id" : 8,
            "vm_id" : 131
         },
         {
            "address" : "10.102.70.27",
            "network_id" : 30,
            "vdc_id" : 8,
            "vm_id" : 134
         },
         {
            "address" : "172.20.20.2",
            "network_id" : 40,
            "vdc_id" : 8,
            "vm_id" : 89
         },
         {
            "address" : "172.20.20.3",
            "network_id" : 40,
            "vdc_id" : 8,
            "vm_id" : 90
         },
         {
            "address" : "192.168.250.2",
            "network_id" : 54,
            "vdc_id" : 8,
            "vm_id" : 101
         },
         {
            "address" : "192.168.250.3",
            "network_id" : 54,
            "vdc_id" : 8,
            "vm_id" : 102
         }
      ]
   }
}

Пользователь с ролью Cluster master может дополнительно в запросе указывать параметр vdc_id, что приведёт к наличию в ответе только сетей, назначенных в данный vDC. Остальные пользователи получают ответ из scope, ограниченного теми vDC, где у пользователя присутствует любая роль (тут можно использовать минимально-достаточную роль вместо любой).

Запрос:

{
	"jsonrpc":	"2.0",
	"method":	"net-ippool-usage",
	"id":		"0868871a-c119-11e9-8b86-9d6faace7a14",
	"params":	{
		"vdc_id":	8
	}
}

При указании параметра objective возможно получение альтернативного варианта ответа:
Уровень 1: network_id
Уровень 2: vdc_ud
Уровень 3: vm_id : IP address

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "net-ippool-usage",
        "id":           "26c4c7da-c314-11e9-bf1d-b6d9abce7a14",
        "params": {
                "objective":    1
        }
}

Ответ:

{
   "id" : "26c4c7da-c314-11e9-bf1d-b6d9abce7a14",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : {
         "2" : {
            "16" : {
               "129" : "10.100.0.3",
               "149" : "10.100.0.4",
               "150" : "10.100.0.5",
               "88" : "10.100.0.2"
            }
         },
         "26" : {
            "16" : {
               "128" : "172.16.17.2"
            }
         },
         "27" : {
            "2" : {
               "105" : "172.16.30.2"
            }
         },
         "29" : {
            "8" : {
               "132" : "10.52.31.2",
               "133" : "10.52.31.3"
            }
         },
         "3" : {
            "2" : {
               "100" : "10.0.20.7",
               "123" : "10.0.20.8",
               "124" : "10.0.20.9",
               "125" : "10.0.20.10",
               "135" : "10.0.20.11",
               "136" : "10.0.20.12",
               "137" : "10.0.20.13",
               "138" : "10.0.20.14",
               "139" : "10.0.20.15",
               "140" : "10.0.20.16",
               "141" : "10.0.20.17",
               "142" : "10.0.20.18",
               "143" : "10.0.20.19",
               "144" : "10.0.20.20",
               "145" : "10.0.20.21",
               "146" : "10.0.20.22",
               "147" : "10.0.20.23",
               "148" : "10.0.20.24",
               "91" : "10.0.20.2",
               "92" : "10.0.20.3",
               "93" : "10.0.20.4",
               "94" : "10.0.20.5",
               "99" : "10.0.20.6"
            }
         },
         "30" : {
            "2" : {
               "41" : "10.102.70.10",
               "42" : "10.102.70.20",
               "71" : "10.102.70.21",
               "72" : "10.102.70.22",
               "73" : "10.102.70.23",
               "74" : "10.102.70.24",
               "76" : "10.102.70.25"
            },
            "8" : {
               "131" : "10.102.70.26",
               "134" : "10.102.70.27"
            }
         },
         "40" : {
            "2" : {
               "130" : "172.20.20.4"
            },
            "8" : {
               "89" : "172.20.20.2",
               "90" : "172.20.20.3"
            }
         },
         "54" : {
            "8" : {
               "101" : "192.168.250.2",
               "102" : "192.168.250.3"
            }
         }
      }
   }
}

7.5.5. net-ippool-free()

Информация о количестве свободных IP-адресов в IP-pool

Запрос:

{
	"jsonrpc":	"2.0",
	"method":	"net-ippool-free",
	"id":		"a1cdc2ba-383f-11ea-8c80-fa66a3df8354"
}

Ответ:

{
   "id" : "a1cdc2ba-383f-11ea-8c80-fa66a3df8354",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : [
         {
            "free_addresses" : 249,
            "network_id" : 23,
            "network_name" : "Сеть для AltaVault"
         },
         {
            "free_addresses" : 506,
            "network_id" : 54,
            "network_name" : "SBM/CIFS for S3 gateway"
         },
         {
            "free_addresses" : 251,
            "network_id" : 40,
            "network_name" : "WWW"
         },
         {
            "free_addresses" : 229,
            "network_id" : 59,
            "network_name" : "Routed L26"
         },
         {
            "free_addresses" : 251,
            "network_id" : 30,
            "network_name" : "dNFS unix"
         },
         {
            "free_addresses" : 250,
            "network_id" : 55,
            "network_name" : "XSCF network L26"
         },
         {
            "free_addresses" : 11,
            "network_id" : 60,
            "network_name" : "28_bit_network"
         }
      ]
   }
}

При указании параметра objective возможно получение альтернативного варианта ответа:
Уровень 1: network_id

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "net-ippool-free",
        "id":           "a1cdc2ec-383f-11ea-8c80-fa66a3df8354",
        "params": {
                "objective":    "yo"
        }
}

Ответ:

{
   "id" : "a1cdc2ec-383f-11ea-8c80-fa66a3df8354",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : {
         "23" : {
            "free_addresses" : 249,
            "network_id" : 23,
            "network_name" : "Сеть для AltaVault"
         },
         "30" : {
            "free_addresses" : 251,
            "network_id" : 30,
            "network_name" : "dNFS unix"
         },
         "40" : {
            "free_addresses" : 251,
            "network_id" : 40,
            "network_name" : "WWW"
         },
         "54" : {
            "free_addresses" : 506,
            "network_id" : 54,
            "network_name" : "SBM/CIFS for S3 gateway"
         },
         "55" : {
            "free_addresses" : 250,
            "network_id" : 55,
            "network_name" : "XSCF network L26"
         },
         "59" : {
            "free_addresses" : 229,
            "network_id" : 59,
            "network_name" : "Routed L26"
         },
         "60" : {
            "free_addresses" : 11,
            "network_id" : 60,
            "network_name" : "28_bit_network"
         }
      }
   }
}