threefoldtech / home

Starting point for the threefoldtech organization
https://threefold.io
Apache License 2.0
9 stars 4 forks source link

GE: add access to network #784

Closed hteibler closed 4 years ago

hteibler commented 4 years ago

please help

this is not working: just created a new wg-config with:

zos = j.sal.zosv2
ipv4_gateway='CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4'
gwnode = j.clients.explorer.explorer.nodes.get(ipv4_gateway)
network=j.clients.explorer.explorer.reservations.get(9889) 
n0=network.data_reservation.networks[0] 
wg_config = zos.network.add_access(n0, gwnode.node_id, '10.100.254.0/24', ipv4=True)

the result is nearly the same as the old one only the private keys is different

hteibler commented 4 years ago

tried this:


    wg_config1 = zos.network.add_access(network, gwnode.node_id, overlay_network_pre+'254.0/24', ipv4=True)
    wg_config2 = zos.network.add_access(network, gwnode.node_id, overlay_network_pre+'253.0/24', ipv4=True)
    wg_config3 = zos.network.add_access(network, gwnode.node_id, overlay_network_pre+'252.0/24', ipv4=True)
    wg_config4 = zos.network.add_access(network, gwnode.node_id, overlay_network_pre+'251.0/24', ipv4=True)

but now none of these wg configs works

zaibon commented 4 years ago

but now none of these wg configs works

Can you define what is "not working"

Also, after you execute the zos.network.add_access. Did you register the reservation again to deploy the new network topology in the field ?

hteibler commented 4 years ago

please provide a code snipped, how to do

zaibon commented 4 years ago

It's like any normal reservation zos.reservation_register(reservation, expiration)

weynandkuijpers commented 4 years ago

So this should do the job to add 4 p2p connections?

me = j.myidentities.default
zos = j.sal.zosv2
r = zos.reservation_create()

ipv4_gateway='CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4'
gwnode = j.clients.explorer.explorer.nodes.get(ipv4_gateway)

# retrieve existing network definition
network=j.clients.explorer.explorer.reservations.get(9889) 
# retrieve existing network reservation
n0=network.data_reservation.networks[0] 

# add new WG p2p tunnel to existing network reservation
wg_config1 = zos.network.add_access(n0, gwnode.node_id, '10.100.254.0/24', ipv4=True)
wg_config2 = zos.network.add_access(n0, gwnode.node_id, '10.100.253.0/24', ipv4=True)
wg_config3= zos.network.add_access(n0, gwnode.node_id, '10.100.252.0/24', ipv4=True)
wg_config4 = zos.network.add_access(n0, gwnode.node_id, '10.100.251.0/24', ipv4=True)

# define new reservation period
reservation_period=(8*7*24*60*60)
expiration = j.data.time.epoch + reservation_period

# reapply the reservation 
rid = zos.reservation_register(n0, expiration, identity=me)
result = zos.reservation_result(rid)
print("provisioning result")
print(result)
zaibon commented 4 years ago

@weynandkuijpers That's nearly it. You are not passing the network object to the reservation_register method instead of the reservation itelf. Corrected code:

me = j.myidentities.default
zos = j.sal.zosv2

gwnodeid = 'CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4'

# retrieve existing network definition
reservation=j.clients.explorer.explorer.reservations.get(9889) 
# retrieve existing network reservation
n0 = reservation.data_reservation.networks[0] 

# add new WG p2p tunnel to existing network reservation
wg_config1 = zos.network.add_access(n0, gwnodeid, '10.100.254.0/24', ipv4=True)
wg_config2 = zos.network.add_access(n0, gwnodeid, '10.100.253.0/24', ipv4=True)
wg_config3= zos.network.add_access(n0, gwnodeid, '10.100.252.0/24', ipv4=True)
wg_config4 = zos.network.add_access(n0, gwnodeid, '10.100.251.0/24', ipv4=True)

# reapply the reservation 
rid = zos.reservation_register(reservation, reservation.data_reservation.expiration_reservation, identity=me)
result = zos.reservation_result(rid)
print("provisioning result")
print(result)
hteibler commented 4 years ago

errors

JSX>                                                                                                                                                                                             
JSX> me = j.myidentities.default                                                                                                                                                                 
Fri 19 18:49:38 cdb/BCDBModelBase.py -  31 - _triggers_call                     : EXCEPTION: 
    TypeError("_update_data() got an unexpected keyword argument 'kosmosinstance'")
--TRACEBACK------------------
<stdin> in <module>
    1    
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/Attr.py in __getattr__
    35    r = self._get(name=name, die=False)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in _get
    179    res = self.find(name=name)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in find
    263    item = self.get(id=id, reload=reload)
/sandbox/lib/jumpscale/Jumpscale/me/MyIdentities.py in get
    81    return j.baseclasses.object_config_collection.get(self, name=name, id=id, autosave=False, **kwargs)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in get
    116    jsconfig = self._get(name=name, id=id, die=needexist, reload=reload)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in _get
    169    obj = self._model.get(id)
