REST - Grupy i firewall

Listowanie grup

Zapytanie

GET /v2/groups

Zwraca tablicę z listą istniejących grup.

Odpowiedź

{
  "groups": [
    {
      "id":"$group_id",
      "name":"$group_name",
      "owner":{
        "id":"$owner_id",
        "name":"$owner_name"
      },
      "members":[

      ],
      "virtual_machines":[

      ],
      "permisions":{
        "global":[

        ],
        "vm":[

        ]
      },
      "resources": [
        {
          "id": "$uid",
          "type": "$type",
          "label": "$label"
        }
      ],
      "rules": [
        {
          // pola są zwracane jeśli mają wartość inną niż null
          "id": "$rule_id",
          "direction": "$direction",
          "src_address": "$src_address",
          "dst_address": "$dst_address",
          "protocol": "$protocol",
          "min_port": "$min_port",
          "max_port": "$max_port",
          "icmp_type": "$icmp_type",
          "icmp_code": "$icmp_code"
        }
      ]
    }, { ... }
  ]
}

Zwracane informacje

  • $group_id (string) - UUID grupy
  • $group_name (string) - nazwa grupy
  • $owner_id (string) - UUID właściciela grupy
  • $owner_name (string) - nazwa właściciela grupy
  • $uid (string) - UUID zasobu
  • $type (string) - typ zasobu
  • $label (string) - nazwa zasobu (o ile jest dostępna)
  • $rule_id (int) - ID reguły
  • $direction (string) - kierunek działania reguły firewalla - IN, OUT
  • $src_address (string) - adres źródłowy
  • $dst_address (string) - adres docelowy
  • $protocol (string) - protokół - TCP, UDP, ICMP, SCTP, ESP, AH, IPIP, GRE
  • $min_port (int) - minimalny numer portu
  • $max_port (int) - maksymalny numer portu
  • $icmp_type (string) - typ ICMP
  • $icmp_code (string) - kod ICMP


Dodanie grupy

Zapytanie

PUT /v2/groups

Dodaje nową grupę.

Zawartość zapytania

{
    "name": "$name"
}

Opis parametrów

  • $name (string) - nazwa grupy

Odpowiedź

{
  "groups": [
    {
      "id":"$group_id",
      "name":"$group_name",
      "owner":{
        "id":"$owner_id",
        "name":"$owner_name"
      },
      "members":[

      ],
      "virtual_machines":[

      ],
      "permisions":{
        "global":[

        ],
        "vm":[

        ]
      },
      "resources": [

      ],
      "rules": [

      ]
    }
  ]
}

Zwracane informacje

  • $group_id (string) - UUID grupy
  • $group_name (string) - nazwa grupy
  • $owner_id (string) - UUID właściciela grupy
  • $owner_name (string) - nazwa właściciela grupy


Pobieranie informacji o grupie

Zapytanie

POST /v2/groups/$GROUP_ID

Zwraca informacje o pojedynczej grupie o podanym $GROUP_ID.

Odpowiedź

{
  "success":true,
  "group":
  {
    "id":"$group_id",
    "name":"$group_name",
    "owner":{
      "id":"$owner_id",
      "name":"$owner_name",
    },
    "members":[

    ],
    "virtual_machines":[

    ],
    "permisions":{
      "global":[

      ],
      "vm":[

      ]
    },
    "resources": [

    ],
    "rules": [

    ]
  }
}

Zwracane informacje

  • $group_id (string) - UUID grupy
  • $group_name (string) - nazwa grupy
  • $owner_id (string) - UUID właściciela grupy
  • $owner_name (string) - nazwa właściciela grupy


Dodanie użytkownika do grupy

Zapytanie

POST /v2/groups/$GROUP_ID/group-attach-user

Dodaje użytkownika do grupy o podanym $GROUP_ID.

Zawartość zapytania

{ 
  "id" : $user_id
}

Opis parametrów

  • $user_id (string) - UUID użytkownika

Odpowiedź

{
  "success":true
}


Dodanie serwera do grupy

Zapytanie

POST /v2/groups/$GROUP_ID/group-attach-vm

Dodaje serwer do grupy o podanym $GROUP_ID.

Zawartość zapytania

{
  "id" : $vm_id
}

Opis parametrów

  • $vm_id (string) - UUID serwera

Odpowiedź

{
  "success":true
}


Dodanie zasobu do grupy

Zapytanie

POST /v2/groups/$GROUP_ID/group-attach-resource

Dodaje zasób do grupy o podanym $GROUP_ID.

