Developer Network

Documentação

Informações e instruções das APIs dos produtos Locaweb.

Escalabilidade

Manipulando escalabilidade de servidores Cloud Server Pro via API.

Listagem de escalabilidades

Lista todos as escalabilidades do servidor de acordo com o status(running, scheduled, finished).

GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/scale_windows?status=STATUS

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{
  "data": [
    {
      "type": "scale_windows",
      "id": 0000,
      "attributes": {
        "name": "Escalabilidade Agendada",
        "memory": 2,
        "vcpus": 2,
        "kind": "scheduled",
        "up": "2017-09-25T20:00:00-03:00",
        "down": "2017-09-25T22:00:00-03:00",
        "status": "scheduled",
        "virtual_machine_id": 000000,
        "id": 0000
      }
    },
    {
      "type": "scale_windows",
      "id": 1111,
      "attributes": {
        "name": "Novo Agendamento",
        "memory": 4,
        "vcpus": 2,
        "kind": "scheduled",
        "up": "2017-09-26T00:00:00-03:00",
        "down": "2017-09-26T03:00:00-03:00",
        "status": "scheduled",
        "virtual_machine_id": 000000,
        "id": 1111
      }
    }
  ],
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/cloud/servers/000000/scalability/scale_windows"
  },
  "meta": {
    "total": 2
  }
}

Criar escalabilidade

Cria uma nova escalabilidade para o servidor.

Parâmetros Descrição Obrigatório?
name Nome dado a nova escalabilidade Sim
memory Quantidade de memória que será utilizada, de acordo com os planos disponíveis para o servidor Sim
vcpus Quantidade de vcpus que será utilizada, de acordo com os planos disponíveis para o servidor Sim
up_date Data de início da escalabilidade no formato: %yyyy/%mm/%dd
  • Sim, quando for [kind: 'scheduled']
  • Não, quando for [kind: 'manual']
up_hour Hora de início da escalabilidade [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
  • Sim, quando for [kind: 'scheduled']
  • Não, quando for [kind: 'manual']
down_date Data de fim da escalabilidade no formato: %yyyy/%mm/%dd Sim
down_hour Hora de fim da escalabilidade [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23] Sim
Status Status da escalabilidade: ['scheduled'] Sim
kind Tipo da escalabilidade: ['manual','scheduled'] Sim
POST:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/scale_windows

Exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
  "data": {
    "type": "scale_windows",
    "attributes": {
      "name": "Escalabilidade Agendada",
      "memory": 4,
      "vcpus": 2,
      "up_date": "2017/09/29",
      "up_hour": "0",
      "down_date": "2017/09/29",
      "down_hour": "10",
      "status": "scheduled",
      "kind": "scheduled"
    }
  }
}
{
  "data": {
    "type": "scale_windows",
    "attributes": {
      "name": "Escalabilidade Agendada",
      "memory": 4,
      "vcpus": 2,
      "up_date": "27/09/2017",
      "up_hour": "0",
      "down_date": "28/09/2017",
      "down_hour": "10",
      "status": "scheduled",
      "kind": "scheduled"
    }
  }
}

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "data": {
    "type": "scale_windows",
    "id": 0000,
    "attributes": {
      "name": "Escalabilidade Agendada",
      "memory": 4,
      "vcpus": 2,
      "kind": "scheduled",
      "up": "2017-09-27T00:00:00-03:00",
      "down": "2017-09-28T10:00:00-03:00",
      "status": "scheduled",
      "virtual_machine_id": 00000,
      "id": 0000
    }
  },
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/cloud/servers/00000/scalability/scale_windows/0000"
  }
}

Alterar escalabilidade

Alterar/atualizar uma escalabilidade agendada.

PUT:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/scale_windows/ID
Parâmetros Descrição Obrigatório?
name Nome dado a nova escalabilidade Não
memory Quantidade de memória que será utilizada, de acordo com os planos disponíveis para o servidor Não
vcpus Quantidade de vcpus que será utilizada, de acordo com os planos disponíveis para o servidor Não
up_date Data de início da escalabilidade no formato: %yyyy/%mm/%dd Sim
up_hour Hora de início da escalabilidade [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23] Sim
down_date Data de fim da escalabilidade no formato: %yyyy/%mm/%dd Sim
down_hour Hora de fim da escalabilidade [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23] Sim

Exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "data": {
    "type": "scale_windows",
    "attributes": {
      "name": "Escalabilidade Agendada Alterada",
      "memory": 4,
      "vcpus": 2,
      "up_date": "2017/10/01",
      "up_hour": "0",
      "down_date": "2017/10/01",
      "down_hour": "9"
    }
  }
}

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "data": {
    "type": "scale_windows",
    "id": 0000,
    "attributes": {
      "name": "Escalabilidade Agendada Alterada",
      "memory": 4,
      "vcpus": 2,
      "kind": "scheduled",
      "up": "2017-10-01T00:00:00-03:00",
      "down": "2017-10-01T09:00:00-03:00",
      "status": "scheduled",
      "virtual_machine_id": 00000,
      "id": 0000
    }
  },
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/cloud/servers/00000/scalability/scale_windows/0000"
  }
}

Excluir escalabilidade

Exclui uma escalabilidade agendada.

DELETE:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/scale_windows/ID

Retorno:

Código HTTP: 204

Parar escalabilidade

Parar uma escalabilidade em andamento.

POST:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/scale_windows/ID/stop

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "data": {
    "type": "scale_windows",
    "id": 0000,
    "attributes": {
      "name": "Scale Manual",
      "memory": 4,
      "vcpus": 2,
      "kind": "manual",
      "up": "2017-09-25T18:36:00-03:00",
      "down": "2017-09-25T19:12:00-03:00",
      "status": "running",
      "virtual_machine_id": 00000,
      "id": 0000
    }
  },
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/cloud/servers/00000/scalability/scale_windows/0000"
  }
}

Listagem de monitoração

Exibe as configurações de monitoração do servidor.

GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/event_triggers

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
  "data": [
    {
      "type": "event_triggers",
      "id": 28448,
      "attributes": {
        "sensor": "memory",
        "trigger": "greater_than",
        "threshold": 80,
        "virtual_machine_id": 40727,
        "enabled": true,
        "status": null,
        "action": "scale",
        "threshold_down": 60,
        "auto_reboot": true
      }
    },
    {
      "type": "event_triggers",
      "id": 28449,
      "attributes": {
        "sensor": "cpu",
        "trigger": "greater_than",
        "threshold": 80,
        "virtual_machine_id": 40727,
        "enabled": true,
        "status": null,
        "action": "scale",
        "threshold_down": 60,
        "auto_reboot": true
      }
    }
  ],
  "links": {
    "self": "https://api-servidores.qa.locaweb.com.br/v1/cloud/scalability/event_triggers"
  }
}

Atualização de monitoração

Atualização das configurações de monitoração do servidor.

PUT:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/event_triggers/ID

Exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "data":{
    "type": "event_triggers",
    "attributes": {
      "id": 00000,
      "action": "scale",
      "sensor": "memory",
      "trigger": "greater_than",
      "enabled": true,
      "threshold": 80,
      "threshold_down": 40,
      "auto_reboot": true
    }
  }
}

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "data": {
    "type": "event_triggers",
    "id": 00000,
    "attributes": {
      "sensor": "memory",
      "trigger": "greater_than",
      "threshold": 80,
      "enabled": true,
      "action": "scale",
      "threshold_down": 40,
      "auto_reboot": true
    }
  },
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/cloud/scalability/event_triggers/00000"
  }
}

Listagem de planos

Exibe os planos compatíveis com o servidor.

GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/plans

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
  "data": [
    {
      "type": "hashes",
      "id": 00000,
      "attributes": {
        "name": "2 GB of RAM and 2 vCPUs",
        "memory": 2,
        "cpus": 2,
        "estimated_price": 0.14
      }
    },
    {
      "type": "hashes",
      "id": 00000,
      "attributes": {
        "name": "4 GB of RAM and 2 vCPUs",
        "memory": 4,
        "cpus": 2,
        "estimated_price": 0.42
      }
    }
  ],
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/cloud/servers/00000/scalability/plans"
  },
  "meta": {
    "total": 2
  }
}

Status de escalabilidade de um servidor

Exibe detalhes e status de escalabilidade de um servidor.

GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/scalability/scale_info

Retorno:

Código HTTP: 200

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "data": {
    "type": "hashes",
    "id": 00000,
    "attributes": {
      "base_hardware": {
        "memory": 1024,
        "cpu": 2
      },
      "scaled": false
    }
  },
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/cloud/servers/00000/scalability/scale_info"
  }
}