/sandbox/lib/jumpscale/Jumpscale/clients/bcdb/BCDBModelClient.py in get
    40    obj, stop = self._triggers_call(obj=obj, action="get")
/sandbox/lib/jumpscale/Jumpscale/data/bcdb/BCDBModelBase.py in _triggers_call
    31    obj2 = method(model=model, obj=obj, kosmosinstance=kosmosinstance, action=action, propertyname=propertyname)
-----------------------------

Fri 19 18:49:38 cdb/BCDBModelBase.py -  31 - _triggers_call                     : EXCEPTION: 
    TypeError("_update_data() got an unexpected keyword argument 'kosmosinstance'")
--TRACEBACK------------------
<stdin> in <module>
    1    
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/Attr.py in __getattr__
    35    r = self._get(name=name, die=False)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in _get
    179    res = self.find(name=name)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in find
    263    item = self.get(id=id, reload=reload)
/sandbox/lib/jumpscale/Jumpscale/me/MyIdentities.py in get
    81    return j.baseclasses.object_config_collection.get(self, name=name, id=id, autosave=False, **kwargs)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in get
    116    jsconfig = self._get(name=name, id=id, die=needexist, reload=reload)
/sandbox/lib/jumpscale/Jumpscale/core/BASECLASSES/JSConfigsBCDB.py in _get
    169    obj = self._model.get(id)
/sandbox/lib/jumpscale/Jumpscale/clients/bcdb/BCDBModelClient.py in get
    40    obj, stop = self._triggers_call(obj=obj, action="get")
/sandbox/lib/jumpscale/Jumpscale/data/bcdb/BCDBModelBase.py in _triggers_call
    31    obj2 = method(model=model, obj=obj, kosmosinstance=kosmosinstance, action=action, propertyname=propertyname)
-----------------------------

_update_data() got an unexpected keyword argument 'kosmosinstance'
JSX>  

SX>                                                                                                                                                                                             
JSX> j.myidentities                                                                                                                                                                              
## myidentities MyIdentities

### children:
 - default

### properties:
 - box                  : b'22be23b8ab62881c410dc007d9cd7923'
 - me                   : ERROR ATTRIBUTE
 - secret               : b'22be23b8ab62881c410dc007d9cd7923'
 - secret_expiration_hours : 8640

JSX>  
hteibler commented 4 years ago

error

assuming: me = j.me

JSX> me = j.me                                                                                                                                                                                   
JSX> rid = zos.reservation_register(reservation, reservation.data_reservation.expiration_reservation, identity=me)                                                                               
Fri 19 18:51:21 n3.7/json/encoder.py - 179 - default                            : EXCEPTION: 
    TypeError('Object of type bytes is not JSON serializable')
--TRACEBACK------------------
<stdin> in <module>
    1    
/sandbox/lib/jumpscale/JumpscaleLibs/sal/zosv2/ZOSv2.py in reservation_register
    123    return self._explorer.reservations.create(reservation)
/sandbox/lib/jumpscale/JumpscaleLibs/clients/explorer/reservations.py in create
    16    resp = self._session.post(self._base_url, json=reservation._ddict)
/usr/local/lib/python3.7/dist-packages/requests/sessions.py in post
    578    return self.request('POST', url, data=data, json=json, **kwargs)
/usr/local/lib/python3.7/dist-packages/requests/sessions.py in request
    516    prep = self.prepare_request(req)
/usr/local/lib/python3.7/dist-packages/requests/sessions.py in prepare_request
    459    hooks=merge_hooks(request.hooks, self.hooks),
/usr/local/lib/python3.7/dist-packages/requests/models.py in prepare
    317    self.prepare_body(data, files, json)
/usr/local/lib/python3.7/dist-packages/requests/models.py in prepare_body
    467    body = complexjson.dumps(json)
/usr/lib/python3.7/json/__init__.py in dumps
    231    return _default_encoder.encode(obj)
/usr/lib/python3.7/json/encoder.py in encode
    199    chunks = self.iterencode(o, _one_shot=True)
/usr/lib/python3.7/json/encoder.py in iterencode
    257    return _iterencode(o, 0)
