Skip to content

7.5 Экземпляр сети

Описание объекта Экземпляр сети представлено в таблице ниже.

Таблица 1. Описание объекта Экземпляр сети
namevaluetype
id17int
network_type_id1int
nameInner space #52string
net_cidr10.239.0.0/16cidr
default_gw10.239.0.1inet
vlan_id1int
mtu1500int (1500-9000)

Параметр net_cidr играет роль пула IP-адресов данного экземпляра сети.

Параметр MTU является необязательным, при его отсутствии будет использовано значение по умолчанию 1500.

Параметр default_gw представляет собой значение маршрута по умолчанию для портов этой сети.

Методы

7.5.1 net-list()

Данный метод позволяет получить список всех экземпляров сети в пределах видимости запросившего пользователя (пользователь с ролью Суперадмина видит все сети. Остальные пользователи видят только сети в тех ВЦОД, в которых им назначена какая-либо роль).

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "net-list",
        "id":           "e3eaa494-9a59-11ee-b778-103379a977b0"
}

Ответ:

{
   "id" : "e3eaa494-9a59-11ee-b778-103379a977b0",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : [
      {
            "backend" : 2,
            "creator" : 1,
            "gw" : "10.78.27.1",
            "id" : "101",
            "mtu" : 1500,
            "name" : "Q9 routed L26",
            "net_cidr" : "10.78.27.0/24",
            "network_type_id" : 2,
            "vlan_id" : 2070,
            "vxlan_multicast_addr" : "239.248.77.79",
            "vxlan_port" : null
         },
         {
            "backend" : 2,
            "creator" : 1,
            "gw" : "10.100.200.1",
            "id" : "102",
            "mtu" : 9000,
            "name" : "Q9 local",
            "net_cidr" : "10.100.200.0/22",
            "network_type_id" : 1,
            "vlan_id" : null,
            "vxlan_multicast_addr" : "239.248.77.79",
            "vxlan_port" : 9009
         },
         {
            "backend" : 2,
            "creator" : 1,
            "gw" : "10.110.200.1",
            "id" : "103",
            "mtu" : 3000,
            "name" : "test mtu",
            "net_cidr" : "10.110.200.0/24",
            "network_type_id" : 1,
            "vlan_id" : null,
            "vxlan_multicast_addr" : "239.248.77.79",
            "vxlan_port" : 9009
         }
      ]
   }
}

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

Уровень 1: network_id

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "net-list",
        "id":           "e726c166-9a58-11ee-bfaf-76fa79a977b0",
    "params": {
        "objective": 1
    }
}

Ответ:

{
   "id" : "e726c166-9a58-11ee-bfaf-76fa79a977b0",
   "jsonrpc" : "2.0",
   "result" : {
      "code" : 1,
      "data" : {
         "101" : {
            "GW" : "10.78.27.1",
            "backend" : 2,
            "id" : 101,
            "mtu" : 1500,
            "name" : "Q9 routed L26",
            "net_cidr" : "10.78.27.0/24",
            "network_type_id" : 2,
            "vlan_id" : 2070
         },
         "102" : {
            "GW" : "10.100.200.1",
            "backend" : 2,
            "id" : 102,
            "mtu" : 9000,
            "name" : "Q9 local",
            "net_cidr" : "10.100.200.0/22",
            "network_type_id" : 1,
            "vlan_id" : null
         },
         "103" : {
            "GW" : "10.110.200.1",
            "backend" : 2,
            "id" : 103,
            "mtu" : 3000,
            "name" : "test mtu",
            "net_cidr" : "10.110.200.0/24",
            "network_type_id" : 1,
            "vlan_id" : null
         }
      }
   }
}

7.5.2 nets-create()

С помощью nets-create() можно создать экземпляр сети.

Изолированные сети может создавать пользователь, которому назначена роль Админа ВЦОД в любом ВЦОД.

Параметр default_gw является опциональным. При отсутствии этого параметра для сети будет использоваться первый свободный IP-адрес.

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

{
        "jsonrpc":      "2.0",
        "method":       "nets-create",
        "id":           "bd555b58-ab9e-11ed-9568-7e7c4f83c07e",
        "params": {
                "type":                 1,
                "name":                 "Сеть для iSCSI",
                "cidr":                 "192.168.100.0/24",
        "default_gw":       "192.168.100.1"
        }
}

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

{
        "jsonrpc":      "2.0",
        "method":       "nets-create",
        "id":           "bd555b58-ab9e-11ed-9568-7e7c4f83c07e",
        "params": {
                "type":                 2,
                "name":                 "Сеть для AltaVault",
                "cidr":                 "192.168.202.0/24",
        "default_gw":       "192.168.100.254",
                "vlan_id":              80
        }
}

Ответ:

{
    "id":       "bd555b58-ab9e-11ed-9568-7e7c4f83c07e",
    "jsonrpc":  "2.0",
    "result": {
        "code": 0,
        "data": {
            "message": "Network 29 created"
        },
        "id":   29
    }
}

7.5.3 nets-delete()

nets-delete() позволяет удалить экземпляр сети.

Запрос:

{
        "jsonrpc":      "2.0",
        "method":       "nets-delete",
        "id":           "d13c3fb0-ab9e-11ed-931c-607d4f83c07e",
        "params":       {
                "id":   8
        }
}

Ответ:

{
    "id":       "d13c3fb0-ab9e-11ed-931c-607d4f83c07e",
    "jsonrpc":  "2.0",
    "result": {
        "code": 0,
        "data": {
            "message" : "Network ID: 8 removed"
        },
        "id":   8
    }
}

7.5.4 net-ippool-usage()

С помощью данного метода можно получить информацию об использовании пула IP-адресов сетей.

Запрос:

{
    "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
         }
      ]
   }
}

Суперадмин может дополнительно указывать в запросе параметр vdc_id, тогда в ответе будут сети, назначенные в данный ВЦОД. Ответ для остальных пользователей будет ограничен теми ВЦОД, где у них назначена минимально достаточная или какая-либо роль.

Запрос:

{
    "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-адресов.

Запрос:

{
    "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"
         }
      }
   }
}