Developer Network

Documentação

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

VPS LOCAWEB

Manipulando servidores vps via API.

Listagem de servidores VPS

Lista todos os servidores vps vinculado ao usuário.

GET:
• https://DOMINIO/v1/vps/servers

Retorno:

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
41
42
43
44
{
  "data": [
    {
      "type": "vps",
      "id": "vps0003",
      "attributes": {
        "base_hardware": {},
        "billing_type": "prepaid",
        "domain": "vps0003.cloud.locaweb.com.br",
        "operating_system": "vps-Fedora server",
        "private_ip": null,
        "provisioning": 64072136,
        "public_ip": "xxx.xxx.xxx.xxx",
        "server_type": "cloud",
        "status": "installed",
        "title": "My Second VPS",
        "transfer": 1099511627776
      }
    },
    {
      "type": "vps",
      "id": "vps0002",
      "attributes": {
        "base_hardware": {},
        "billing_type": "prepaid",
        "domain": "vps0002.",
        "operating_system": "vps-Centos 7",
        "private_ip": null,
        "provisioning": 64093565,
        "public_ip": null,
        "server_type": "cloud",
        "status": "installing",
        "title": "Vps1",
        "transfer": 1099511627776
      }
    }
  ],
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/vps/servers?page%5Bnumber%5D=1&page%5Bsize%5D=2"
  },
  "meta": {
    "total": 2
  }
}

Detalhes do servidor

Exibe as informações sobre um servidor.

Caso queira especificar os campos de retorno, informe os campos desejados como parâmetro fields[servers] na requisição. Para mais detalhes, veirficar a documentação do JSON API.

Parâmetro Descrição Retornado por padrão
title Apelido do servidor, fornecido pelo cliente durante a instalação Sim
server_type Tipo de Servidor Sim
provisioning Número do provisioning Sim
transfer Transfêrencia contratada em Megabytes. Sim
billing_type

Tipo de pagamento do servidor. Os possíveis valores são:

  • Pré pago
Sim
status

Status atual do servidor. Os possíveis valores são:

  • activating
  • awaiting_configuration
  • deactivated
  • deactivating
  • installing
  • reinstalling
  • uninstalled
  • uninstalling
  • installed
Sim
plan_status Status do plano Sim
domain Domínio do servidor Sim
zone Zona que o servidor está instalado Sim
public_ip Ip público Sim
private_ip Ip privado Sim
additional_ips Ips adicionais Sim
operating_system Sistema operacional do servidor Sim
created_at Data de criação do servidor Sim
vlan_available Vlan disponível Sim
power_state

Estado físico do servidor. Os possíveis valores são:

  • started
  • stopped
  • paused
  • unknown
Não
network_version

Versão da rede na qual o servidor está hospedado

Não
GET:
• https://DOMINIO/v1/vps/servers/SERVER_NAME

Retorno:

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
41
42
43
44
45
46
47
48
49
50
{
  "data": {
    "type": "vps",
    "id": "vps0003",
    "attributes": {
      "title": "My Second VPS",
      "server_type": "cloud",
      "provisioning": 64072136,
      "transfer": 1099511627776,
      "billing_type": "prepaid",
      "status": "installed",
      "plan_status": "active",
      "domain": "vps0003.cloud.locaweb.com.br",
      "zone": "vps",
      "public_ip": "xxx.xxx.xxx.xxx",
      "private_ip": null,
      "additional_ips": [],
      "operating_system": "vps-Fedora server",
      "base_hardware": {},
      "created_at": "2016-09-21T12:01:11-03:00",
      "vlan_available": false
    },
    "relationships": {
      "snapshots": {
        "links": {
          "related": "https://api-servidores.locaweb.com.br/v1/vps/servers/vps0003/snapshots"
        },
        "data": []
      },
      "custom_templates": {
        "links": {
          "related": "https://api-servidores.locaweb.com.br/v1/vps/servers/vps0003/custom_templates"
        }
      },
      "isos": {
        "links": {
          "related": "https://api-servidores.locaweb.com.br/v1/vps/servers/vps0003/isos/available_isos"
        }
      }
    }
  },
  "links": {
    "self": "https://api-servidores.locaweb.com.br/v1/vps/servers/vps0003"
  },
  "meta": {
    "actions": [
      "reboot"
    ]
  }
}

