262 lines
7.7 KiB
JSON
262 lines
7.7 KiB
JSON
{
|
|
"planId": "55205b80-071d-4037-b035-0136a1d02abe",
|
|
"expiresAt": "2026-11-05T10:56:31.883Z",
|
|
"state": "awaiting-approval",
|
|
"decision": {
|
|
"decision": "approval-required",
|
|
"reasons": [
|
|
{
|
|
"code": "APPROVAL_REQUIRED",
|
|
"message": "Защищённый объект требует подтверждения человеком"
|
|
},
|
|
{
|
|
"code": "APPROVAL_REQUIRED",
|
|
"message": "Опасная операция не разрешена для автономного выполнения"
|
|
}
|
|
],
|
|
"limits": {
|
|
"callsPerMinute": 120,
|
|
"concurrentReads": 4,
|
|
"mutationsPerHour": 100,
|
|
"serversPerPlan": 5,
|
|
"objectsPerPlan": 100
|
|
}
|
|
},
|
|
"changes": {
|
|
"target": {
|
|
"scope": "servers",
|
|
"serverIds": [
|
|
1
|
|
]
|
|
},
|
|
"objects": [
|
|
{
|
|
"kind": "bridge",
|
|
"id": "*1",
|
|
"serverId": 1
|
|
},
|
|
{
|
|
"kind": "bridge_port",
|
|
"id": "*10",
|
|
"serverId": 1
|
|
},
|
|
{
|
|
"kind": "bridge_vlan",
|
|
"id": "*11",
|
|
"serverId": 1
|
|
},
|
|
{
|
|
"kind": "ethernet",
|
|
"id": "*2",
|
|
"serverId": 1
|
|
},
|
|
{
|
|
"kind": "ethernet",
|
|
"id": "*3",
|
|
"serverId": 1
|
|
},
|
|
{
|
|
"kind": "ipv4_address",
|
|
"id": "*20",
|
|
"serverId": 1
|
|
},
|
|
{
|
|
"kind": "ethernet",
|
|
"id": "*4",
|
|
"serverId": 1
|
|
}
|
|
],
|
|
"snapshots": [
|
|
{
|
|
"serverId": 1,
|
|
"resource": "ethernet",
|
|
"rows": [
|
|
{
|
|
".id": "*2",
|
|
"name": "ether2",
|
|
"disabled": "false"
|
|
},
|
|
{
|
|
".id": "*3",
|
|
"name": "ether3",
|
|
"disabled": "false"
|
|
},
|
|
{
|
|
".id": "*4",
|
|
"name": "ether-mgmt",
|
|
"disabled": "false"
|
|
}
|
|
],
|
|
"fingerprint": "08c56d03417d39672c01875e949f888bff078a2a3c3219d10462372aff685fae",
|
|
"projectionVersion": 3,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "bridge",
|
|
"rows": [
|
|
{
|
|
".id": "*1",
|
|
"name": "br-users",
|
|
"pvid": "1",
|
|
"vlan-filtering": "false",
|
|
"frame-types": "admit-all",
|
|
"ingress-filtering": "true",
|
|
"mvrp": "false",
|
|
"disabled": "false"
|
|
}
|
|
],
|
|
"fingerprint": "b6cd139e68a4025879f73982c03458a0f3c1ef7b7a662f87b8421317b86ab5d6",
|
|
"projectionVersion": 4,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "vlan",
|
|
"rows": [],
|
|
"fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"projectionVersion": 3,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "gre",
|
|
"rows": [],
|
|
"fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"projectionVersion": 3,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "wireguard",
|
|
"rows": [],
|
|
"fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"projectionVersion": 3,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "vxlan",
|
|
"rows": [],
|
|
"fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"projectionVersion": 3,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "bridge_port",
|
|
"rows": [
|
|
{
|
|
".id": "*10",
|
|
"bridge": "br-users",
|
|
"interface": "ether2",
|
|
"pvid": "10",
|
|
"ingress-filtering": "true",
|
|
"frame-types": "admit-all",
|
|
"disabled": "false",
|
|
"comment": ""
|
|
}
|
|
],
|
|
"fingerprint": "c7e426b6e866bb95030738fef6a244ba1f4ea51bef1b465adb7bb0b524fcae80",
|
|
"projectionVersion": 4,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "bridge_vlan",
|
|
"rows": [
|
|
{
|
|
".id": "*11",
|
|
"bridge": "br-users",
|
|
"vlan-ids": "10",
|
|
"tagged": "br-users",
|
|
"untagged": "ether2",
|
|
"disabled": "false",
|
|
"dynamic": "false",
|
|
"comment": ""
|
|
}
|
|
],
|
|
"fingerprint": "fec705be87dbc8a3dab3aeb74b0127007d55759eea7dd2b4fc8ecc7f4757b5f6",
|
|
"projectionVersion": 4,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "ipv4_address",
|
|
"rows": [
|
|
{
|
|
".id": "*20",
|
|
"interface": "ether-mgmt",
|
|
"address": "127.0.0.1/8",
|
|
"disabled": "false",
|
|
"dynamic": "false"
|
|
}
|
|
],
|
|
"fingerprint": "f9c4d5c98f751e7cb3fd9663f57c7731d92a53c096e51a90fd63ed29e314964b",
|
|
"projectionVersion": 3,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
},
|
|
{
|
|
"serverId": 1,
|
|
"resource": "ipv6_address",
|
|
"rows": [],
|
|
"fingerprint": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
"projectionVersion": 3,
|
|
"sourceProof": "e0718c0c34d3799be2f02d129907b9043d4d7de70b24c88a6c65161726befe38"
|
|
}
|
|
],
|
|
"steps": [
|
|
{
|
|
"kind": "ros",
|
|
"step": {
|
|
"serverId": 1,
|
|
"resource": "bridge_vlan",
|
|
"action": "create",
|
|
"fields": {
|
|
"bridge": "br-users",
|
|
"vlan-ids": "20",
|
|
"tagged": "br-users,ether3",
|
|
"disabled": "false"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "ros",
|
|
"step": {
|
|
"serverId": 1,
|
|
"resource": "bridge_port",
|
|
"action": "create",
|
|
"fields": {
|
|
"bridge": "br-users",
|
|
"interface": "ether3",
|
|
"pvid": "1",
|
|
"ingress-filtering": "true",
|
|
"frame-types": "admit-only-vlan-tagged",
|
|
"disabled": "false"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "ros",
|
|
"step": {
|
|
"serverId": 1,
|
|
"resource": "bridge",
|
|
"action": "update",
|
|
"id": "*1",
|
|
"fields": {
|
|
"vlan-filtering": "true"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"requiresHuman": true,
|
|
"validUntil": "2026-11-05T11:11:31.385Z",
|
|
"warnings": [
|
|
"Связанный план изменяет VLAN memberships и PVID в указанном порядке; включение filtering выполняется последним.",
|
|
"Каждая подтверждённая запись проверяется до следующей. При неизвестном результате дальнейшие записи останавливаются.",
|
|
"Используется основной адрес управления; независимость канала не подтверждена. Обязательно подтверждение человеком; каждый префикс плана сохраняет подтверждённый management-доступ."
|
|
]
|
|
},
|
|
"executionAvailable": true
|
|
}
|