Developer Network

Documentação

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

Cloud Server Pro

Manipulando servidores cloud via API.

Listagem de servidores

Lista todos os servidores cloud vinculado ao usuário.

GET:
• https://DOMINIO/v1/cloud/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
45
46
47
48
49
50
51
52
53
54
55
{
  "data": [
    {
      "type": "servers",
      "id": "cpro0299",
      "attributes": {
        "title": "ubuntu prepaid",
        "provisioning": 60320810,
        "transfer": 1024,
        "billing_type": "prepaid",
        "status": "installed",
        "domain": "cpro0299.cloud.qa.locaweb.com.br",
        "public_ip": "10.32.5.83",
        "private_ip": null,
        "operating_system": "Ubuntu 12.04 LTS",
        "base_hardware": {
          "memory": 512,
          "cpus": 2,
          "hdd": 10
        }
      }
    },
    {
      "type": "servers",
      "id": "cpro0377",
      "attributes": {
        "title": "",
        "provisioning": null,
        "transfer": null,
        "billing_type": "internal",
        "status": "installed",
        "domain": "cpro0377.cloud.qa.locaweb.com.br",
        "public_ip": "10.32.5.70",
        "private_ip": null,
        "server_type": "cloud",
        "operating_system": "CentOS 6",
        "base_hardware": {
          "memory": 512,
          "cpus": 1,
          "hdd": 20
        }
      }
    }
  ],
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers?page%5Bnumber%5D=2&page%5Bsize%5D=1",
    "first": "https://DOMINIO/v1/cloud/servers?page%5Bnumber%5D=1&page%5Bsize%5D=1",
    "prev": "https://DOMINIO/v1/cloud/servers?page%5Bnumber%5D=1&page%5Bsize%5D=1",
    "next": "https://DOMINIO/v1/cloud/servers?page%5Bnumber%5D=3&page%5Bsize%5D=1",
    "last": "https://DOMINIO/v1/cloud/servers?page%5Bnumber%5D=4&page%5Bsize%5D=1"
  },
  "meta": {
    "total": 6
  }
}

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:

  • (Cloud Server Pro) prepaid
  • (Cloud on Demand) postpaid
Sim
status

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

  • activating
  • awaiting_configuration
  • deactivated
  • deactivating
  • installing
  • migrating
  • updating
  • 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
base_hardware Memóra em Megabytes, número de vCPUS e HD em Gigabytes contratatos. 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/cloud/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
51
52
53
{
  "data": {
    "type": "servers",
    "id": "cpro10010",
    "attributes": {
      "title": "servidor-web",
      "server_type": "cloud",
      "provisioning": 62094419,
      "transfer": 1024,
      "billing_type": "prepaid",
      "status": "installed",
      "plan_status": "active",
      "domain": "cpro10010.publiccloud.com.br",
      "zone": "NIX01",
      "public_ip": "8.8.8.8",
      "private_ip": "10.10.10.10",
      "additional_ips": [
        "8.8.8.9",
        "8.8.8.10"
      ],
      "operating_system": "Linux Debian 7",
      "base_hardware": {
        "cpus": 2,
        "memory": 2048,
        "hdd": 30
      },
      "created_at": "2015-05-13 14:57:42 -0300",
      "vlan_available": true
    },
    "relationships": {
      "snapshots": {
        "links": {
          "related": "https://DOMINIO/v1/cloud/servers/cpro10010/snapshots"
        },
        "data": [
          {
            "type": "snapshots",
            "id": 2695
          }
        ]
      }
    }
  },
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME"
  },
  "meta": {
    "actions": [
      "reboot",
      "update_base_hardware"
    ]
  }
}

Recuperar atributos do servidor

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

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

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
  "data": {
    "type": "servers",
    "id": "cpro10010",
    "attributes": {
      "power_state": "started",
      "status": "installed"
    }
  },
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME"
  },
  "meta": {
    "actions": [
      "reboot",
      "update_base_hardware"
    ]
  }
}

Recuperar atributos [network_version] de um determinado servidor cloud.

GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME?fields[servers]=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
{
  "data": {
    "type": "servers",
    "id": "SERVER_NAME",
    "attributes": {
      "network_version": "2.0"
    },
    "relationships": {
      "snapshots": {
        "links": {
          "related": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/snapshots"
        },
        "data": [
          {
            "type": "snapshots",
            "id": x
          }
        ]
      }
    }
  },
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME"
  },
  "meta": {
    "actions": [
      "reboot"
    ]
  }
}

Recuperar atributos [network_interfaces] de um determinado servidor cloud.

GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/network_interfaces

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

{
  "data": [
    {
      "type": "network_interfaces",
      "id": "eth0",
      "attributes": {
        "ips": [
          "xx.xx.xx.xx",
          "xx.xx.xx.xx"
        ],
        "mac_address": "xx:xx:xx:xx:xx:xx",
        "status": "Connected",
        "network_version": "2.0"
      }
    },
    {
      "type": "network_interfaces",
      "id": "xxxxx",
      "attributes": {
        "ips": [],
        "mac_address": null,
        "status": "Available",
        "network_version": "2.0"
      }
    }
  ]
}

Alterar apelido do servidor

Alterar apelido de um determinado servidor cloud.

PUT:
• https://DOMINIO/v1/cloud/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
{
  "data": {
    "type": "servers",
    "id": "cpro10010",
    "attributes": {
      "title": "new_title",
      "provisioning": 62094419,
      "transfer": 1024,
      "billing_type": "prepaid",
      "status": "installed",
      "plan_status": "active",
      "domain": "cpro10010.publiccloud.com.br",
      "zone": "NIX01",
      "created_at": "2015-05-13 14:57:42 -0300",
      "public_ip": "8.8.8.8",
      "private_ip": "10.10.10.10",
      "additional_ips": [
        "8.8.8.9",
        "8.8.8.10"
      ],
      "operating_system": "Linux Debian 7",
      "base_hardware": {
        "cpus": 2,
        "memory": 2048,
        "hdd": 30
      }
    }
  },
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME"
  },
  "meta": {
    "actions": [
      "reboot",
      "update_base_hardware"
    ]
  }
}

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.
update_base_hardware Aplica atualizações de hardware pendentes. Por exemplo, upgrade de memória.

Listagem das Ações

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

GET:
• https://DOMINIO/v1/cloud/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
25
26
27
28
29
30
31
32
33
34
{
  "data": [
    {
      "type": "actions",
      "id": 3,
      "attributes": {
        "resource_type": "servers",
        "resource_id": "cpro0377",
        "action": "reboot",
        "status": "done"
      }
    },
    {
      "type": "actions",
      "id": 4,
      "attributes": {
        "resource_type": "servers",
        "resource_id": "cpro0377",
        "action": "update_base_hardware",
        "status": "new"
      }
    }
  ],
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/actions?page%5Bnumber%5D=2&page%5Bsize%5D=1",
    "first": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/actions?page%5Bnumber%5D=1&page%5Bsize%5D=2",
    "prev": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/actions?page%5Bnumber%5D=1&page%5Bsize%5D=2",
    "next": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/actions?page%5Bnumber%5D=3&page%5Bsize%5D=2",
    "last": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/actions?page%5Bnumber%5D=3&page%5Bsize%5D=2"
  },
  "meta": {
    "total": 5
  }
}

Detalhes da Ação

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

GET:
• https://DOMINIO/v1/cloud/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": "cpro0377",
      "action": "reboot",
      "status": "new"
    },
    "links": {
      "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/actions/1"
    }
  }
}

Criar uma Ação

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

POST:
• https://DOMINIO/v1/cloud/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. cpro0299 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": "cpro0299",
      "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": "cpro0299",
      "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 Cloud Server Pro.

GET:
• https://DOMINIO/v1/cloud/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
{
  "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": "debian",
              "id": 4,
              "title": "Debian 6 LAMP",
              "description": "custom image"
          }
    ]
  }
}