Recuperar atributos do servidor

Recuperar atributos [power_state e status] de um determinado servidor vps.

GET:
• https://DOMINIO/v1/vps/servers/vps0003?fields[vps]=power_state,status

Retorno:

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
{
  "data": {
    "type": "vps",
    "id": "vps0003",
    "attributes": {
      "power_state": "Running",
      "status": "installed"
    },
    "relationships": {
      "snapshots": {
        "links": {
          "related": "https://DOMINIO/v1/vps/servers/vps0003/snapshots"
        },
        "data": []
      },
      "custom_templates": {
        "links": {
          "related": "https://DOMINIO/v1/vps/servers/vps0003/custom_templates"
        }
      },
      "isos": {
        "links": {
          "related": "https://DOMINIO/v1/vps/servers/vps0003/isos/available_isos"
        }
      }
    }
  },
  "links": {
    "self": "https://DOMINIOv1/vps/servers/vps0003"
  },
  "meta": {
    "actions": [
      "reboot"
    ]
  }
}

Recuperar atributos [network_version] de um determinado servidor vps.

GET:
• https://DOMINIO/v1/vps/servers/SERVER_NAME?fields[vps]=network_version

Retorno:

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
{
  "data": {
    "type": "vps",
    "id": "vps0003",
    "attributes": {
      "network_version": "2.5"
    },
    "relationships": {
      "snapshots": {
        "links": {
          "related": "https://DOMINIO/v1/vps/servers/vps0003/snapshots"
        },
        "data": []
      },
      "custom_templates": {
        "links": {
          "related": "https://DOMINIO/v1/vps/servers/vps0003/custom_templates"
        }
      },
      "isos": {
        "links": {
          "related": "https://DOMINIO/v1/vps/servers/vps0003/isos/available_isos"
        }
      }
    }
  },
  "links": {
    "self": "https://DOMINIO/v1/vps/servers/vps0003"
  },
  "meta": {
    "actions": [
      "reboot"
    ]
  }
}

Recuperar atributos [network_interfaces] de um determinado servidor vps.

GET:
• https://DOMINIO/v1/vps/servers/vps0003/network_interfaces

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

{
  "data": [
    {
      "type": "network_interfaces",
      "id": "eth0",
      "attributes": {
        "ips": [
          "xxx.xxx.xxx.xxx"
        ],
        "mac_address": "xx:xx:xx:xx:xx:xx",
        "status": "Connected",
        "network_version": "2.5"
      }
    }
  ]
}

Alterar apelido do servidor

Alterar apelido de um determinado servidor vps.

PUT:
• https://DOMINIO/v1/vps/servers/SERVER_NAME

Parâmetros:

Parâmetro Descrição Exemplo Obrigatório
type Nome do tipo do recurso 'servers' Sim
title Novo apelido 'new_title' Sim
1
2
3
4
5
6
7
8
{
  "data":{
    "type": "servers",
    "attributes": {
      "title": "new_title"
    }
  }
}

Retorno:

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{  
   "data":{  
      "type":"vps",
      "id":"vps0002",
      "attributes":{  
         "title":"new_title",
         "server_type":"cloud",
         "provisioning":xxxxxxx,
         "transfer":1099511627776,
         "billing_type":"prepaid",
         "status":"installed",
         "plan_status":"active",
         "domain":"vps0002.cloud.locaweb.com.br",
         "zone":"vps",
         "public_ip":"xxx.xxx.xxx.xxx",
         "private_ip":null,
         "additional_ips":[  

         ],
         "operating_system":"vps-Centos 7",
         "base_hardware":{},
         "created_at":"2016-09-22T16:09:24-03:00",
         "vlan_available":false
      },
      "relationships":{  
         "snapshots":{  
            "links":{  
               "related":"https://DOMINIO/v1/vps/servers/vps0002/snapshots"
            },
            "data":[  

            ]
         },
         "custom_templates":{  
            "links":{  
               "related":"https://DOMINIO/v1/vps/servers/vps0002/custom_templates"
            }
         },
         "isos":{  
            "links":{  
               "related":"https://DOMINIO/v1/vps/servers/vps0002/isos/available_isos"
            }
         }
      }
   },
   "links":{  
      "self":"https://DOMINIO/v1/vps/servers/vps0002"
   },
   "meta":{  
      "actions":[  
         "reboot"
      ]
   }
}