Zawartość zapytania

{ 
  "id" : $resource_id
}

Opis parametrów

  • $resource_id (string) - UUID zasobu

Odpowiedź

{
  "success":true
}


Odłączenie użytkownika do grupy

Zapytanie

POST /v2/groups/$GROUP_ID/group-detach-user

Usuwa użytkownika z grupy o podanym $GROUP_ID.

Zawartość zapytania

{ 
  "id" : $user_id
}

Opis parametrów

  • $user_id (string) - UUID użytkownika

Odpowiedź

{  
  "success":true
}


Odłączenie serwera do grupy

Zapytanie

POST /v2/groups/$GROUP_ID/group-detach-vm

Usuwa serwer z grupy o podanym $GROUP_ID.

Zawartość zapytania

{
  "id" : $vm_id
}

Opis parametrów

  • $vm_id (string) - UUID serwera

Odpowiedź

{
  "success":true
}


Odłączenie zasobu do grupy

Zapytanie

POST /v2/groups/$GROUP_ID/group-detach-resource

Usuwa zasób z grupy o podanym $GROUP_ID.

Zawartość zapytania

{ 
  "id" : $resource_id
}

Opis parametrów

  • $resource_id (string) - UUID zasobu

Odpowiedź

{  
  "success":true
}


Dodanie reguły firewalla do grupy

Zapytanie

POST /v2/groups/$GROUP_ID/group-add-rule

Dodaje regułę firewalla do grupy o podanym $GROUP_ID.

Zawartość zapytania

{
  "direction": "$direction",
  "src_address": "$src_address",
  "dst_address": "$dst_address",
  "protocol": "$protocol",
  "min_port": "$min_port",
  "max_port": "$max_port",
  "icmp_type": "$icmp_type",
  "icmp_code": "$icmp_code"
}

Opis parametrów

  • $direction (string) - kierunek działania reguły firewalla - IN, OUT
  • $src_address (string) - adres źródłowy
  • $dst_address (string) - adres docelowy
  • $protocol (string) - protokół - TCP, UDP, ICMP, SCTP, ESP, AH, IPIP, GRE
  • $min_port (int) - minimalny numer portu
  • $max_port (int) - maksymalny numer portu
  • $icmp_type (string) - typ ICMP
  • $icmp_code (string) - kod ICMP

Odpowiedź

{  
  "success":true
}


Edycja reguły firewalla

Zapytanie

POST /v2/groups/$GROUP_ID/group-update-rule

Edytuje wskazaną regułę firewalla grupy o podanym $GROUP_ID.

Zawartość zapytania

{
  "rule_id": "$rule_id",
  "direction": "$direction",
  "src_address": "$src_address",
  "dst_address": "$dst_address",
  "protocol": "$protocol",
  "min_port": "$min_port",
  "max_port": "$max_port",
  "icmp_type": "$icmp_type",
  "icmp_code": "$icmp_code"
}

Opis parametrów

  • $rule_id (int) - ID reguły
  • $direction (string) - kierunek działania reguły firewalla - IN, OUT
  • $src_address (string) - adres źródłowy
  • $dst_address (string) - adres docelowy
  • $protocol (string) - protokół - TCP, UDP, ICMP, SCTP, ESP, AH, IPIP, GRE
  • $min_port (int) - minimalny numer portu
  • $max_port (int) - maksymalny numer portu
  • $icmp_type (string) - typ ICMP
  • $icmp_code (string) - kod ICMP

Odpowiedź

{  
  "success":true
}


Usunięcie reguły firewalla

Zapytanie

POST /v2/groups/$GROUP_ID/group-delete-rule

Usuwa regułę firewalla z grupy o podanym $GROUP_ID.

Zawartość zapytania

{
  "rule_id": "$rule_id"
}

Opis parametrów

  • $rule_id (int) - ID reguły

Odpowiedź

{  
  "success":true
}


Włączenie / wyłączenie firewalla

Zapytanie

POST /v2/groups/$GROUP_ID/firewall

Włącza / wyłącza firewall dla grupy o podanym $GROUP_ID.

Zawartość zapytania

{
  "active": $active
}

Opis parametrów

  • $active (bool) - stan firewalla - true, false

Odpowiedź

{  
  "success":true
}


Usunięcie grupy

Zapytanie

DELETE  /v2/groups/$GROUP_ID

Dodaje zadanie usunięcia grupy o podanym $GROUP_ID.

Odpowiedź

{  
  "success":true
}