/usr/lib/python3.7/json/encoder.py in default
    179    raise TypeError(f'Object of type {o.__class__.__name__} '
-----------------------------

Fri 19 18:51:21 n3.7/json/encoder.py - 179 - default                            : EXCEPTION: 
    TypeError('Object of type bytes is not JSON serializable')
--TRACEBACK------------------
<stdin> in <module>
    1    
/sandbox/lib/jumpscale/JumpscaleLibs/sal/zosv2/ZOSv2.py in reservation_register
    123    return self._explorer.reservations.create(reservation)
/sandbox/lib/jumpscale/JumpscaleLibs/clients/explorer/reservations.py in create
    16    resp = self._session.post(self._base_url, json=reservation._ddict)
/usr/local/lib/python3.7/dist-packages/requests/sessions.py in post
    578    return self.request('POST', url, data=data, json=json, **kwargs)
/usr/local/lib/python3.7/dist-packages/requests/sessions.py in request
    516    prep = self.prepare_request(req)
/usr/local/lib/python3.7/dist-packages/requests/sessions.py in prepare_request
    459    hooks=merge_hooks(request.hooks, self.hooks),
/usr/local/lib/python3.7/dist-packages/requests/models.py in prepare
    317    self.prepare_body(data, files, json)
/usr/local/lib/python3.7/dist-packages/requests/models.py in prepare_body
    467    body = complexjson.dumps(json)
/usr/lib/python3.7/json/__init__.py in dumps
    231    return _default_encoder.encode(obj)
/usr/lib/python3.7/json/encoder.py in encode
    199    chunks = self.iterencode(o, _one_shot=True)
/usr/lib/python3.7/json/encoder.py in iterencode
    257    return _iterencode(o, 0)
/usr/lib/python3.7/json/encoder.py in default
    179    raise TypeError(f'Object of type {o.__class__.__name__} '
-----------------------------

Object of type bytes is not JSON serializable
JSX>  
hteibler commented 4 years ago

data

JSX> reservation.data_reservation.expiration_reservation                                                                                                                                         
1625011200

JSX> reservation                                                                                                                                                                                 
## tfgrid.workloads.reservation.1
ID: 9988
 - json                : {"description": "", "signing_request_provision": {"signers": [], "quorum_min": 0}, "signing_request_delete": {"signers": [130], "quorum_min": 1}, "containers": [], "volumes": [], "zdbs": [], "networks": [{"name": "test6-vie1", "workload_id": 1, "iprange": "10.76.0.0/16", "stats_aggregator": [], "network_resources": [{"node_id": "DAENgzAf2WSQzYtBwDxQ8ZwYdhkzLhekHx5B2PYrMMn9", "wireguard_private_key_encrypted": "75d70bcacbf038bf2f0d74a4f4c9a96674842b849c03709575cad1b38b0b131b9a98f6802a3239041d177617fd896b45acb89d7587634b9cc8d4c5619a73a5d5f72fcf7eab504480c1c0f22d173693efa9380fd05d0702ac3c643342", "wireguard_public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "wireguard_listen_port": 4006, "iprange": "10.76.10.0/24", "peers": [{"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "BXAhrkiHwjcwytysewndjStdt4sf3vnz52jBegpzaAgT", "wireguard_private_key_encrypted": "d2a3827d0c5324b0ba7d6b72d832f583d801e946f4d2a5427b635979c225e16b660b52e25f6612176277a84a7cd2bd8b312d42946c64238685eb050b34c615b6da841ceb52352da6ac09e0d3318cc31966153a7b0edd7d4fa299ded2", "wireguard_public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "wireguard_listen_port": 5749, "iprange": "10.76.11.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "8TZdSPEUC8gACaNacQDFRiskiUeDxjmLm3mTUDoRaStg", "wireguard_private_key_encrypted": "d226824a2afcba1aaf17f3b49a619100669f0df728a09283d2d6ebc277710f552ebaa575ac9f51e8b934d294c5bc6e07791f851dde3a31f9f5496b4c74a2d7a68c01179705876f5409fb99cfb55aee8673ca76e9e759de5bf5bbdc5f", "wireguard_public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "wireguard_listen_port": 2546, "iprange": "10.76.12.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "37ZtYckRA47d8FW7GkUxtbCLLMFKa68KZp5UAGZmgfFW", "wireguard_private_key_encrypted": "79ee435590de2ee825c01ed34ad1df11a594205632bfc08ad4c75ce7bc8c6065e482874dd7a5e4ddcb7619a69e7f0c6b550b56329feb2afd3c718db42cb8c4607e5999a85047a44eb9469204f9dd020b2a2a7245306cc7bc382c8507", "wireguard_public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "wireguard_listen_port": 7309, "iprange": "10.76.13.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "34ntrA2d9Nvc4zFrZVnmNXMkawNj4xvfxzGppUeZwQrU", "wireguard_private_key_encrypted": "d9cd32a41f721ac66fbd66dc255e96b487e600aa88f4db7de412ebbc19e1a5133486bffe55ea1ab8b530327154baa12327df2099fe3e9c16a9fd8b59c028a6a6781e2009c43f47225ce8a1ffe0825a1dc58ddc97eb0b4d9da202cb1a", "wireguard_public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "wireguard_listen_port": 5392, "iprange": "10.76.14.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "HnfiAFsUedqRdpdccj9BeKDuZsevpaDQuAWrHP9MHiZU", "wireguard_private_key_encrypted": "1fef31e21f397ae6f94d8678b5f81fbab19a99c05c34ec5007d15d415495b86161b59f3bf8516130f0c22837f02d067c6c5297cc92b1c9bf4d8afd246144d583cd220eb25f4da0a367b78cf216ccad4d5c5006ddebf75b6c5c9f437f", "wireguard_public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "wireguard_listen_port": 7922, "iprange": "10.76.15.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "D7jPRCSe3FeMNs3pdq96DcdLmmqjiaRfQS465aB82xGQ", "wireguard_private_key_encrypted": "c3ad14f1d21e18e64c1465cdb30d4782581363822533174a88238a4e097f787c64db0657baa97cecc328ead1d640c969b1bba160cd94380b8f20237f25cbd98e0300dc9896d25ba8ec46201d8bcd53737b13ea69ec07d578f5c805b3", "wireguard_public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "wireguard_listen_port": 8574, "iprange": "10.76.16.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "FS2bpZSpnHgs35hz3NYVLYfFmLjKffsrrRYjW8ntkoNh", "wireguard_private_key_encrypted": "66d2f0a93bcbd5e70ab462b8642fc2c0838edcdcdd30e02c187ab75dd676096f8813535f2dac6869d7034eb385efec0a0dfe7478c28c655b9415ca4f50ee83be2da2bcf371d89e53eb180b98f498da5167d5aed9ebcf5a52e684f2a4", "wireguard_public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "wireguard_listen_port": 2978, "iprange": "10.76.17.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "GzXndGfaG82B2J9nu85GGZ3XjufZDENvmVub1oaAc7RZ", "wireguard_private_key_encrypted": "1e44f707d97ba8e4d5992bf3e7e7e27b2b3e595cd856a3de42b5cc131de6055d9472b5eb5fa1e0f2a44885031180988f33178cad890d48bcc52ce128ea61d8e7392b11cb1a344cfc80138da711a88a735b617d247ff1eb3737f27fb8", "wireguard_public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "wireguard_listen_port": 3143, "iprange": "10.76.18.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "allowed_iprange": ["10.76.19.0/24", "100.64.76.19/32", "10.76.254.0/24", "100.64.76.254/32", "10.76.201.0/24", "100.64.76.201/32"], "endpoint": "[2a02:1802:5e:0:1102::1]:4310", "iprange": "10.76.19.0/24"}]}, {"node_id": "CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4", "wireguard_private_key_encrypted": "6ebaefec396254bdd05356becc3e57a8c5f3745249c63a361a277a36499fc266ce720cb0490093773da361c3b70f8630bfdc15876b70ea093af4e8535157676435f5a542eeb8a4cc873097f2b83164da857eb68f5ed4f082ec2878d9", "wireguard_public_key": "6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=", "wireguard_listen_port": 4310, "iprange": "10.76.19.0/24", "peers": [{"public_key": "1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=", "allowed_iprange": ["10.76.10.0/24", "100.64.76.10/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006", "iprange": "10.76.10.0/24"}, {"public_key": "MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=", "allowed_iprange": ["10.76.11.0/24", "100.64.76.11/32"], "endpoint": "[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749", "iprange": "10.76.11.0/24"}, {"public_key": "7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=", "allowed_iprange": ["10.76.12.0/24", "100.64.76.12/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546", "iprange": "10.76.12.0/24"}, {"public_key": "7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=", "allowed_iprange": ["10.76.13.0/24", "100.64.76.13/32"], "endpoint": "[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309", "iprange": "10.76.13.0/24"}, {"public_key": "rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=", "allowed_iprange": ["10.76.14.0/24", "100.64.76.14/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392", "iprange": "10.76.14.0/24"}, {"public_key": "zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=", "allowed_iprange": ["10.76.15.0/24", "100.64.76.15/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922", "iprange": "10.76.15.0/24"}, {"public_key": "1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=", "allowed_iprange": ["10.76.16.0/24", "100.64.76.16/32"], "endpoint": "[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574", "iprange": "10.76.16.0/24"}, {"public_key": "YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=", "allowed_iprange": ["10.76.17.0/24", "100.64.76.17/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978", "iprange": "10.76.17.0/24"}, {"public_key": "gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=", "allowed_iprange": ["10.76.18.0/24", "100.64.76.18/32"], "endpoint": "[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143", "iprange": "10.76.18.0/24"}, {"public_key": "B2ceUU7zSboVzR/BvzX1EWqujXfFmipMNEUh68WoK3s=", "allowed_iprange": ["10.76.254.0/24", "100.64.76.254/32"], "endpoint": "", "iprange": "10.76.254.0/24"}, {"public_key": "kL+tQ2sj0SI4ztik0411M9UHulbPNwJkqtkrouhZxB4=", "allowed_iprange": ["10.76.201.0/24", "100.64.76.201/32"], "endpoint": "", "iprange": "10.76.201.0/24"}]}], "farmer_tid": 2147483647}], "kubernetes": [], "proxies": [], "reverse_proxies": [], "subdomains": [], "domain_delegates": [], "gateway4to6": [], "expiration_provisioning": 1592593581, "expiration_reservation": 1625011200, "currencies": ["TFT"]}

    ## tfgrid.workloads.reservation.data.1
     - description         :

        ## tfgrid.workloads.reservation.signing.request.1
         - signers             : []
         - quorum_min          : 0

        ## tfgrid.workloads.reservation.signing.request.1
         - signers             : ['130']
         - quorum_min          : 1

     - containers          : []
     - volumes             : []
     - zdbs                : []
     - networks            :
        - name: test6-vie1    - workload_id: 1    - iprange: 10.76.0.0/16    - stats_aggregator: []    - network_resources: [{'node_id': 'DAENgzAf2WSQzYtBwDxQ8ZwYdhkzLhekHx5B2PYrMMn9',
        'wireguard_private_key_encrypted': '75d70bcacbf038bf2f0d74a4f4c9a96674842b849c03709575cad1b38b0b131b9a98f6802a3239041d177617fd896b45acb89d7587634b9cc8d4c5619a73a5d5f72fcf7eab50
        4480c1c0f22d173693efa9380fd05d0702ac3c643342', 'wireguard_public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'wireguard_listen_port': '4,006', 'iprange':
        '10.76.10.0/24', 'peers': [{'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24', '100.64.76.11/32'], 'endpoint':
        '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=', 'allowed_iprange': ['10.76.12.0/24',
        '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key': '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=',
        'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange': '10.76.13.0/24'}, {'public_key':
        'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange':
        '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24', '100.64.76.15/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=', 'allowed_iprange': ['10.76.16.0/24',
        '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=',
        'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange': '10.76.17.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': 'BXAhrkiHwjcwytysewndjStdt4sf3vnz52jBegpzaAgT',
        'wireguard_private_key_encrypted': 'd2a3827d0c5324b0ba7d6b72d832f583d801e946f4d2a5427b635979c225e16b660b52e25f6612176277a84a7cd2bd8b312d42946c64238685eb050b34c615b6da841ceb5235
        2da6ac09e0d3318cc31966153a7b0edd7d4fa299ded2', 'wireguard_public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'wireguard_listen_port': '5,749', 'iprange':
        '10.76.11.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=', 'allowed_iprange': ['10.76.12.0/24',
        '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key': '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=',
        'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange': '10.76.13.0/24'}, {'public_key':
        'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange':
        '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24', '100.64.76.15/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=', 'allowed_iprange': ['10.76.16.0/24',
        '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=',
        'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange': '10.76.17.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': '8TZdSPEUC8gACaNacQDFRiskiUeDxjmLm3mTUDoRaStg',
        'wireguard_private_key_encrypted': 'd226824a2afcba1aaf17f3b49a619100669f0df728a09283d2d6ebc277710f552ebaa575ac9f51e8b934d294c5bc6e07791f851dde3a31f9f5496b4c74a2d7a68c0117970587
        6f5409fb99cfb55aee8673ca76e9e759de5bf5bbdc5f', 'wireguard_public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=', 'wireguard_listen_port': '2,546', 'iprange':
        '10.76.12.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=',
        'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange': '10.76.13.0/24'}, {'public_key':
        'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange':
        '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24', '100.64.76.15/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=', 'allowed_iprange': ['10.76.16.0/24',
        '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=',
        'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange': '10.76.17.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': '37ZtYckRA47d8FW7GkUxtbCLLMFKa68KZp5UAGZmgfFW',
        'wireguard_private_key_encrypted': '79ee435590de2ee825c01ed34ad1df11a594205632bfc08ad4c75ce7bc8c6065e482874dd7a5e4ddcb7619a69e7f0c6b550b56329feb2afd3c718db42cb8c4607e5999a85047
        a44eb9469204f9dd020b2a2a7245306cc7bc382c8507', 'wireguard_public_key': '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=', 'wireguard_listen_port': '7,309', 'iprange':
        '10.76.13.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=',
        'allowed_iprange': ['10.76.12.0/24', '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key':
        'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange':
        '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24', '100.64.76.15/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=', 'allowed_iprange': ['10.76.16.0/24',
        '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=',
        'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange': '10.76.17.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': '34ntrA2d9Nvc4zFrZVnmNXMkawNj4xvfxzGppUeZwQrU',
        'wireguard_private_key_encrypted': 'd9cd32a41f721ac66fbd66dc255e96b487e600aa88f4db7de412ebbc19e1a5133486bffe55ea1ab8b530327154baa12327df2099fe3e9c16a9fd8b59c028a6a6781e2009c43f
        47225ce8a1ffe0825a1dc58ddc97eb0b4d9da202cb1a', 'wireguard_public_key': 'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'wireguard_listen_port': '5,392', 'iprange':
        '10.76.14.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=',
        'allowed_iprange': ['10.76.12.0/24', '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key':
        '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=', 'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange':
        '10.76.13.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24', '100.64.76.15/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=', 'allowed_iprange': ['10.76.16.0/24',
        '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=',
        'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange': '10.76.17.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': 'HnfiAFsUedqRdpdccj9BeKDuZsevpaDQuAWrHP9MHiZU',
        'wireguard_private_key_encrypted': '1fef31e21f397ae6f94d8678b5f81fbab19a99c05c34ec5007d15d415495b86161b59f3bf8516130f0c22837f02d067c6c5297cc92b1c9bf4d8afd246144d583cd220eb25f4d
        a0a367b78cf216ccad4d5c5006ddebf75b6c5c9f437f', 'wireguard_public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'wireguard_listen_port': '7,922', 'iprange':
        '10.76.15.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=',
        'allowed_iprange': ['10.76.12.0/24', '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key':
        '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=', 'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange':
        '10.76.13.0/24'}, {'public_key': 'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange': '10.76.14.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=', 'allowed_iprange': ['10.76.16.0/24',
        '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=',
        'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange': '10.76.17.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': 'D7jPRCSe3FeMNs3pdq96DcdLmmqjiaRfQS465aB82xGQ',
        'wireguard_private_key_encrypted': 'c3ad14f1d21e18e64c1465cdb30d4782581363822533174a88238a4e097f787c64db0657baa97cecc328ead1d640c969b1bba160cd94380b8f20237f25cbd98e0300dc9896d2
        5ba8ec46201d8bcd53737b13ea69ec07d578f5c805b3', 'wireguard_public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=', 'wireguard_listen_port': '8,574', 'iprange':
        '10.76.16.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=',
        'allowed_iprange': ['10.76.12.0/24', '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key':
        '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=', 'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange':
        '10.76.13.0/24'}, {'public_key': 'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange': '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24',
        '100.64.76.15/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=',
        'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange': '10.76.17.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': 'FS2bpZSpnHgs35hz3NYVLYfFmLjKffsrrRYjW8ntkoNh',
        'wireguard_private_key_encrypted': '66d2f0a93bcbd5e70ab462b8642fc2c0838edcdcdd30e02c187ab75dd676096f8813535f2dac6869d7034eb385efec0a0dfe7478c28c655b9415ca4f50ee83be2da2bcf371d8
        9e53eb180b98f498da5167d5aed9ebcf5a52e684f2a4', 'wireguard_public_key': 'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=', 'wireguard_listen_port': '2,978', 'iprange':
        '10.76.17.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=',
        'allowed_iprange': ['10.76.12.0/24', '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key':
        '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=', 'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange':
        '10.76.13.0/24'}, {'public_key': 'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange': '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24',
        '100.64.76.15/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=',
        'allowed_iprange': ['10.76.16.0/24', '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key':
        'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange':
        '10.76.18.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': 'GzXndGfaG82B2J9nu85GGZ3XjufZDENvmVub1oaAc7RZ',
        'wireguard_private_key_encrypted': '1e44f707d97ba8e4d5992bf3e7e7e27b2b3e595cd856a3de42b5cc131de6055d9472b5eb5fa1e0f2a44885031180988f33178cad890d48bcc52ce128ea61d8e7392b11cb1a34
        4cfc80138da711a88a735b617d247ff1eb3737f27fb8', 'wireguard_public_key': 'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'wireguard_listen_port': '3,143', 'iprange':
        '10.76.18.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=',
        'allowed_iprange': ['10.76.12.0/24', '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key':
        '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=', 'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange':
        '10.76.13.0/24'}, {'public_key': 'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange': '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24',
        '100.64.76.15/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=',
        'allowed_iprange': ['10.76.16.0/24', '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key':
        'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=', 'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange':
        '10.76.17.0/24'}, {'public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'allowed_iprange': ['10.76.19.0/24', '100.64.76.19/32', '10.76.254.0/24', '100.64.76.254/32',
        '10.76.201.0/24', '100.64.76.201/32'], 'endpoint': '[2a02:1802:5e:0:1102::1]:4310', 'iprange': '10.76.19.0/24'}]}, {'node_id': 'CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4',
        'wireguard_private_key_encrypted': '6ebaefec396254bdd05356becc3e57a8c5f3745249c63a361a277a36499fc266ce720cb0490093773da361c3b70f8630bfdc15876b70ea093af4e8535157676435f5a542eeb8
        a4cc873097f2b83164da857eb68f5ed4f082ec2878d9', 'wireguard_public_key': '6jaBjZiw5pDUzxxud685uft2qYQerj/BLh1awdG0VSY=', 'wireguard_listen_port': '4,310', 'iprange':
        '10.76.19.0/24', 'peers': [{'public_key': '1yIoqsugBwGFVpiitI+wlYMTf1U7bDT5hvsnJ/f9WGw=', 'allowed_iprange': ['10.76.10.0/24', '100.64.76.10/32'], 'endpoint':
        '[2a04:7700:1002:1:af1:eaff:fe95:416c]:4006', 'iprange': '10.76.10.0/24'}, {'public_key': 'MKuJ8L37j/biuHCkSsqcoxaZ2Liw5Krn9eJS13nuqj4=', 'allowed_iprange': ['10.76.11.0/24',
        '100.64.76.11/32'], 'endpoint': '[2a04:7700:1002:1:5680:28ff:fe4e:326e]:5749', 'iprange': '10.76.11.0/24'}, {'public_key': '7bObWPecGAX43KQ5s9dalGx+/NFMYAY0XrA2uKlDZU8=',
        'allowed_iprange': ['10.76.12.0/24', '100.64.76.12/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe95:3d52]:2546', 'iprange': '10.76.12.0/24'}, {'public_key':
        '7Cz5Mw9fkAAwa5XJ8E01Vf4cY/iC4f7/ClEPCkS0uzI=', 'allowed_iprange': ['10.76.13.0/24', '100.64.76.13/32'], 'endpoint': '[2a04:7700:1002:1:af1:eaff:fe8e:3f70]:7309', 'iprange':
        '10.76.13.0/24'}, {'public_key': 'rJRPYp2qRxbQFA15J+BbeCcXv4OhYhCeZY911sHtvDc=', 'allowed_iprange': ['10.76.14.0/24', '100.64.76.14/32'], 'endpoint':
        '[2a04:7700:1002:1:ae1f:6bff:fe8d:178d]:5392', 'iprange': '10.76.14.0/24'}, {'public_key': 'zKGUj46Og3zgHFgEV/JcXtiX1rJpt10+1/1wRa0UV10=', 'allowed_iprange': ['10.76.15.0/24',
        '100.64.76.15/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a377]:7922', 'iprange': '10.76.15.0/24'}, {'public_key': '1dVogBEMpYD7vuTrfx7Vo026lCmLbWtfCcIpJYWUBXU=',
        'allowed_iprange': ['10.76.16.0/24', '100.64.76.16/32'], 'endpoint': '[2a04:7700:1002:1:ae1f:6bff:fe8d:a633]:8574', 'iprange': '10.76.16.0/24'}, {'public_key':
        'YyTG2wpJhRGeTP362IVm5rCaedF9lORcUtXxJkH8EVo=', 'allowed_iprange': ['10.76.17.0/24', '100.64.76.17/32'], 'endpoint': '[2a04:7700:1002:1:f603:43ff:fec3:b98]:2978', 'iprange':
        '10.76.17.0/24'}, {'public_key': 'gQITaTX+KH4PEIT2m/euUqufTwb/ZTCbpDJ/mIKDekA=', 'allowed_iprange': ['10.76.18.0/24', '100.64.76.18/32'], 'endpoint':
        '[2a04:7700:1002:1:f603:43ff:fec2:33d8]:3143', 'iprange': '10.76.18.0/24'}, {'public_key': 'B2ceUU7zSboVzR/BvzX1EWqujXfFmipMNEUh68WoK3s=', 'allowed_iprange': ['10.76.254.0/24',
        '100.64.76.254/32'], 'endpoint': '', 'iprange': '10.76.254.0/24'}, {'public_key': 'kL+tQ2sj0SI4ztik0411M9UHulbPNwJkqtkrouhZxB4=', 'allowed_iprange': ['10.76.201.0/24',
        '100.64.76.201/32'], 'endpoint': '', 'iprange': '10.76.201.0/24'}]}]    - farmer_tid: - - kubernetes          : []
     - proxies             : []
     - reverse_proxies     : []
     - subdomains          : []
     - domain_delegates    : []
     - gateway4to6         : []
     - expiration_provisioning: 2020/06/19 19:06:21
     - expiration_reservation: 2021/06/30 00:00:00
     - currencies          : ['TFT']

 - customer_tid        : 130
 - customer_signature  : 1b20e7bd192624493beaa353bcbb4bd7b2d26d9cd7c12101d4a686fe6edf07ee93db323bab377ae942e0f1688af8540f58d771f6eaadf98465438515403d9107
 - next_action         : DEPLOY
 - signatures_provision: []
 - signatures_farmer   : []
 - signatures_delete   : []
 - epoch               : 2020/06/17 07:07:31
 - metadata            : 
 - results             :
    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: 59c6e4014a029095066a2e508282c52f0a8d482e075fedcaf319116fa6a57a860f1ae052b7013f2b7cf124c359c9896fbfa7440683409a01d9aaf33fc0e5f20c    - state: OK    - message:     - epoch: 2020/06/17 07:08:32    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: d33213600c2a95428b785f4be9b32bc2dcea248e2386ca6bf77f84baf9b657d5c387c950b62ded856d62bc2118fba4f58da376afdf3544fec371f08c0cf75a0b    - state: OK    - message:     - epoch: 2020/06/17 07:08:33    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: 9ed432c0ec125fac5d3469b43d44ec63a6fd332383a88d2b761bb1e2a465db298e64bf1d38c78e406087545c9f05006181d8ab572586d3fc2eae5f3fe278b909    - state: OK    - message:     - epoch: 2020/06/17 07:08:35    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: 0a8b84199fa6f6797531fc30d4f5755aa35c29b525e197d885aa44715e27c5d6b15a48766de25f71e80f0dcea8a4936f8f25acad5e64542a52b48183d5e1580e    - state: OK    - message:     - epoch: 2020/06/17 07:08:36    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: af3f22eaff0bb0223dd22acdfb09d61f59b1e20fa1896c71d68cefa7797689fb9ace103c95b755df8bf7e3ab09169b17821b57f1e6fbe783795bd3d5e4914500    - state: OK    - message:     - epoch: 2020/06/17 07:08:38    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: 942cc97e5d02e8744d28bfa7b77ea6b8eabb29b9f2f011b94b977780c46394b1ca73648d2559c1d38fb653e3fb4a095e00a4e2e1114485a3e075021861902a09    - state: OK    - message:     - epoch: 2020/06/17 07:08:39    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: e5c052a80bf8bca3c2e880e04c4368cc61fe80e3c7c81b312eea751478b14c0dbbc182d4a7daf67d8115ea79cf7fb833b6a29acd09d588edb977712b1c2c5602    - state: OK    - message:     - epoch: 2020/06/17 07:08:40    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: 37b7252ee2e8b98a09fc8e514d2f355072ba6f9c805bf9b29077c985c49687d56ef9feb19dbaec47ed54bc34cd881266ecad501abf49e246cbf23986a383ef01    - state: OK    - message:     - epoch: 2020/06/17 07:08:40    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: 80061f7371a21f9914fc6c87563b67a3e9a9f4fb7084ffd4a2e4f35a2997a3294a264cd7afaf8e838279a3fd14308e69ace1fb5d2f592b2717be5a9e13f3e709    - state: OK    - message:     - epoch: 2020/06/17 07:08:41    - category: NETWORK    - workload_id: 9988-1    - data_json: {}    - signature: 152acac8cec1ef098c2a526cc0f87667f883e0ce1213f3f92f958d7acc5aea8e12442a6910a62f285f0f81eb97f375d3a128b08963a4efc1ec0adae573ef1c08    - state: OK    - message:     - epoch: 2020/06/17 07:08:41

JSX>  
grimpy commented 4 years ago

To solve the serialization issue, we need to start from a 'empty' reservation instead of using a reservation that already has results filled, An updated version of the snipped can be found bewlo:

me = j.me
zos = j.sal.zosv2

gwnodeid = 'CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4'

# retrieve existing network definition
reservation=j.clients.explorer.explorer.reservations.get(9889) 
newreservation=j.clients.explorer.explorer.reservations.new()
# retrieve existing network reservation
n0 = reservation.data_reservation.networks[0] 
# copy network related part inside new reservation
newreservation.data_reservation.networks.append(n0._ddict) 

# add new WG p2p tunnel to existing network reservation
wg_config1 = zos.network.add_access(n0, gwnodeid, '10.100.254.0/24', ipv4=True)
wg_config2 = zos.network.add_access(n0, gwnodeid, '10.100.253.0/24', ipv4=True)
wg_config3= zos.network.add_access(n0, gwnodeid, '10.100.252.0/24', ipv4=True)
wg_config4 = zos.network.add_access(n0, gwnodeid, '10.100.251.0/24', ipv4=True)

# reapply the reservation 
rid = zos.reservation_register(newreservation, reservation.data_reservation.expiration_reservation, identity=me)
result = zos.reservation_result(rid)
print("provisioning result")
hteibler commented 4 years ago

some issues fixed! this is working!

    zos = j.sal.zosv2

    gwnodeid ='CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4'

    # retrieve existing network definition
    reservation=j.clients.explorer.explorer.reservations.get(9985)
    newreservation=j.clients.explorer.explorer.reservations.new()
    # retrieve existing network reservation
    n0 = reservation.data_reservation.networks[0]

    # then add wg clients
    wg_config1 = zos.network.add_access(n0, gwnodeid , '10.74.201.0/24', ipv4=True)
    wg_config2 = zos.network.add_access(n0, gwnodeid , '10.74.202.0/24', ipv4=True)

    # copy network related part inside new reservation
    newreservation.data_reservation.networks.append(n0._ddict)

    print(wg_config1)
    print(wg_config2)

    # reapply the reservation
    rid = zos.reservation_register(newreservation, reservation.data_reservation.expiration_reservation, identity=me)
    result = zos.reservation_result(rid.reservation_id)
    print("provisioning result")
    print(result)
grimpy commented 4 years ago

Thanks for providing a fully working script @hteibler