Serviços

Buscar informações sobre os serviços

API para buscar informações sobre os serviços do servidor.

GET /api/system/services

Para buscar informações somente sobre os serviços principais:

GET /api/system/services?main=true

Exemplo de requisição

GET /api/system/services HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.system.types import GetServicesRequest

request = GetServicesRequest(main=True)
response = sdk.system.get_services(request)
print(response.payload)
const response = await sdk.system.getServices({ main: true });
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  services: [
    {
      name: "openvpn",
      multiple_instances: true,
      description: "description openvpn",
      enabled: "enabled",
      status: "started",
      main: true,
      module_link: "https://product.itflex.com.br/openvpn"
    },
    {
      name: "dhcp",
      multiple_instances: false,
      description: "description dhcp",
      enabled: "enabled",
      status: "started",
      main: true,
      module_link: "https://product.itflex.com.br/dhcp"
    }
  ]
}
[
  Service(
    name="openvpn",
    multiple_instances=True,
    description="description openvpn",
    enabled="enabled",
    status="started",
    main=True,
    module_link="https://product.itflex.com.br/openvpn"
  ),
  Service(
    name="dhcp",
    multiple_instances=False,
    description="description dhcp",
    enabled="enabled",
    status="started",
    main=True,
    module_link="https://product.itflex.com.br/dhcp"
  )
]
[
  {
    name: "openvpn",
    multipleInstances: true,
    description: "description openvpn",
    enabled: "enabled",
    status: "started",
    main: true,
    moduleLink: "https://product.itflex.com.br/openvpn"
  },
  {
    name: "dhcp",
    multipleInstances: false,
    description: "description dhcp",
    enabled: "enabled",
    status: "started",
    main: true,
    moduleLink: "https://product.itflex.com.br/dhcp"
  }
];

Buscar informações sobre um serviço

API para buscar informações sobre um serviço específico do servidor.

GET /api/system/services/name

Exemplo de requisição

GET /api/system/services/openvpn HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.system.types import GetServiceByNameRequest

request = GetServiceByNameRequest(name="openvpn")
response = sdk.system.get_service_by_name(request)
print(response.payload)
const response = await sdk.system.getService({ name: "openvpn" });
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  name: "openvpn",
  multiple_instances: true,
  description: "description openvpn",
  enabled: "enabled",
  status: "started",
  main: true,
  moduleLink: "https://product.itflex.com.br/openvpn"
}
Service(
  name="openvpn",
  multiple_instances=True,
  description="description openvpn",
  enabled="enabled",
  status="started",
  main=True,
  moduleLink="https://product.itflex.com.br/openvpn"
)
{
  name: "openvpn",
  multipleInstances: true,
  description: "description openvpn",
  enabled: "enabled",
  status: "started",
  main: true,
  moduleLink: "https://product.itflex.com.br/openvpn"
}

Iniciar, Reiniciar, Parar, Habilitar ou Desabilitar um Serviço

API para iniciar, reiniciar, parar, habilitar ou desabilitar um serviço específico do servidor.

PUT /api/system/services/name/action

Exemplo de requisição

PUT /api/system/services/openvpn/start HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.system.types import ServiceActionRequest

request = ServiceActionRequest(name="openvpn", action="start")
response = sdk.system.service_action(request)

// iniciar
const response = await sdk.system.startService({ name: "openvpn" });

// reiniciar
const response = await sdk.system.restartService({ name: "openvpn" });

// parar
const response = await sdk.system.stopService({ name: "openvpn" });

// habilitar
const response = await sdk.system.enableService({ name: "openvpn" });

// desabilitar
const response = await sdk.system.disableService({ name: "openvpn" });

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

Buscar informações sobre as instâncias de um serviço

API para buscar informações sobre as instâncias de um serviço do servidor.

GET /api/system/services/name/instances

Exemplo de requisição

GET /api/system/services/openvpn/instances HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.system.types import GetInstancesRequest

request = GetInstancesRequest(service_name="openvpn")
response = sdk.system.get_instances(request)
print(response.payload)
const response = await sdk.system.getServiceInstances();
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  instances: [
    {
      name: "openvpn",
      instance_name: "instance-01",
      description: "description openvpn-instance01",
      enabled: "enabled",
      status: "started",
    },
    {
      name: "openvpn",
      instance_name: "instance-02",
      description: "description openvpn-instance02",
      enabled: "enabled",
      status: "stopped",
    }
  ]
}
[
  ServiceInstance(
    name="openvpn",
    instance_name="instance-01",
    description="description openvpn-instance01",
    enabled="enabled",
    status="started",
  ),
  ServiceInstance(
    name="openvpn",
    instance_name="instance-02",
    description="description openvpn-instance02",
    enabled="enabled",
    status="stopped",
  )
]
[
  {
    name: "openvpn",
    instanceName: "instance-01",
    description: "description openvpn-instance01",
    enabled: "enabled",
    status: "started",
  },
  {
    name: "openvpn",
    instanceName: "instance-02",
    description: "description openvpn-instance02",
    enabled: "enabled",
    status: "stopped",
  }
];

Buscar informações sobre uma instância de um serviço

API para buscar informações sobre determinada instância de um serviço do servidor.

GET /api/system/services/name/instances/instance_name

Exemplo de requisição

GET /api/system/services/openvpn/instances/instance-01 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.system.types import GetInstanceByNameRequest

request = GetInstanceByNameRequest(service_name="openvpn", name="instance-01")
response = sdk.system.get_instance_by_name(request)
print(response.payload)
const response = await sdk.system.getServiceInstanceByName({ instance_name: "instance-01" });
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  name: "openvpn",
  instance_name: "instance-01",
  description: "description openvpn-instance01",
  enabled: "enabled",
  status: "started",
}

Instance(
  name="openvpn",
  instance_name="instance-01",
  description="description openvpn-instance01",
  enabled="enabled",
  status="started",
)
{
  name: "openvpn",
  instanceName: "instance-01",
  description: "description openvpn-instance01",
  enabled: "enabled",
  status: "started",
}

Formato dos dados

Parâmetros da url

Campo Descrição
name string

Nome do serviço

instance_name string

Nome da instância do serviço

action string

Ação a ser realizada no serviço

Valores possíveis: start, restart, stop, enable, disable

Parâmetros de consulta

Campo Descrição
main bool

Flag para retornar todos os serviços ou somente os principais

Resposta

Campo Descrição
name string

Nome do serviço no systemd

instance_name string

Nome da instância do serviço no systemd

multiple_instances bool

Flag de serviço com múltiplas instâncias

description string

Se for um serviço sem múltiplas instâncias, é a descrição atribuída ao serviço pelo conf ou a descrição do serviço no systemd (caso não exista no conf)

Se for um serviço com múltiplas instâncias, é a descrição atribuída ao serviço pelo conf ou é o próprio nome do serviço (caso não exista no conf)

Se for uma instância de um serviço, é a descrição da instância no systemd

enabled string

Status de serviço habilitado/desablitado

Valores possíveis: enabled, disabled

status string

Status atual do serviço

Valores possíveis: started, stopped, error, instance_stopped

main bool

Flag para identificar se é um serviço principal

module_link string

Link para o módulo do produto