Ações

Eventos que podem ser executados pelo servidor (por exemplo reiniciar o servidor). As ações disponíveis para um servidor são retornadas no atributo "actions", contido no atributo "meta", nos detalhes do servidor.

Ações existentes:

Ação(:action) Descrição
reboot Reinicia o servidor.

Listagem das Ações

Exibe todas as ações para um determinado servidor vps.

GET:
• https://DOMINIO/v1/vps/servers/SERVER_NAME/actions

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  "data": [
    {
      "type": "actions",
      "id": 3,
      "attributes": {
        "resource_type": "servers",
        "resource_id": "vps0377",
        "action": "reboot",
        "status": "done"
      }
    }
  ],
  "links": {
    "self": "https://DOMINIO/v1/vps/servers/SERVER_NAME/actions?page%5Bnumber%5D=2&page%5Bsize%5D=1",
    "first": "https://DOMINIO/v1/vps/servers/SERVER_NAME/actions?page%5Bnumber%5D=1&page%5Bsize%5D=1",
    "prev": "https://DOMINIO/v1/vps/servers/SERVER_NAME/actions?page%5Bnumber%5D=1&page%5Bsize%5D=1",
    "next": "https://DOMINIO/v1/vps/servers/SERVER_NAME/actions?page%5Bnumber%5D=3&page%5Bsize%5D=1",
    "last": "https://DOMINIO/v1/vps/servers/SERVER_NAME/actions?page%5Bnumber%5D=3&page%5Bsize%5D=1"
  },
  "meta": {
    "total": 1
  }
}

Detalhes da Ação

Exibe detalhes da ação para um determinado servidor vps.

GET:
• https://DOMINIO/v1/vps/servers/SERVER_NAME/actions/1

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "data": {
    "type": "actions",
    "id": 1,
    "attributes": {
      "resource_type": "servers",
      "resource_id": "vps0377",
      "action": "reboot",
      "status": "new"
    },
    "links": {
      "self": "https://DOMINIO/v1/vps/servers/SERVER_NAME/actions/1"
    }
  }
}

Criar uma Ação

Cria uma ação para um determinado servidor vps.

POST:
• https://DOMINIO/v1/vps/servers/SERVER_NAME/actions

Parâmetros:

Parâmetro Descrição Exemplo Obrigatório
resource_type Nome do tipo do recurso. ‘servers’ Sim
resource_id O id do recurso que deseja criar a ação. vps0299 Sim
action A ação que deseja criar. 'reboot' Sim
1
2
3
4
5
6
7
8
9
10
{
  "data":{
    "type": "actions",
    "attributes": {
      "resource_id": "vps0299",
      "resource_type": "servers",
      "action":"reboot"
    }
  }
}

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "data": {
    "type": "actions",
    "id": 42,
    "attributes": {
      "resource_type": "servers",
      "resource_id": "vps0299",
      "action": "reboot",
      "status": "new"
    },
    "links": {
      "self": "https://DOMINIO/v1/servers/SERVER_NAME/actions/42"
    }
  }
}

Listagem de Imagens

Lista imagens, aplicações, e templates para instalação de servidores VPS.

O custom_images agora vem com recipe_id que representa o id de uma receita.

Exemplo de receita: CentOS 6 - Wordpress

GET:
• https://DOMINIO/v1/vps/servers/SERVER_NAME/installation_images

Retorno:

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
41
42
43
44
45
46
47
{
  "available_images": {
    "os_name": "Linux",
    "defaults": {
      "centos": [
        {
          "id": 1,
          "name": "CentOS 6",
          "architecture": 32
        }
      ],
      "debian": [
        {
          "id": 2,
          "name": "Debian 7",
          "architecture": 32
        }
      ]
    },
    "templates": [
      {
        "os": "centos",
        "id": 3,
        "title": "Linux MeuCentOS6",
        "description": "template",
        "date": "01/01/2015"
      }
    ],
    "custom_images": [
      {
        "os": "centos",
        "id": 1,
        "recipe_id": 10,
        "title": "CentOS 6 - NGINX",
        "description": ""
      },
      {
        "os": "debian",
        "id": 2,
        "recipe_id": 10,
        "title": "Debian 7 - NGINX",
        "description": ""
      }

    ]
  }
}