voltar ao topo

Visão geral e acesso da API

Visão geral

O Cloud Application Manager fornece uma API para configurar programaticamente e implantar configurações complexas de caixa para provedores de nuvem pública, privada ou sua própria infraestrutura.

O API Cloud Application Manager é especialmente útil para esses cenários:

  • Para automatizar e integrar recursos do Cloud Application Manager dentro de estruturas maiores, estruturas de implantação como o desenvolvimento contínuo e integração de Jenkins.

  • Para integrar recursos do Cloud Application Manager em aplicativos e interfaces externas. Por exemplo, você pode fornecer relatórios detalhados sobre a caixa, espaço de trabalho e uso do provedor.

  • Para automatizar ações de implantação em aplicativos personalizados, onde seu aplicativo pode ligar para Cloud Application Manager de aplicativos sob demanda.

Você pode incorporar solicitações de API em seu Python, Ruby, Java, C, C++, Go e outros códigos existentes usando ações API comuns, como GET, POST, DELETE e PUT.

Cabeçalhos

Todos os cabeçalhos de solicitação devem ter três elementos: Tipo de conteúdo, autorização e elasticbox-release.

Tipo de conteúdo

A API REST suporta solicitações e respostas HTTP no formato JSON. Todos os cabeçalhos de solicitação devem identificar o tipo de conteúdo JSON.

Autorização

O token baseado na conta de um usuário autoriza o acesso aos dados em Cloud Application Manager. Normalmente, você quer que o usuário tenha acesso amplo aos dados Cloud Application Manager como um usuário com privilégios de administrador. Solicitações de API de aplicativos externos devem ser feitas como este usuário. As respostas de API retornam dados com base no nível de acesso deste usuário em nuvem Gerenciador de aplicativos.
Os tokens garantem uma maneira segura de se conectar a nuvem Gerenciador de aplicativos sem comprometer as credenciais enquanto você faz solicitações de API pela web. Os tokens funcionam para qualquer tipo de autenticação, seja nome de usuário, senha, Google, GiThub ou LDAP. Autorizamos o acesso ao token usando autenticação básica.
Siga estas etapas para obter um token da sua conta do Gerenciador de aplicativos nuvem.

Etapas

  1. Faça o login no Cloud Application Manager.

  2. No menu suspenso do usuário à direita, clique em autenticação Tokens.

    api1

  3. Insira um nome descritivo para o token e clique em Criar token.

    api2

  4. Use o ícone da área de transferência para copiar o token e depois passe-o em seus cabeçalhos de solicitação de API.

Mais sobre tokens

  • Você pode criar e usar até 50 tokens.
  • Os tokens nunca expiram. Para invalidar uma chamada de API, basta excluir o token usado.
  • Ao fazer chamadas API para o Recurso de provedores, podem ser aplicados limites adicionais do token do provedor. Para saber mais sobre esses limites, verifique a documentação do seu provedor.

Liberação da caixa de elasticidade

Como parte dos cabeçalhos de solicitação, especifique a versão mais recente do nuvem lançamento do Gerenciador de aplicativos, que é 4,0.

Exemplo

Cabeçalhos para uma solicitação de amostra são assim.

Headers:

Content-Type: application/json
Authorization:Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYXRpb25zIiwianRpIjoiNjk0YTgzMTgtZjZlMy00MDA5LTgxNTItYzdlNTE0NzFlMzU3IiwiZXhwIjoxNTExMzY3ODYxLCJvcmdhbml6YXRpb24iOiJlbGFzdGljYm94IiwiaWF0IjoxNTEwMDcxODYxLCJ0eXBlIjoidXNlciIsIm5hbWUiOiJPcGVyYXRpb25zIEVsYXN0aWNCb3gifQ.hob7M5swTflmbsw_iGe94FPnFgBvWbVKscvKN8Ij_4AgRj7PFrYVIwW8Xyd-PIuDKWLe3cGGE0Hz8g6KdDUMzbfp-dXk4JjqyenejCA-UTF9dv1z-pWt69IevRNR5XdYR5iVff4-Yy33RMaeWHaLuYTbOQHjVI2MDB7shlOCx4sERDtd31OyD6ZjNgRMLLDR0AFLTj2KRDleoH8iG0yXodD0AVk0iAcBCaakgZR5ROAZDb3SoSpsKYPS4dC-eWd_s0VgdYaWOd1jI0ev66-oPgSul9kAuIjozyNZ3s4vW0i-8Y5sH4lTWgMqTmf3lmjA6e2sj5lV9-boE3k3ALJwPg
ElasticBox-Release: 4.0

Como contatar o suporte do Cloud Application Manager

Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

  • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
  • Windows: Windows: RDP na instância para localizar o registro em ProgramDataElasticBoxLogselasticbox-agent.log

Últimas alterações

Principais alterações nesta versão

Este artigo aborda as principais alterações de API nos endpoints para caixas, instâncias, espaços de trabalho e perfis.

Neste artigo:

  • P: O que há...
  • Exemplos de chamadas API
  • Esquema

P: O que há...

Ponto de extremidade Adicionado, alterado ou removido
Instâncias ADICIONADO:
  • Novo endpoint que atualiza uma instância ativa aplicando uma versão de caixa.
    • PUT /services/instances/{instance_id}/pull.
  • Parâmetros atualizações automáticas, caixa, política_caixa
    • PUT /services/instances/{instance_id}
    • GET /services/instances
  • Parâmetros automatic_updates, box, policy_box, instance_tags, ipv4_address (apenas para implantação usando o agente do Gerenciador de aplicativos nuvem em qualquer infraestrutura).
    • POST /services/instances
    • POST /services/instances/dryrun

Remover
  • Parâmetro environment.
    • PUT /services/instances/{instance_id}
    • GET /services/instances
  • Parâmetro ambiente, perfil, variáveis.
    • POST /services/instances
    • POST /services/instances/dryrun
Caixas ALTERADO:
O ponto final das caixas aceita quatro tipos de caixas agora. Ao ligar para uma caixa, use um dos seguintes esquemas:
  • Script box
  • Caixa de política de implementação
  • Caixa do CloudFormation
  • Caixa do recipiente Docker

Remover
Parâmetros
  • tags são desmarcadas. Use requisitos ou reivindicações em vez disso.
  • serviço
Espaços de trabalho Remover
Esta operação específica no ponto final dos espaços de trabalho:
  • GET /services/workspaces/{workspace_id}/profiles
Perfis Remover
Todas as operações no ponto final de perfis são obsoletas e substituídas pelas caixas de política de implantação
  • GET /services/profiles
  • POST /services/profiles
  • GET /services/profiles/{profile_id}
  • PUT /services/profiles/{profile_id}
  • DELETE /services/profiles/{profile_id}
Organizações Remover
  • Parâmetro admin_boxes
    • GET /services/organizations/{organization_name}
    • POST /services/organizations
    • PUT /services/organizations/{organization_name}
Provedores Remover
  • Parâmetro admin_box
    • GET /services/providers
    • POST /services/providers
    • GET /services/providers/{provider_id}
    • PUT /services/providers/{provider_id}

Instâncias

Ponto de extremidade

PUT /services/instances/{instance_id}/pull

Novo ponto final que atualiza uma instância ativa aplicando uma versão de caixa.

Solicitação

Parâmetro Tipo Descrição
box_id cadeia Obrigatório. ID da versão da caixa usada para atualizar a instância. A versão deve estar relacionada à caixa atualmente implantada na instância.

Resposta

Nenhum.


Caixas

Script box

  • Caixa de política de implementação
  • Caixa do CloudFormation
  • Caixa do recipiente Docker
  • Script Box

Este tipo de caixa se comporta exatamente como as caixas antigas.

Ponto de extremidade

/services/boxes

Esquema

http://elasticbox.net/schemas/boxes/script

Novos parâmetros

Parâmetro Tipo Descrição
automatic_updates cadeia Obrigatório. Especifique uma opção: desligado, importante, secundário ou patch. O padrão está desativado.
draft_from guid Opcional. ID da versão da caixa da qual esta caixa é um rascunho.
requisitos array Obrigatório. Contém sequências como tags. Especifica as tecnologias de tempo de execução que a caixa requer para implantar.

Parâmetros alterados

Parâmetro Tipo Descrição
eventos object Opcional. Contém estes eventos: pre_configure, configure, pre_install, install, pre_start, start, stop, post_stop, discard, post_discard. Cada um deles se refere a um blob do script.
Observação: Os eventos post_install, post_configure e post_start são excluídos. Os novos eventos são pre_install, pre_configure e pre_start.
versão object Opcional. Requer estas propriedades:
  • box: Do tipo guid. Identifica a ID da caixa à qual a versão pertence.
  • descrição. Da sequência de tipo, descreve a alteração na versão da caixa.
  • number. Do objeto tipo, especifica o número da versão como um inteiro neste formato: importante, menor e patch. Por exemplo, para representar a versão 1.4.5, você especificaria a maior:1, menor:4, patch:5.

Caixa de política de implementação

Este tipo de caixa substitui os antigos perfis de implantação, mas contém as mesmas informações de um perfil de implantação, incluindo propriedades da caixa.

Observação: Em contraste com as Caixas de Script, as caixas de política de implantação não incluem estes parâmetros: eventos, requisitos.

Ponto de extremidade

/services/boxes

Esquema

http://elasticbox.net/schemas/boxes/policy

Novos parâmetros

Parâmetro Tipo Descrição
perfil object Obrigatório. Descreve todas as propriedades para implantar uma instância de uma caixa. Contém os mesmos dados do ponto final do perfil de implantação antigo.
provider_id object Obrigatório. Especifica a ID do provedor.
draft_from guid Opcional. ID da versão da caixa da qual esta caixa é um rascunho.
reclamações array Obrigatório. Uma matriz de sequências, especifica os requisitos aplicados a uma caixa.
automatic_updates cadeia Obrigatório. Especifique uma opção: desligado, importante, secundário ou patch. O padrão está desativado.

Caixa do CloudFormation

Observação: Em contraste com as Caixas de Script, as caixas CloudFormation não incluem o parâmetro: .

Ponto de extremidade

/services/boxes

Esquema

http://elasticbox.net/schemas/boxes/cloudformation

Novos parâmetros

Parâmetro Tipo Descrição
perfil object Descreve todas as propriedades para implantar uma instância de uma caixa. Contém os mesmos dados do ponto final do perfil de implantação antigo. Aceita apenas informações da AWS. Não é exigido pelas caixas de modelo CloudFormation
automatic_updates cadeia Obrigatório. Especifique uma opção: desligado, importante, secundário ou patch. O padrão está desativado.
provider_id object Obrigatório. Especifica a ID de um provedor AWS.
tipo object Obrigatório. Especifica um serviço. O valor aceito é: Serviço CloudFormation.
draft_from guid Opcional. ID da versão da caixa da qual esta caixa é um rascunho.
requisitos array Obrigatório. Contém sequências como tags. Especifica as tecnologias de tempo de execução que uma caixa requer implantar.

Caixa Contêiner Docker

Ponto de extremidade

/services/boxes

Esquema

http://elasticbox.net/schemas/boxes/docker

Novos parâmetros

Parâmetro Tipo Descrição
dockerfile object Opcional. Refere-se ao esquema do blob que contém o script dockerfile. Isso substitui a variável Caixa Docker anteriormente conhecida como ARQUIVO_DOCKER.
automatic_updates cadeia Obrigatório. Especifique uma opção: desligado, importante, secundário ou patch. O padrão está desativado.
draft_from guid Opcional. ID da versão da caixa da qual esta caixa é um rascunho.
requisitos array Obrigatório. Contém sequências como tags. Especifica as tecnologias de tempo de execução que uma caixa requer implantar.

Amostras de chamadas API

  • Caixas
  • Instâncias
  • Organizações
  • Provedores
  • Implantar solicitação de instância
  • US$/Instância
  • Versão
  • Caixas

GET /services/boxes

Esta solicitação retorna caixas de todos os tipos: roteiro, política, formação de cloudformation e docker.

Solicitação

Nenhum.

Resposta

Devolve uma série de caixas (cloudformation, docker, script, política).

{
    "description": "Cookbook with a simple recipe",
    "automatic_updates": "off",
    "requirements": [
        "linux"
    ],
    "name": "Chef Cookbook",
    ...
     "schema": "http://elasticbox.net/schemas/boxes/script"
}
},
{
    "automatic_updates": "off",
    "requirements": [],
    "name": "MyCloudFormation",
     ...
    "schema": "http://elasticbox.net/schemas/boxes/cloudformation"
},
{
    "automatic_updates": "off",
    "requirements": [
        "docker"
    ],
    "name": "Docker RabbitMQ",
    "dockerfile": {
        "url": "/services/blobs/download/54feda7093abba06c7591422/Dockerfile",
        "upload_date": "2015-03-10 11:50:07.960399",
        "length": 30,
        "content_type": "text/x-shellscript"
    },
    "schema": "http://elasticbox.net/schemas/boxes/docker"
}

PUT /services/boxes/{box_id}/diff

Solicitação

Esquema da caixa.

{
  "profile": {
      "instances": 1,
      "keypair': 'test_keypair",
      "location': 'SimulatedLocation",
      "image': 'test",
      "flavor': 'test.small",
      "schema': 'http://elasticbox.net/schemas/test/compute/profile"
  },
  "provider_id": "720d78f5-1139-4526-872f-bcddcd20b9b7",
  "automatic_updates": "off",
  "deleted": None,
  "variables": [

  ],
  "name": "MyPolicy",
  "version": {
      "box": "596ea6d6-faeb-46f7-bcd8-bd2b7fc2db15",
      "number": {
          "major": 0,
          "minor": 1,
          "patch": 1
      },
      "workspace": "operations",
      "description": "SmallVMtype"
  },
  "claims": [
      "linux"
  ],
  "draft_from": "54cbac10-44a0-4c4f-8580-f0f66e34d9dd",
  "schema": "http://elasticbox.net/schemas/boxes/policy"
}

Resposta

A diff JSON mudou, agora inclui a propriedade ‘box_profile_properties’ se estiver usando uma caixa de política de implantação.

{
  "box_variables": {
      "removed": [],
      "files_diff": [],
      "added": [],
      "changed": []
  },
  "box_profile_properties": {
      "title": "Modified Box Profile properties",
      "removed": [],
      "added": [],
      "changed": [
          {
              "new": "test.small",
              "name": "flavor",
              "previous": "test.micro"
          }
      ]
  },
  "box_details": {
      "removed": [],
      "added": [],
      "changed": []
  },
  "box_events": [],
  "changed": true
}

Instâncias

GET /services/instances

Parâmetro removido

meio ambiente

Novos parâmetros

Parâmetro Tipo Descrição
automatic_updates cadeia Obrigatório. Especifique uma opção: desligado, importante, secundário ou patch. O padrão está desativado.
box cadeia Obrigatório. ID da caixa (não versão) implantada na instância.
policy_box cadeia Opcional. É necessária uma política de implementação CloudFormation para esta caixa

Solicitação

Nenhum.

Resposta

Esquema de instância.

[
    {
        "automatic_updates": "off",
        "box" : "f61a336d-4807-4220-891f-e56ef8c54326",
        "name": "TestBox",
        "policy_box" : {
            "profile" : {
               "image" : "test",
               "instances" : 1,
               "keypair" : "test_keypair",
               "location" : "Simulated Location",
               "flavor" : "test.micro",
               "schema" : "http://elasticbox.net/schemas/test/compute/profile"
            },
            "provider_id" : "26fd7fac-ff2a-4e24-a01d-708bff07fb9a",
            "automatic_updates" : "off",
            ...
            "claims" : [],
            "schema" : "http://elasticbox.net/schemas/boxes/policy"
        },

        "boxes": [
           ...
        ],
      ...
        "operation": "deploy",
    },
...
]

POST /services/instances

Parâmetro removido

ambiente, perfil, variáveis

Novos parâmetros

Parâmetro Tipo Descrição
automatic_updates cadeia Obrigatório. Especifique uma opção: desligado, importante, secundário ou patch. O padrão está desativado.
box object Obrigatório. Contém dois parâmetros:
  • id Da sequência de caracteres, é a ID da caixa de script (não versão) para implantar na instância.
  • variáveis Da matriz do tipo, são variáveis da caixa de script.
policy_box object Obrigatório. Contém dois parâmetros:
  • id Da string do tipo, é a ID da caixa de política de implantação (não versão) para implantar na instância.
  • variáveis Da matriz do tipo, são variáveis da caixa de política de implantação.
instance_tags Array Opcional. Tags personalizadas para descrever uma instância.
ipv4_address cadeia Opcional. Execute o agente do Cloud Application Manager na máquina do Linux onde você deseja iniciar a caixa.

Solicitação

Contém o esquema para implantar uma instância.

{
  "box": {
      "variables": [

      ],
      "id": "32375764-f73a-41ca-8268-12ac1785586e"
  },
  "automatic_updates": "off",
  "name": "TestBox",
  "policy_box": {
      "variables": [

      ],
      "id": "e109e536-e437-4707-8048-cbf8b09c9307"
  },
  "environment": "TestBox",
  "instance_tags": [

  ],
  "schema": "http://elasticbox.net/schemas/deploy-instance-request"
}

Resposta

Retorna o esquema da instância implantada.

{
  "box": "6c714599-f045-4476-9068-5c34effa618f",
  "policy_box": {
      "profile": {
          "image": "test",
          "instances": 1,
          "keypair": "test_keypair',
          "location": "SimulatedLocation",
          "flavor": 'test.micro",
          "schema": 'http://elasticbox.net/schemas/test/compute/profile'
      },
      'provider_id': 'ffe0da74-c96a-413d-b534-8f112f051043',
      'automatic_updates': 'off',
      'name': 'admin_box-2ec08eb02dDeployPolicy',
      ...
      'claims': [
          'linux'
      ],
      'schema': 'http://elasticbox.net/schemas/boxes/policy'
  },
  'automatic_updates': 'off',
  'name': 'TestBox',
  'boxes': [
      {
   ...
      }
  ],
  'operation': 'deploy',
  'schema': 'http://elasticbox.net/schemas/instance'
}

Organizações

GET /services/organizations/{organization_name}

Parâmetro removido

admin_boxes

Solicitação

Nenhum.

Resposta

Retorna o esquema da organização.

{
  "schema": "http://elasticbox.net/schemas/organization",
  "name": "elasticbox",
  "features": {
           "cost_center": false,
           "custom_pricing": false,
           "onboard_checklist": false,
           “provider_sharing": true,
           "reporting": false
  },
  ...
       "webhooks": []
}

Provedores

GET /services/providers

Parâmetro removido

admin_box

Solicitação

Nenhum.

Resposta

Devolve uma matriz do esquema do provedor.

{
      "state": "ready",
      "services": [
          {
              "name": "Linux Compute"
          }
      ],
      "type": "Test Provider",
      ...
      "name": "report-c04cbc85dc"
}

Esquema

  • Organização
  • Provedor
  • Script Box
  • política caixa
  • Caixa Contêiner
  • Caixa do CloudFormation

Organização

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/organization",
    "additionalProperties": false,
    "allOf": [
        {
            "$ref": "http://elasticbox.net/schemas/object-timestamp"
        },
        {
            "type": "object",
            "required": [
                "schema",
                "name",
                "domains",
                "administrators",
                "authentication",
                "features",
                "cost_centers"
            ],
            "properties": {
                "authentication": {
                    "type": "object",
                    "required": [
                        "github",
                        "google",
                        "password",
                        "ldap"
                    ],
                    "default": {
                        "github": true,
                        "google": true,
                        "ldap": false,
                        "ldap_config": {},
                        "password": true
                    },
                    "properties": {
                        "github": {
                            "type": "boolean",
                            "default": true
                        },
                        "google": {
                            "type": "boolean",
                            "default": true
                        },
                        "ldap": {
                            "type": "boolean",
                            "default": false
                        },
                        "ldap_config": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "sources": {
                                    "type": "array",
                                    "default": [],
                                    "items": {
                                        "type": "object",
                                        "required": [
                                            "host"
                                        ],
                                        "properties": {
                                            "base_dn_filter": {
                                                "type": "string",
                                                "maxLength": 512
                                            },
                                            "email_field": {
                                                "type": "string",
                                                "maxLength": 256
                                            },
                                            "group_dn_filter": {
                                                "type": "string",
                                                "maxLength": 512
                                            },
                                            "groups_dn": {
                                                "type": "string",
                                                "maxLength": 512
                                            },
                                            "host": {
                                                "type": "string",
                                                "maxLength": 256
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "password": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                },
                "features": {
                    "type": "object",
                    "required": [
                        "provider_sharing",
                        "cost_center",
                        "onboard_checklist",
                        "reporting"
                    ],
                    "default": {
                        "cost_center": false,
                        "custom_pricing": false,
                        "onboard_checklist": false,
                        "provider_sharing": true,
                        "reporting": false
                    },
                    "properties": {
                        "cost_center": {
                            "type": "boolean",
                            "default": false
                        },
                        "custom_pricing": {
                            "type": "boolean",
                            "default": false
                        },
                        "onboard_checklist": {
                            "type": "boolean",
                            "default": false
                        },
                        "provider_sharing": {
                            "type": "boolean",
                            "default": true
                        },
                        "reporting": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                },
                "icon": {
                    "type": "string",
                    "maxLength": 256
                },
                "name": {
                    "type": "string",
                    "maxLength": 256
                },
                "schema": {
                    "type": "string",
                    "enum": [
                        "http://elasticbox.net/schemas/organization"
                    ]
                },
                "theme": {
                    "type": "string",
                    "maxLength": 256
                },
                "administrators": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                    }
                },
                "cost_centers": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "type": "object",
                        "required": [
                            "name",
                            "workspaces",
                            "quotas"
                        ],
                        "additionalProperties": false,
                        "properties": {
                            "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 125
                            },
                            "quotas": {
                                "type": "array",
                                "default": [],
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "cost": {
                                            "type": "integer",
                                            "description": "Quota in in decimal of the currency units per month."
                                        },
                                        "provider": {
                                            "$ref": "http://elasticbox.net/schemas/guid"
                                        }
                                    }
                                }
                            },
                            "workspaces": {
                                "type": "array",
                                "default": [],
                                "items": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 64
                                }
                            }
                        }
                    }
                },
                "domains": {
                    "type": "array",
                    "default": [],
                    "properties": {
                        "items": {
                            "type": "string",
                            "maxLength": 256
                        }
                    }
                },
                "providers": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "type": "object",
                        "required": [
                            "description",
                            "enabled",
                            "pricing",
                            "type"
                        ],
                        "properties": {
                            "type": {
                                "type": "string",
                                "enum": [
                                    "Amazon Web Services",
                                    "Amazon Web Services GovCloud",
                                    "Cloudstack",
                                    "Google Compute",
                                    "Microsoft Azure",
                                    "Rackspace",
                                    "SoftLayer",
                                    "Openstack",
                                    "Test Provider",
                                    "VMware vCloud Director",
                                    "VMware vSphere"
                                ]
                            },
                            "description": {
                                "type": "string",
                                "maxLenght": 256
                            },
                            "enabled": {
                                "type": "boolean",
                                "default": false
                            },
                            "pricing": {
                                "type": "array",
                                "default": [],
                                "items": {
                                    "type": "object",
                                    "oneOf": [
                                        {
                                            "$ref": "http://elasticbox.net/schemas/gce/compute/pricing"
                                        },
                                        {
                                            "$ref": "http://elasticbox.net/schemas/aws/compute/pricing"
                                        },
                                        {
                                            "$ref": "http://elasticbox.net/schemas/azure/compute/linux/pricing"
                                        },
                                        {
                                            "$ref": "http://elasticbox.net/schemas/azure/compute/windows/pricing"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "tags": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "type": "object",
                        "required": [
                            "name",
                            "type"
                        ],
                        "additionalProperties": false,
                        "properties": {
                            "type": {
                                "enum": [
                                    "Location",
                                    "Custom",
                                    "Workspace",
                                    "Workspace name",
                                    "Workspace ID",
                                    "Provider",
                                    "Provider name",
                                    "Environment",
                                    "Box",
                                    "Box name",
                                    "User ID",
                                    "Email",
                                    "User email",
                                    "Service Instance ID",
                                    "Service ID",
                                    "Instance ID"
                                ]
                            },
                            "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 125
                            },
                            "value": {
                                "type": "string",
                                "maxLength": 254
                            }
                        }
                    }
                },
                "webhooks": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 512,
                        "not": {
                            "type": "null"
                        }
                    }
                }
            }
        }
    ]
}

Provedor

Este esquema usa um exemplo CloudStack.

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/gce/provider",
    "type": "object",
    "additionalProperties": false,
    "allOf": [
        {
            "$ref": "http://elasticbox.net/schemas/object-base"
        },
        {
            "$ref": "http://elasticbox.net/schemas/shareable"
        },
        {
            "type": "object",
            "required": [
                "schema",
                "icon",
                "type",
                "email",
                "credentials",
                "project_id",
                "state",
                "services",
                "deleted",
                "organization"
            ],
            "properties": {
                "type": {
                    "type": "string",
                    "default": "Google Compute",
                    "enum": [
                        "Google Compute"
                    ]
                },
                "credentials": {
                    "type": "object",
                    "oneOf": [
                        {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "key": {
                                    "type": "string",
                                    "maxLength": 4096
                                }
                            }
                        },
                        {
                            "type": "object",
                            "required": [
                                "refresh_token"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "access_token": {
                                    "type": "string",
                                    "maxLength": 4096
                                },
                                "refresh_token": {
                                    "type": "string",
                                    "maxLength": 4096
                                }
                            }
                        }
                    ]
                },
                "deleted": {
                    "type": "string",
                    "maxLength": 2048,
                    "default": null
                },
                "email": {
                    "type": "string",
                    "maxLength": 2048
                },
                "icon": {
                    "type": "string",
                    "maxLength": 256,
                    "default": "images/platform/google.png"
                },
                "organization": {
                    "type": "string",
                    "maxLength": 256,
                    "description": "The name of the organization that owns this provider."
                },
                "project_id": {
                    "type": "string",
                    "maxLength": 2048
                },
                "schema": {
                    "type": "string",
                    "enum": [
                        "http://elasticbox.net/schemas/gce/provider"
                    ]
                },
                "state": {
                    "type": "string",
                    "default": "initializing",
                    "enum": [
                        "initializing",
                        "processing",
                        "ready",
                        "deleting",
                        "unavailable"
                    ]
                },
                "services": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "type": "object",
                        "oneOf": [
                            {
                                "$ref": "http://elasticbox.net/schemas/gce/compute/linux"
                            }
                        ]
                    }
                }
            }
        }
    ]
}

Script Box

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/boxes/script",
    "type": "object",
    "additionalProperties": false,
    "description": "Schema for a Script box",
    "allOf": [
        {
            "$ref": "http://elasticbox.net/schemas/object-base"
        },
        {
            "$ref": "http://elasticbox.net/schemas/shareable"
        },
        {
            "$ref": "http://elasticbox.net/schemas/versionable"
        },
        {
            "type": "object",
            "required": [
                "automatic_updates",
                "deleted",
                "organization",
                "requirements",
                "schema",
                "visibility"
            ],
            "properties": {
                "automatic_updates": {
                    "type": "string",
                    "default": "off",
                    "enum": [
                        "major",
                        "minor",
                        "patch",
                        "off"
                    ]
                },
                "deleted": {
                    "type": "string",
                    "maxLength": 2048,
                    "default": null
                },
                "events": {
                    "type": "object",
                    "default": {},
                    "properties": {
                        "configure": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "dispose": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "install": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "post_dispose": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "post_stop": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "pre_configure": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "pre_install": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "pre_start": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "start": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        },
                        "stop": {
                            "$ref": "http://elasticbox.net/schemas/file-reference"
                        }
                    }
                },
                "icon": {
                    "type": "string",
                    "maxLength": 256
                },
                "organization": {
                    "type": "string",
                    "maxLength": 256,
                    "description": "The name of the organization that owns this box."
                },
                "requirements": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/name"}
                },
                "schema": {
                    "type": "string",
                    "enum": [
                        "http://elasticbox.net/schemas/boxes/script"
                    ]
                },
                "visibility": {
                    "type": "string",
                    "default": "workspace",
                    "enum": [
                        "public",
                        "workspace",
                        "organization"
                    ]
                },
                "tags": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "$ref": "http://elasticbox.net/schemas/name"
                    }
                },
                "variables": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "$ref": "http://elasticbox.net/schemas/variable"
                    }
                }
            }
        }
    ]
}

política Caixa

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/boxes/policy",
    "type": "object",
    "additionalProperties": false,
    "description": "Schema for a Policy box",
    "allOf": [
        {
            "$ref": "http://elasticbox.net/schemas/object-base"
        },
        {
            "$ref": "http://elasticbox.net/schemas/shareable"
        },
        {
            "$ref": "http://elasticbox.net/schemas/versionable"
        },
        {
            "type": "object",
            "required": [
                "automatic_updates",
                "claims",
                "deleted",
                "organization",
                "profile",
                "provider_id",
                "schema",
                "visibility"
            ],
            "properties": {
                "automatic_updates": {
                    "type": "string",
                    "default": "off",
                    "enum": [
                        "major",
                        "minor",
                        "patch",
                        "off"
                    ]
                },
                "deleted": {
                    "type": "string",
                    "maxLength": 2048,
                    "default": null
                },
                "icon": {
                    "type": "string",
                    "maxLength": 256
                },
                "organization": {
                    "type": "string",
                    "maxLength": 256,
                    "description": "The name of the organization that owns this box."
                },
                "profile": {
                    "type": "object",
                    "anyOf": [
                        {"$ref": "http://elasticbox.net/schemas/aws/ec2/profile"},
                        {"$ref": "http://elasticbox.net/schemas/azure/compute/linux/profile"},
                        {"$ref": "http://elasticbox.net/schemas/azure/compute/windows/profile"},
                        {"$ref": "http://elasticbox.net/schemas/cloudstack/compute/profile"},
                        {"$ref": "http://elasticbox.net/schemas/openstack/compute/profile"},
                        {"$ref": "http://elasticbox.net/schemas/vcloud/compute/profile"},
                        {"$ref": "http://elasticbox.net/schemas/vsphere/compute/profile"},
                        {"$ref": "http://elasticbox.net/schemas/gce/compute/profile"},
                        {"$ref": "http://elasticbox.net/schemas/test/compute/profile"},
                        {"$ref": "http://elasticbox.net/schemas/softlayer/compute/profile"},
                        {"$ref": "http://elasticbox.net/schemas/byoi/compute/profile"}
                    ],
                    "description": "The policy to define a new instance or the reference to an existing instance"
                },
                "provider_id": {
                    "$ref": "http://elasticbox.net/schemas/guid",
                    "description": "The provider ID"
                },
                "claims": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/name"}
                },
                "schema": {
                    "type": "string",
                    "enum": [
                        "http://elasticbox.net/schemas/boxes/policy"
                    ]
                },
                "tags": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/name"}
                },
                "variables": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/variable"}
                },
                "visibility": {
                    "type": "string",
                    "default": "workspace",
                    "enum": [
                        "public",
                        "workspace",
                        "organization"
                    ]
                }
            }
        }
    ]
}

Caixa Contêiner

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/boxes/docker",
    "type": "object",
    "additionalProperties": false,
    "description": "Schema for a docker box",
    "allOf": [
        {
            "$ref": "http://elasticbox.net/schemas/object-base"
        },
        {
            "$ref": "http://elasticbox.net/schemas/shareable"
        },
        {
            "$ref": "http://elasticbox.net/schemas/versionable"
        },
        {
            "type": "object",
            "required": [
                "automatic_updates",
                "deleted",
                "organization",
                "requirements",
                "schema",
                "visibility"
            ],
            "properties": {
                "automatic_updates": {
                    "type": "string",
                    "default": "off",
                    "enum": [
                        "major",
                        "minor",
                        "patch",
                        "off"
                    ]
                },
                "deleted": {
                    "type": "string",
                    "maxLength": 2048,
                    "default": null
                },
                "events": {
                    "type": "object",
                    "default": {},
                    "properties": {
                        "configure": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "dispose": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "install": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "post_dispose": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "post_stop": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "pre_configure": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "pre_install": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "pre_start": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "start": {"$ref": "http://elasticbox.net/schemas/file-reference"},
                        "stop": {"$ref": "http://elasticbox.net/schemas/file-reference"}
                    }
                },
                "icon": {
                    "type": "string",
                    "maxLength": 256
                },
                "organization": {
                    "type": "string",
                    "maxLength": 256,
                    "description": "The name of the organization that owns this box."
                },
                "requirements": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/name"}
                },
                "schema": {
                    "type": "string",
                    "enum": ["http://elasticbox.net/schemas/boxes/docker"]
                },
                "variables": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/variable"}
                },
                "visibility": {
                    "type": "string",
                    "default": "workspace",
                    "enum": [
                        "public",
                        "workspace",
                        "organization"
                    ]
                },
                "dockerfile": {
                    "$ref": "http://elasticbox.net/schemas/file-reference"
                }
            }
        }
    ]
}

Caixa do CloudFormation

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/boxes/cloudformation",
    "type": "object",
    "additionalProperties": false,
    "description": "Schema for a Cloud Formation box",
    "allOf": [
        {
            "$ref": "http://elasticbox.net/schemas/object-base"
        },
        {
            "$ref": "http://elasticbox.net/schemas/shareable"
        },
        {
            "$ref": "http://elasticbox.net/schemas/versionable"
        },
        {
            "type": "object",
            "required": [
                "automatic_updates",
                "deleted",
                "organization",
                "requirements",
                "schema",
                "visibility",
                "type"
            ],
            "properties": {
                "automatic_updates": {
                    "type": "string",
                    "default": "off",
                    "enum": [
                        "major",
                        "minor",
                        "patch",
                        "off"
                    ]
                },
                "deleted": {
                    "type": "string",
                    "maxLength": 2048,
                    "default": null
                },
                "icon": {
                    "type": "string",
                    "maxLength": 256
                },
                "organization": {
                    "type": "string",
                    "maxLength": 256,
                    "description": "The name of the organization that owns this box."
                },
                "profile": {
                    "type": "object",
                    "anyOf": [
                        {
                            "$ref": "http://elasticbox.net/schemas/aws/cloudformation/profile"
                        }
                    ]
                },
                "provider_id": {
                    "$ref": "http://elasticbox.net/schemas/guid",
                    "description": "The provider ID"
                },
                "requirements": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/name"}
                },
                "schema": {
                    "type": "string",
                    "enum": ["http://elasticbox.net/schemas/boxes/cloudformation"]
                },
                "tags": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/name"}
                },
                "variables": {
                    "type": "array",
                    "default": [],
                    "items": {"$ref": "http://elasticbox.net/schemas/variable"}
                },
                "visibility": {
                    "type": "string",
                    "default": "workspace",
                    "enum": [
                        "public",
                        "workspace",
                        "organization"
                    ]
                },
                "type": {
                    "type": "string",
                    "default": "CloudFormation Service",
                    "enum": [
                         "CloudFormation Service"
                    ]
                },
                "template": {
                    "$ref": "http://elasticbox.net/schemas/file-reference"
                }
            }
        }
    ]
}

Implantar solicitação de instância

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/deploy-instance-request",
    "type": "object",
    "required": [
        "automatic_updates",
        "box",
        "name",
        "schema"
    ],
    "additionalProperties": false,
    "description": "Schema for a deployment instance request",
    "properties": {
        "automatic_updates": {
            "type": "string",
            "default": "off",
            "enum": [
                "major",
                "minor",
                "patch",
                "off"
            ]
        },
        "box": {
            "type": "object",
            "required": [
                "id",
                "variables"
            ],
            "additionalProperties": false,
            "properties": {
                "id": {
                    "$ref": "http://elasticbox.net/schemas/guid"
                },
                "variables": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "$ref": "http://elasticbox.net/schemas/variable"
                    }
                }
            }
        },
        "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30
        },
        "instance_tags": {
            "type": "array",
            "default": [],
            "items": {"$ref": "http://elasticbox.net/schemas/name"}
        },
        "lease": {
            "type": "object",
            "required": [
                "expire",
                "operation"
            ],
            "additionalProperties": false,
            "properties": {
                "expire": {
                    "type": "string",
                    "maxLength": 2048
                },
                "operation": {
                    "type": "string",
                    "enum": [
                        "shutdown",
                        "terminate"
                    ]
                }
            }
        },
        "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
        },
        "ipv4_address": {
            "type": "string",
            "maxLength": 15
        },
        "policy_box": {
            "type": "object",
            "required": [
                "id",
                "variables"
            ],
            "additionalProperties": false,
            "properties": {
                "id": {
                    "$ref": "http://elasticbox.net/schemas/guid"
                },
                "variables": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "$ref": "http://elasticbox.net/schemas/variable"
                    }
                }
            }
        },
        "schema": {
            "type": "string",
            "enum": [
                "http://elasticbox.net/schemas/deploy-instance-request"
            ]
        }
    }
}

US$/Instância

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas/instance",
    "type": "object",
    "additionalProperties": false,
    "allOf": [
        {
            "$ref": "http://elasticbox.net/schemas/object-timestamp"
        },
        {
            "$ref": "http://elasticbox.net/schemas/shareable"
        },
        {
            "required": [
                "automatic_updates",
                "box",
                "boxes",
                "deleted",
                "id",
                "name",
                "operation",
                "schema",
                "service",
                "state",
                "tags"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "maxLength": 36
                },
                "automatic_updates": {
                    "type": "string",
                    "default": "off",
                    "enum": [
                      "major",
                      "minor",
                      "patch",
                      "off"
                    ]
                },
                "box": {
                    "$ref": "http://elasticbox.net/schemas/guid"
                },
                "deleted": {
                    "type": "string",
                    "maxLength": 2048,
                    "default": null
                },
                "policy_box": {
                    "type": "object",
                    "anyOf": [
                        {
                            "$ref": "http://elasticbox.net/schemas/boxes/policy"
                        },
                        {
                            "$ref": "http://elasticbox.net/schemas/boxes/cloudformation"
                        }
                    ]
                },
                "icon": {
                    "type": "string",
                    "maxLength": 256
                },
                "lease": {
                    "type": "object",
                    "required": [
                        "expire",
                        "operation",
                        "released"
                    ],
                    "additionalProperties": false,
                    "properties": {
                        "expire": {
                            "type": "string",
                            "maxLength": 2048
                        },
                        "operation": {
                            "type": "string",
                            "enum": [
                                "shutdown",
                                "terminate"
                            ]
                        },
                        "released": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                },
                "name": {
                    "$ref": "http://elasticbox.net/schemas/name"
                },
                "operation": {
                    "type": "string",
                    "enum": [
                        "deploy",
                        "shutdown",
                        "shutdown_service",
                        "poweron",
                        "reinstall",
                        "reconfigure",
                        "terminate",
                        "terminate_service",
                        "snapshot"
                    ]
                },
                "schema": {
                    "type": "string",
                    "enum": [
                        "http://elasticbox.net/schemas/instance"
                    ]
                },
                "service": {
                    "type": "object",
                    "required": [
                        "id",
                        "machines"
                    ],
                    "additionalProperties": false,
                    "properties": {
                        "id": {
                            "type": "string",
                            "maxLength": 30
                        },
                        "type": {
                            "$ref": "http://elasticbox.net/schemas/service-type"
                        },
                        "machines": {
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/instance-machine"
                            }
                        }
                    }
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "processing",
                        "done",
                        "unavailable"
                    ]
                },
                "boxes": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "$ref": "http://elasticbox.net/schemas/box"
                    }
                },
                "tags": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "$ref": "http://elasticbox.net/schemas/name"
                    }
                },
                "variables": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "$ref": "http://elasticbox.net/schemas/variable"
                    }
                }
            }
        }
    ],
    "definitions": {
        "instance-machine": {
            "type": "object",
            "required": [
                "name",
                "state",
                "workflow"
            ],
            "additionalProperties": false,
            "properties": {
                "name": {
                    "$ref": "http://elasticbox.net/schemas/name"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "processing",
                        "done",
                        "unavailable"
                    ]
                },
                "workflow": {
                    "type": "array",
                    "default": [],
                    "items": {
                        "type": "object",
                        "required": [
                            "event"
                        ],
                        "additionalProperties": false,
                        "properties": {
                            "box": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9_\\.]*$"
                            },
                            "event": {
                                "type": "string",
                                "maxLength": 256
                            },
                            "script": {
                                "type": "string",
                                "maxLength": 512
                            }
                        }
                    }
                }
            }
        }
    }
}

Versão

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://elasticbox.net/schemas//versionable",
    "type": "object",
    "properties": {
        "draft_from": {
            "$ref": "http://elasticbox.net/schemas/guid"
        },
        "version": {
            "type": "object",
            "required": [
                "box",
                "description",
                "number"
            ],
            "properties": {
                "box": {
                    "$ref": "http://elasticbox.net/schemas/guid"
                },
                "description": {
                    "type": "string",
                    "maxLength": 2048
                },
                "number": {
                    "type": "object",
                    "required": [
                        "major",
                        "minor",
                        "patch"
                    ],
                    "properties": {
                        "major": {
                            "type": "integer",
                            "minimum": 0
                        },
                        "minor": {
                            "type": "integer",
                            "minimum": 0
                        },
                        "patch": {
                            "type": "integer",
                            "minimum": 0
                        }
                    }
                },
                "workspace": {
                    "type": "string",
                    "maxLength": 64
                }
            }
        }
    }
}

Como contatar o suporte do Cloud Application Manager

Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

  • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
  • Windows: Windows: RDP na instância para localizar o registro em ProgramDataElasticBoxLogselasticbox-agent.log

API de provedores

Gerenciar e executar ações do provedor.

D. Provedores Gerenciados

Recurso Descrição
POST /services/providers Cria uma nova conta de provedor em nuvem Gerenciador de aplicativos e obtém o status do provedor.
GET /services/providers Obtém a lista de provedores.
GET /services/providers/{provider_id} Busca um provedor existente.
PUT /services/providers/{provider_id} Atualiza um provedor existente.
DELETE /services/providers/{provider_id} Exclui um provedor existente.

Operações do provedor

Recurso Descrição
PUT /services/providers/{provider_id}/sync Sincroniza um provedor existente.
GET /services/providers/{provider_id}/logs Obtém os registros de um provedor.
GET /services/providers/{provider_id}/unregisted-instances Obtém as instâncias não registradas de um provedor.
POST /services/providers/{provider_id}/images Adiciona uma nova imagem de máquina a um provedor.
DELETE /services/providers/{provider_id}/images/{machine_image_id} Exclui uma imagem de máquina existente de um provedor.

POST /services/providers

Cria uma nova conta de provedor em nuvem Gerenciador de aplicativos e obtém o status do provedor.

URL

Estrutura

[POST] /services/providers

Exemplo

POST https://cam.ctl.io/services/providers

Solicitação

Cabeçalhos

content-type:application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros de solicitação para todos os provedores

Parâmetro Tipo Descrição
icon cadeia Especifique um URI de ícone para a conta do provedor.
tipo cadeia Obrigatório. Especifique o tipo de conta como um dos seguintes: Amazon Web serviços, Amazon Web serviços GovCloud, Rackspace, Openstack, Vmware vSphere, Vmware vCloud Director, Google Compute, Microsoft Azure, Microsoft Azure Classic, Cloudstack, SoftLayer, CenturyLink, CenturyLink DCC, CenturyLink DCC Foundation, Dimension Data.
descrição cadeia Descreva os serviços do provedor.
esquema cadeia Obrigatório. Forneça o esquema para a solicitação.
nome cadeia Obrigatório. Dê a conta do provedor um nome em nuvem Gerenciador de aplicativos.
owner cadeia Especifique o ID do espaço de trabalho em nuvem Gerenciador de aplicativos que possui a conta do provedor.

Parâmetros de solicitação da Amazon Web serviços

Parâmetro Tipo Descrição
credentials object Obrigatório. Contém o objeto de credencial, que é o nome do ARN da função AWS se estiver usando nuvem Gerenciador de aplicativos como um Saas ou a chave e segredo se estiver usando nuvem Gerenciador de aplicativos como um dispositivo.

Corpo de solicitação Amazon Web serviços

{
   "icon": "images/platform/aws.png",
   "type": "Amazon Web Services",
   "description": "Manage EC2, ECS and Cloudformation instances",
   "schema": "http://elasticbox.net/schemas/aws/provider",
   "name": "example account",
   "credentials": {
      "role": "role_ARN_that_gives_Cloud_Application_Manager_access"
   },
   "owner": "mrina"
}

Amazon Web serviços Parâmetros de solicitação Gov

Parâmetro Tipo Descrição
credentials object Obrigatório (segredo-chave ou função). Contém o objeto de credencial, que é Função do AWS nome do ARN se estiver usando nuvem Gerenciador de aplicativos como um Saas ou a chave e segredo se estiver usando nuvem Gerenciador de aplicativos como um dispositivo.

Amazon Web serviços Órgão de solicitação Gov

{
  "icon": "images/platform/govcloud.png",
  "type": "Amazon Web Services GovCloud",
  "description": "Manage compute services in an isolated ITAR compliant AWS region",
  "schema": "http://elasticbox.net/schemas/aws/provider",
  "name": "AWSGovCloud",
  "credentials": {
    "key": "_the_key",
    "secret": "_the_secret"
  },
  "owner": "operations"
}

{
  "icon": "images/platform/govcloud.png",
  "type": "Amazon Web Services GovCloud",
  "description": "Manage compute services in an isolated ITAR compliant AWS region",
  "schema": "http://elasticbox.net/schemas/aws/provider",
  "name": "AWSGovCloud",
  "credentials": {
    "role": "arn:aws:iam::63659945208:role/Cam_Access"
  },
  "owner": "operations"
}

Parâmetros de solicitação de Rackspace e OpenStack

Parâmetro Tipo Descrição
identity_url cadeia Obrigatório. Especifique o ponto final do serviço de identidade.
project cadeia Obrigatório. Especifique a ID do projeto para Rackspace ou o locatário para OpenStack.
nome de usuário cadeia Obrigatório. Especifique o nome de usuário.
senha cadeia Obrigatório. Especifique a senha.

Corpo de solicitação de espaço rackspace

{
   "icon": "images/platform/rackspace.png",
   "type": "Rackspace",
   "description": "Manage cloud hosting and Linux machines",
   "schema": "http://elasticbox.net/schemas/openstack/provider",
   "identity_url": "https://identity.api.rackspacecloud.com/v2.0",
   "name": "example rackspace",
   "project": "your_project_ID",
   "username": "your_Rackspace_username",
   "password": "your_Rackspace_password",
   "owner": "mrina"
}

Corpo de solicitação OpenStack

{
   "icon": "images/platform/openstack.png",
   "type": "Openstack",
   "description": "Manage cloud hosting, Linux and Windows machines",
   "schema": "http://elasticbox.net/schemas/openstack/provider",
   "name": "example openstack",
   "identity_url": "http://openstack-26.cam.ctl.io:5000/v2.0",
   "project": "your_OpenStack_tenant",
   "username": "your_OpenStack_username",
   "password": "your_OpenStack_password",
   "owner": "mrina"
}

Parâmetros de solicitação Vmware vSphere

Parâmetro Tipo Descrição
nome de usuário cadeia Obrigatório. Especifique um nome de usuário do vCenter.
segredo cadeia Obrigatório. Especifique a senha do usuário.
ponto de extremidade cadeia Obrigatório. Especifique o URL do servidor vCenter.

Corpo de solicitação Vmware vSphere

{
   "icon": "images/platform/vsphere.png",
   "type": "VMware vSphere",
   "description": "Manage cloud hosting, Linux and Windows machines",
   "schema": "http://elasticbox.net/schemas/vsphere/provider",
   "name": "example vcenter",
   "username": "your_Vspherer_username",
   "secret": "your_Vsphere_user_password",
   "endpoint": "your_vCenter_server_URL",
   "owner": "mrina"
}

Parâmetros de solicitação do Vmware vCloud Director

Parâmetro Tipo Descrição
nome de usuário cadeia Obrigatório. Especifique um nome de usuário do vCenter.
senha cadeia Obrigatório. Especifique a senha do usuário.
url cadeia Obrigatório. Especifique o URL do servidor vCenter.
organização cadeia Obrigatório. Organização

Corpo de solicitação do Vmware vCloud Director

{
  "icon": "images/platform/vcloud.png",
  "type": "VMware vCloud Director",
  "description": "Manage cloud hosting, Linux and Windows machines",
  "schema": "http://elasticbox.net/schemas/vcloud/provider",
  "name": "VMwareVCloudProvider",
  "url": "https://v-cloud.cam.ctl.io",
  "vorg": "system",
  "username": "_the_username",
  "password": "_the_password",
  "owner": "operations"
}

Google nuvem parâmetros de solicitação

Parâmetro Tipo Descrição
project_id cadeia Obrigatório. Especifique um ID de projeto no Google nuvem que tem faturamento e API do Google Compute Engine habilitado.
e-mail cadeia Obrigatório. Especifique sua conta Gmail associada ao Google nuvem.
credentials object Obrigatório. Especifique o objeto refresh_token ou a chave. Você pode obter o token refresh_token do Google OAuth 2.0 para permitir que o Gerenciador de aplicativos nuvem faça solicitações de API em seu nome. Ou você pode fornecer a chave JSON para a conta de serviço do projeto.

Google nuvem corpo de solicitação

{
   "icon": "images/platform/google.png",
   "type": "Google Compute",
   "description": "Manage cloud hosting and Linux machines",
   "name": "example google cloud account",
   "project_id": "your_GoogleCloud_projectID",
   "email": "your_gmailaccount_for_GoogleCloud",
   "credentials": {
      "refresh_token": "Google_OAuth_2.0_refresh_token"
   },
   "schema": "http://elasticbox.net/schemas/gce/provider",
   "owner": "mrina"
}

Parâmetro de solicitação Microsoft Azure Classic

Para adicionar uma assinatura Azure em nuvem Gerenciador de aplicativos, primeiro é necessário carregar o certificado de gerenciamento do Gerenciador de aplicativos nuvem para sua assinatura no Azure Classic.

Parâmetro Tipo Descrição
subscription_id cadeia Obrigatório. Especifique o ID de assinatura Azure.

Corpo de solicitação do Microsoft Azure Classic

{
   "icon": "images/platform/azure-storage.png",
   "type": "Microsoft Azure",
   "description": "Manage compute services for Windows and Linux machines.",
   "schema": "http://elasticbox.net/schemas/azure/provider",
   "name": "example azure",
   "subscription_id": "your_Azure_subscription_ID",
   "owner": "mrina"
}

Parâmetro de solicitação do Microsoft Azure

Para adicionar uma assinatura Azure em nuvem Gerenciador de aplicativos, primeiro é necessário carregar o certificado de gerenciamento do Gerenciador de aplicativos nuvem para sua assinatura no Azure.

Parâmetro Tipo Descrição
subscription_id cadeia Obrigatório. Especifique o ID de assinatura Azure.
client_id cadeia Apenas necessário para usuários normais. Os revendedores não exigem este campo.
segredo cadeia A chave secreta que será fornecida pelo Azure para o usuário
tenant cadeia Instância de locatário especificada no painel Azure.

Corpo de solicitação do Microsoft Azure

{
   "icon": "images/platform/azure-storage.png",
   "type": "Microsoft Azure",
   "description": "Manage compute services for Windows and Linux machines.",
   "schema": "http://elasticbox.net/schemas/azure-arm/provider",
   "name": "example azure",
   "owner": "mrina",
   "subscription_id": "",
   "client_id": "",
   "secret": "",
   "tenant": "1728acb8-cf75-45d8-bf56-ec39873b7e1b"
}

Parâmetros de solicitação CloudStack

Parâmetro Tipo Descrição
url cadeia Obrigatório. Especifique o ponto final API ao servidor de gerenciamento CloudStack.
api_key cadeia Obrigatório. Especifique a chave API para a conta de usuário CloudStack.
secret_key cadeia Obrigatório. Especifique o segredo API para a conta de usuário CloudStack.

Corpo de solicitação CloudStack

{
   "icon": "images/platform/cloudstack.png",
   "type": "Cloudstack",
   "description": "Manage cloud hosting, Linux and Windows machines",
   "schema": "http://elasticbox.net/schemas/cloudstack/provider",
   "name": "example CloudStack",
   "url": "CloudStack_management_server_endpoint",
   "api_key": "CloudStack_API_key",
   "secret_key": "CloudStack_secret_key",
   "owner": "mrina"
}

Parâmetros de solicitação SoftLayer

Parâmetro Tipo Descrição
nome de usuário cadeia Obrigatório. Especifique um nome de usuário da conta SoftLayer.
api_key cadeia Obrigatório. Especifique a chave API para o usuário SoftLayer.

Corpo de solicitação SoftLayer

{
   "icon": "images/platform/softlayer.png",
   "type": "SoftLayer",
   "description": "Manage compute services for Windows and Linux machines.",
   "schema": "http://elasticbox.net/schemas/softlayer/provider",
   "name": "example softlayer",
   "username": "your_SoftLayer_username",
   "api_key": "SoftLayer_API_key_for_username",
   "owner": "mrina"
}

Resposta

Código normal

  • 202 aceito

Códigos de erro

  • Nenhum código de erro

Parâmetros de resposta para todos os provedores

Parâmetro Tipo Descrição
updated cadeia Retorna a data em que o provedor foi atualizado.
descrição cadeia Retorna a descrição para o provedor.
deleted object Identifica se o provedor é excluído.
serviços array Devolve os serviços disponíveis do provedor.
members array Retorna usuários com quem o provedor é compartilhado.
owner cadeia Devolve o proprietário da conta do provedor em nuvem Gerenciador de aplicativos.
id cadeia Isto mostrará o nome ou GUID da conta do provedor de AWS no Cloud Application Manager.
icon cadeia Retorna o ícone usado para a conta do provedor.
nome cadeia Retorna o nome usado para identificar a conta do provedor em nuvem Gerenciador de aplicativos.
created cadeia Retorna a data em que o provedor foi adicionado.
uri cadeia Retorna o caminho exclusivo do identificador de recurso para a conta do provedor.
admin_boxes cadeia Lista as caixas de administração anexadas ao provedor.
organização cadeia Identifica o nome da organização.
tipo cadeia Identifica o provedor como um dos seguintes: Amazon Web serviços, Rackspace, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer.
esquema cadeia Retorna o URL do esquema.

Parâmetros de resposta da AWS

Parâmetro Tipo Descrição
credentials object Devolve a função Amazon Web serviços ARN se estiver usando nuvem Gerenciador de aplicativos como um Saas ou identifica a chave e o segredo se estiver usando nuvem Gerenciador de aplicativos como um dispositivo.

Corpo de resposta AWS

{
   "updated": "2015-01-05 18:36:26.227970",
   "description": "Manage EC2, ECS and Cloudformation instances",
   "deleted": null,
   "services": [],
   "members": [],
   "owner": "mrina",
   "credentials": {
      "role": "your_ARN_role_that_allows_Cloud_Application_Manager_access"
   },
   "id": "aefc3f24-74af-414d-98ae-d6ee05997610",
   "icon": "images/platform/aws.png",
   "name": "example account",
   "created": "2015-01-05 18:36:26.227970",
   "uri": "/services/providers/aefc3f24-74af-414d-98ae-d6ee05997610",
   "state": "initializing",
   "admin_boxes": [],
   "organization": "elasticbox",
   "type": "Amazon Web Services",
   "schema": "http://elasticbox.net/schemas/aws/provider"
}

Parâmetros de resposta de espaço de rack e OpenStack

Parâmetro Tipo Descrição
nome de usuário cadeia Retorna o nome de usuário.
senha cadeia Mascara a senha para a conta do provedor.
project cadeia Retorna a ID do projeto Rackspace ou o locatário OpenStack.
identity_url cadeia Retorna o ponto final do serviço de identidade OpenStack.

Exemplo de resposta de espaço de rackspace

{
  "username": "_the_username",
  "updated": "2015-10-30 12:16:30.836398",
  "password": "_the_password",
  "description": "Manage cloud hosting and Linux machines",
  "created": "2015-10-30 12:16:30.836398",
  "deleted": null,
  "type": "Rackspace",
  "uri": "/services/providers/c6ade25c-cc46-4271-934d-55c75dba821a",
  "name": "RackSpace",
  "project": "937535",
  "services": [

  ],
  "state": "initializing",
  "admin_boxes": [

  ],
  "members": [

  ],
  "owner": "operations",
  "organization": "elasticbox",
  "icon": "images/platform/rackspace.png",
  "identity_url": "https://identity.api.rackspacecloud.com/v2.0",
  "id": "c6ade25c-cc46-4271-934d-55c75dba821a",
  "schema": "http://elasticbox.net/schemas/openstack/provider"
}

Exemplo de resposta Openstack

{
  "username": "_the_username",
  "updated": "2015-10-30 12:26:14.331420",
  "password": "_the_password",
  "description": "Manage cloud hosting, Linux and Windows machines",
  "created": "2015-10-30 12:26:14.331420",
  "deleted": null,
  "identity_url": "http://openstack-36.cam.ctl.io:5000/v2.0",
  "uri": "/services/providers/57106d2a-ab5d-486a-988f-31a729a0c29d",
  "name": "OpenStackProvider",
  "project": "admin",
  "services": [

  ],
  "state": "initializing",
  "admin_boxes": [

  ],
  "members": [

  ],
  "owner": "operations",
  "organization": "elasticbox",
  "icon": "images/platform/openstack.png",
  "type": "Openstack",
  "id": "57106d2a-ab5d-486a-988f-31a729a0c29d",
  "schema": "http://elasticbox.net/schemas/openstack/provider"
}

Parâmetros de resposta vSphere

Parâmetro Tipo Descrição
nome de usuário cadeia Retorna o nome de usuário do vCenter.
segredo cadeia Mascara a senha do usuário.
ponto de extremidade cadeia Retorna o URL do servidor vCenter.

Exemplo de resposta vSphere

{
  "username": "_the_username",
  "updated": "2015-10-30 12:51:53.729679",
  "endpoint": "https://10.0.128.2",
  "description": "Manage cloud hosting, Linux and Windows machines",
  "state": "initializing",
  "deleted": null,
  "created": "2015-10-30 12:51:53.729679",
  "uri": "/services/providers/3afc1c99-dd66-436a-ace4-33979dd5f5ca",
  "name": "VMWareVSphereProvider",
  "services": [Provider id

  ],
  "secret": "_the_secret",
  "admin_boxes": [

  ],
  "members": [

  ],
  "owner": "operations",
  "organization": "elasticbox",
  "icon": "images/platform/vsphere.png",
  "type": "VMware vSphere",
  "id": "3afc1c99-dd66-436a-ace4-33979dd5f5ca",
  "schema": "http://elasticbox.net/schemas/vsphere/provider"
}

nuvem parâmetros de resposta do Google

Parâmetro Tipo Descrição
project_id cadeia Retorna a ID do projeto no Google nuvem que a conta do provedor usa.
e-mail cadeia Retorna a conta Gmail associada ao Google nuvem para a conta do provedor.
credentials object Retorna os objetos access_token e refresh_token ou a chave. Devolve uma chave se você forneceu uma chave JSON para a conta de serviço do projeto.

Exemplo de resposta Google nuvem

{
  "updated": "2015-10-30 12:34:09.062710",
  "description": "Manage cloud hosting and Linux machines",
  "icon": "images/platform/google.png",
  "created": "2015-10-30 12:34:09.062710",
  "deleted": null,
  "id": "d86e3bfe-1edc-45b4-a03b-28d1e2b7eee2",
  "uri": "/services/providers/d86e3bfe-1edc-45b4-a03b-28d1e2b7eee2",
  "name": "GoogleComputeProvider",
  "services": [

  ],
  "state": "initializing",
  "admin_boxes": [

  ],
  "members": [

  ],
  "organization": "elasticbox",
  "owner": "operations",
  "credentials": {
    "key": "_the_key"
  },
  "project_id": "_project_id",
  "type": "Google Compute",
  "email": "email@company.com",
  "schema": "http://elasticbox.net/schemas/gce/provider"
}

Parâmetros de resposta do Microsoft Azure Classic

Parâmetro Tipo Descrição
subscription_id cadeia Retorna a ID de assinatura Azure que a conta do provedor usa.

Exemplo de resposta clássica do Microsoft Azure

{
  "updated": "2015-10-30 12:49:38.014690",
  "description": "Manage compute services for Windows and Linux machines",
  "created": "2015-10-30 12:49:38.014690",
  "deleted": null,
  "uri": "/services/providers/57b41251-43fd-4a18-9182-c71db30f9035",
  "name": "MicrosoftAzureServiceProvider",
  "services": [

  ],
  "state": "initializing",
  "admin_boxes": [

  ],
  "members": [

  ],
  "owner": "operations",
  "organization": "elasticbox",
  "subscription_id": "_the_subscription_id",
  "icon": "images/platform/azure-storage.png",
  "type": "Azure Classic",
  "id": "57b41251-43fd-4a18-9182-c71db30f9035",
  "schema": "http://elasticbox.net/schemas/azure/provider"
}

Exemplo de resposta do Microsoft Azure

{
  "updated": "2015-10-30 12:49:38.014690",
  "description": "Manage compute services for Windows and Linux machines",
  "created": "2015-10-30 12:49:38.014690",
  "deleted": null,
  "uri": "/services/providers/57b41251-43fd-4a18-9182-XXXXXXXXX",
  "name": "MicrosoftAzureServiceProvider",
  "services": [

  ],
  "state": "initializing",
  "admin_boxes": [

  ],
  "members": [

  ],
  "owner": "operations",
  "organization": "elasticbox",
  "subscription_id": "_the_subscription_id",
  "icon": "images/platform/azure-storage.png",
  "type": "Microsoft Azure",
  "id": "57b41251-43fd-4a18-9182-XXXXXXXXXX",
  "schema": "http://elasticbox.net/schemas/azure/provider"
 "client_id": "_client_id",
 "secret": "_secret",
 "tenant": "1728acb8-cf75-45d8-bf56-XXXXXXXXX"
}

Parâmetros de resposta CloudStack

Parâmetro Tipo Descrição
url cadeia Retorna o ponto final API ao servidor de gerenciamento CloudStack.
api_key cadeia Retorna a chave API para a conta de usuário CloudStack.
secret_key cadeia Devolve o segredo API para a conta de usuário CloudStack.

Exemplo de resposta CloudStack

{
  "updated": "2015-10-30 12:28:22.315749",
  "api_key": "the_api_key",
  "description": "Manage cloud hosting, Linux and Windows machines",
  "created": "2015-10-30 12:28:22.315749",
  "url": "http://10.0.128.21:8080/client/api",
  "uri": "/services/providers/e50e4612-74a5-40b9-8aa0-b82631782c10",
  "name": "CloudStack",
  "deleted": null,
  "state": "initializing",
  "admin_boxes": [

  ],
  "members": [

  ],
  "organization": "elasticbox",
  "owner": "operations",
  "services": [

  ],
  "secret_key": "_the_secret_key",
  "icon": "images/platform/cloudstack.png",
  "type": "Cloudstack",
  "id": "e50e4612-74a5-40b9-8aa0-b82631782c10",
  "schema": "http://elasticbox.net/schemas/cloudstack/provider"
}

Parâmetros de resposta SoftLayer

Parâmetro Tipo Descrição
nome de usuário cadeia Retorna o nome de usuário SoftLayer que a conta do provedor usa.
api_key cadeia Retorna a chave API para o usuário SoftLayer.

Exemplo de resposta SoftLayer

{
  "username": "_the_username",
  "updated": "2015-10-30 12:22:57.519720",
  "api_key": "_the_apikey",
  "description": "Manage compute services for Windows and Linux machines",
  "created": "2015-10-30 12:22:57.519720",
  "deleted": null,
  "uri": "/services/providers/8a820dc5-c21e-434f-9ca7-03434d066bd6",
  "name": "SoftlayerProvider",
  "services": [

  ],
  "state": "initializing",
  "admin_boxes": [

  ],
  "members": [

  ],
  "owner": "operations",
  "organization": "elasticbox",
  "icon": "images/platform/softlayer.png",
  "type": "SoftLayer",
  "id": "8a820dc5-c21e-434f-9ca7-03434d066bd6",
  "schema": "http://elasticbox.net/schemas/softlayer/provider"
}

GET /services/providers

Obtém provedores disponíveis do espaço de trabalho pessoal do usuário autenticado.

URL

Estrutura

[GET] /services/providers

Exemplo

GET https://cam.ctl.io/services/providers

Solicitação

Cabeçalhos

content-type:application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Nome Tipo Descrição Req.
-------- ------- --------------- -----

Resposta

Código normal

  • 200 aceito

Códigos de erro

  • 400: Solicitação inválida

Parâmetros de resposta

Parâmetro Tipo Descrição
updated cadeia Data da última atualização.
descrição cadeia eb-provider-description
created cadeia Data de criação
uri cadeia Uri do provedor
nome cadeia Nome do provedor
serviços array Lista de serviços associados ao provedor, cada serviço tem um nome.
state cadeia Estado do fornecedor, há cinco estados possíveis: inicializando , processando , pronto , excluindo ou indisponível.
members array Lista de membros com acesso ao provedor.
owner cadeia Proprietário do provedor.
tipo cadeia Tipo de provedor, há os provedores disponíveis: Amazon Web serviços (AWS), VShpere, VCloud, RackSpace, Openstack, Google Compute, Azure, CloudStack, Softlayer, AWS Gov.
id cadeia Identificador exclusivo do provedor.
icon cadeia Ícone do provedor uri.
esquema cadeia O esquema uri do provedor certo.

Corpo da resposta

[
    {
        "updated": "2015-10-30 12:28:38.312157",
        "description": "Manage cloud hosting, Linux and Windows machines",
        "icon": "images/platform/cloudstack.png",
        "created": "2015-10-30 12:28:22.315749",
        "uri": "/services/providers/e50e4612-74a5-40b9-8aa0-b82631782c10",
        "name": "CloudStack",
        "services": [],
        "state": "unavailable",
        "members": [],
        "owner": "operations",
        "type": "Cloudstack",
        "id": "e50e4612-74a5-40b9-8aa0-b82631782c10",
        "schema": "http://elasticbox.net/schemas/cloudstack/provider"
    },
    {
        "schema": "http://elasticbox.net/schemas/vsphere/provider",
        "updated": "2015-10-30 12:25:42.135998",
        "description": "Manage cloud hosting, Linux and Windows machines",
        "created": "2015-10-09 07:35:00.273473",
        "uri": "/services/providers/cac26e4c-16f8-46ad-83ae-52a2b1ba4fca",
        "name": "vSphere",
        "owner": "operations",
        "state": "ready",
        "members": [],
        "services": [
            {
                "name": "Linux Compute"
            },
            {
                "name": "Windows Compute"
            }
        ],
        "type": "VMware vSphere",
        "id": "cac26e4c-16f8-46ad-83ae-52a2b1ba4fca",
        "icon": "images/platform/vsphere.png"
    },
    {
        "schema": "http://elasticbox.net/schemas/dimension-data/provider",
        "updated": "2015-10-30 12:58:20.228258",
        "description": "Manage compute services in DD",
        "created": "2015-10-30 12:58:19.078758",
        "uri": "/services/providers/052211ae-096a-44e7-b88c-27d8dcac3971",
        "name": "DimensionDataProvider",
        "services": [
            {
                "locations": [],
                "name": "Linux Compute"
            },
            {
                "locations": [],
                "name": "Windows Compute"
            }
        ],
        "state": "unavailable",
        "members": [],
        "owner": "operations",
        "type": "Dimension Data",
        "id": "052211ae-096a-44e7-b88c-27d8dcac3971",
        "icon": "images/platform/dimension-data.png"
    },
    {
        "updated": "2015-10-27 20:54:28.739422",
        "description": "Manage EC2, ECS and Cloudformation instances",
        "icon": "images/platform/aws.png",
        "created": "2015-10-27 16:25:58.448390",
        "uri": "/services/providers/7e841966-1dec-4460-a981-1db4e1eec10c",
        "name": "AWSProvider",
        "owner": "operations",
        "state": "ready",
        "members": [],
        "services": [
            {
                "locations": [
                    {},
                    {}
                ],
                "name": "CloudFormation Service"
            },
            {
                "name": "ECS Service",
                "locations": [
                    {
                        "clusters": []
                    },
                    {},
                    {
                        "clusters": []
                    }
                    {
                        "clusters": [
                            {
                                "name": "scenarios-cluster",
                                "arn": "arn:aws:ecs:us-east-1:729190825118:cluster/scenarios-cluster"
                            }
                        ]
                    }
                ]
            },
            {
                "name": "Linux Compute",
                "locations": [
                    {},
                    {}
                ]
            },
            {
                "name": "Windows Compute",
                "locations": [
                    {},
                    {}
                ]
            }
        ],
        "type": "Amazon Web Services",
        "id": "7e841966-1dec-4460-a981-1db4e1eec10c",
        "schema": "http://elasticbox.net/schemas/aws/provider"
    }
]

GET /services/providers/{provider_id}

Busca um provedor existente quando você der a ID do provedor.

URL

Estrutura

[GET] /services/providers/{provider_id}

Exemplo

GET https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e

Solicitação

Cabeçalhos

content-type:application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Nome Tipo Descrição Req.
provider_id cadeia A identificação do provedor Sim

Resposta

Código normal

  • 202 Aceito

Códigos de erro

  • 403: Proibido
  • 404: Não encontrado

Parâmetros de resposta

Parâmetro Tipo Descrição
updated cadeia Data da última atualização.
descrição cadeia eb-provider-description
created cadeia Data de criação
uri cadeia Uri do provedor
nome cadeia Nome do provedor
serviços array Lista de serviços associados ao provedor, cada serviço tem um nome.
state cadeia Estado do fornecedor, há cinco estados possíveis: inicializando , processando , pronto , excluindo ou indisponível.
members array Lista de membros com acesso ao provedor.
owner cadeia Proprietário do provedor.
tipo cadeia Tipo de provedor, há os provedores disponíveis: Amazon Web serviços (AWS), VShpere, VCloud, RackSpace, Openstack, Google Compute, Azure, CloudStack, Softlayer, AWS Gov.
id cadeia Identificador exclusivo do provedor.
esquema cadeia O tipo de provedor schema uri.
icon cadeia Ícone do provedor uri.

Corpo da resposta

{
    "costcenter": "c3195962-4c70-4ad6-a17a-189a5579a45a",
    "owner": "dryrun",
    "default_managed_iis_policies_created": true,
    "clc_alias": "DA4",
    "management_state": true,
    "id": "8132cc1d-38b0-4867-b7a3-1af7b83d4792",
    "state": "ready",
    "admin_boxes": [],
    "type": "Amazon Web Services",
    "managed_os": true,
    "schema": "http://elasticbox.net/schemas/aws/provider",
    "updated": "2018-10-15 19:10:57.749750",
    "description": null,
    "management_state_history": [
        {
            "started": "2018-04-06 00:29:28.414938",
            "state": "up",
            "completed": "2018-07-26 18:43:46.867016"
        },
        {
            "started": "2018-07-26 18:43:46.867016",
            "state": "down",
            "completed": "2018-07-26 18:53:27.827179"
        }
    ],
    "default_sql_server_policies_created": true,
    "deleted": null,
    "default_management_appliance_policies_created": true,
    "default_policies_created": true,
    "members": [
        {
            "role": "read",
            "workspace": "mission5"
        }
    ],
    "services": [
        {
            "icon": "images/platform/aws-cloudformation.png",
            "locations": [
                {
                    "name": "ap-northeast-1"
                },
                {
                    "name": "ap-northeast-2"
                }
            ],
            "name": "CloudFormation Service",
            "schema": "http://elasticbox.net/schemas/aws/cloudformation/cloudformation"
        },
        {
            "locations": [
                {
                    "clusters": [],
                    "name": "ap-northeast-1"
                },
                {
                    "name": "ap-northeast-2"
                }
            ],
            "icon": "images/platform/amazon-ecs.png",
            "name": "Container Service",
            "roles": [
                {
                    "name": "None"
                }
            ],
            "schema": "http://elasticbox.net/schemas/aws/ecs/container"
        },
        {
            "flavors": [
                {
                    "name": "c1.medium"
                },
                {
                    "name": "c1.xlarge"
                }
            ],
            "name": "Linux Compute",
            "roles": [
                {
                    "name": "None"
                },
                {
                    "name": "AutoScaleS3Access"
                }
            ],
            "locations": [
                {
                    "clouds": [
                        {
                            "subnets": [
                                {
                                    "description": "172.31.16.0/20",
                                    "name": "subnet-ygygjyg"
                                },
                                {
                                    "description": "172.31.0.0/20",
                                    "name": "subnet-97ty97h"
                                }
                            ],
                            "description": "172.31.0.0/16",
                            "target_groups": [],
                            "load_balancers": [],
                            "security_groups": [
                                {
                                    "name": "Automatic"
                                },
                                {
                                    "description": "default VPC security group",
                                    "name": "sg-40c1ea39"
                                }
                            ],
                            "name": "vpc-9ff879f8"
                        }
                    ],
                    "name": "ap-northeast-1",
                    "placement_groups": [],
                    "images": [
                        {
                            "owner": "user",
                            "description": "Latest Amazon AMI",
                            "name": "Linux Compute"
                        },
                        {
                            "owner": "user",
                            "description": "CentOS 7 for Management Appliance",
                            "root_disk": {
                                "device": "/dev/sda1",
                                "iops": null,
                                "type": "gp2",
                                "size": 8
                            },
                            "name": "ami-3185744e"
                        }
                    ],
                    "alarms": [],
                    "keypairs": [
                        {
                            "name": "None"
                        }
                    ]
                }
            ],
            "certificates": [],
            "schema": "http://elasticbox.net/schemas/aws/compute/linux",
            "icon": "images/platform/linux.png"
        },
    ],
    "credentials": {
        "role": "arn:aws:iam::6366654466:role/Cam_Access"
    },
    "icon": "images/platform/aws.svg",
    "target_regions": [
        {
            "appliance_id": "***********",
            "name": "us-east-1",
            "vpc": "************"
        }
    ],
    "name": "Dry-Run AWS",
    "reseller": false,
    "created": "2018-03-16 16:17:59.531589",
    "uri": "/services/providers/8132cc1d-38b0-4867-b7a3-1af7b83d4792",
    "organization": "mission-field"
}

PUT /services/providers/{provider_id}

Atualiza um provedor existente quando você fornece a ID do provedor. Passe o objeto do provedor no corpo da solicitação para atualizar estes campos: nome, descrição e membros.

Para AWS, você também pode atualizar a chave e o segredo. Para Vmware vShpere, Sftlayer, você também pode atualizar o nome de usuário, segredo e ponto final.

URL

Estrutura

[PUT] /services/providers/{provider_id}

Exemplo

PUT https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.
provider_id cadeia A id exclusiva do provedor criado Sim

Resposta

Códigos de resposta normais

  • 200 Aceito

Códigos comuns de resposta ao erro

  • 400: Solicitação inválida - Dados inválidos
  • 403: Proibido - O usuário não pertence à organização
  • 404: Não encontrado
  • 409: Conflito

Parâmetros de resposta

Parâmetro Tipo Descrição
updated cadeia Data da última atualização.
descrição cadeia eb-provider-description
created cadeia Data de criação
uri cadeia Uri do provedor
nome cadeia Nome do provedor
serviços array Lista de serviços associados ao provedor, cada serviço tem um nome.
state cadeia Estado do fornecedor, há cinco estados possíveis: inicializando , processando , pronto , excluindo ou indisponível .
members array Lista de membros com acesso ao provedor.
owner cadeia Proprietário do provedor.
tipo cadeia Tipo de provedor, há dois possíveis provedores: Amazon Web serviços ou Vmware vShpere.
id cadeia Identificador exclusivo do provedor.
icon cadeia Ícone do provedor uri.

Corpo da resposta

{
    "costcenter": "c3195962-4c70-4ad6-a17a-189a5579a45a",
    "owner": "dryrun",
    "default_managed_iis_policies_created": true,
    "clc_alias": "DA4",
    "management_state": true,
    "id": "8132cc1d-38b0-4867-b7a3-1af7b83d4792",
    "state": "ready",
    "admin_boxes": [],
    "type": "Amazon Web Services",
    "managed_os": true,
    "schema": "http://elasticbox.net/schemas/aws/provider",
    "updated": "2018-10-15 19:10:57.749750",
    "description": null,
    "management_state_history": [
        {
            "started": "2018-04-06 00:29:28.414938",
            "state": "up",
            "completed": "2018-07-26 18:43:46.867016"
        },
        {
            "started": "2018-07-26 18:43:46.867016",
            "state": "down",
            "completed": "2018-07-26 18:53:27.827179"
        }
    ],
    "default_sql_server_policies_created": true,
    "deleted": null,
    "default_management_appliance_policies_created": true,
    "default_policies_created": true,
    "members": [
        {
            "role": "read",
            "workspace": "mission5"
        }
    ],
    "services": [
        {
            "icon": "images/platform/aws-cloudformation.png",
            "locations": [
                {
                    "name": "ap-northeast-1"
                },
                {
                    "name": "ap-northeast-2"
                }
            ],
            "name": "CloudFormation Service",
            "schema": "http://elasticbox.net/schemas/aws/cloudformation/cloudformation"
        },
        {
            "locations": [
                {
                    "clusters": [],
                    "name": "ap-northeast-1"
                },
                {
                    "name": "ap-northeast-2"
                }
            ],
            "icon": "images/platform/amazon-ecs.png",
            "name": "Container Service",
            "roles": [
                {
                    "name": "None"
                }
            ],
            "schema": "http://elasticbox.net/schemas/aws/ecs/container"
        },
        {
            "flavors": [
                {
                    "name": "c1.medium"
                },
                {
                    "name": "c1.xlarge"
                }
            ],
            "name": "Linux Compute",
            "roles": [
                {
                    "name": "None"
                },
                {
                    "name": "AutoScaleS3Access"
                }
            ],
            "locations": [
                {
                    "clouds": [
                        {
                            "subnets": [
                                {
                                    "description": "172.31.16.0/20",
                                    "name": "subnet-231b2d0b"
                                },
                                {
                                    "description": "172.31.0.0/20",
                                    "name": "subnet-af8e04f4"
                                }
                            ],
                            "description": "172.31.0.0/16",
                            "target_groups": [],
                            "load_balancers": [],
                            "security_groups": [
                                {
                                    "name": "Automatic"
                                },
                                {
                                    "description": "default VPC security group",
                                    "name": "sg-40c1ea39"
                                }
                            ],
                            "name": "vpc-9ff879f8"
                        }
                    ],
                    "name": "ap-northeast-1",
                    "placement_groups": [],
                    "images": [
                        {
                            "owner": "user",
                            "description": "Latest Amazon AMI",
                            "name": "Linux Compute"
                        },
                        {
                            "owner": "user",
                            "description": "CentOS 7 for Management Appliance",
                            "root_disk": {
                                "device": "/dev/sda1",
                                "iops": null,
                                "type": "gp2",
                                "size": 8
                            },
                            "name": "ami-3185744e"
                        }
                    ],
                    "alarms": [],
                    "keypairs": [
                        {
                            "name": "None"
                        }
                    ]
                },
                {
                    "clouds": [
                        {
                            "subnets": [
                                {
                                    "description": "172.31.0.0/20",
                                    "name": "subnet-9ecc86f6"
                                },
                                {
                                    "description": "172.31.16.0/20",
                                    "name": "subnet-1dee5651"
                                }
                            ],
                            "description": "172.31.0.0/16",
                            "target_groups": [],
                            "load_balancers": [],
                            "security_groups": [
                                {
                                    "name": "Automatic"
                                },
                                {
                                    "description": "default VPC security group",
                                    "name": "sg-ff282394"
                                }
                            ],
                            "name": "vpc-08296b60"
                        }
                    ],
                    "name": "ap-northeast-2",
                    "placement_groups": [],
                    "images": [
                        {
                            "owner": "user",
                            "description": "Latest Amazon AMI",
                            "name": "Linux Compute"
                        },
                        {
                            "owner": "user",
                            "description": "CentOS 7 for Management Appliance",
                            "root_disk": {
                                "device": "/dev/sda1",
                                "iops": null,
                                "type": "gp2",
                                "size": 8
                            },
                            "name": "ami-46963e28"
                        }
                    ],
                    "alarms": [],
                    "keypairs": [
                        {
                            "name": "None"
                        }
                    ]
                }
            ],
            "certificates": [],
            "schema": "http://elasticbox.net/schemas/aws/compute/windows",
            "icon": "images/platform/windows.png"
        }
    ],
    "credentials": {
        "role": "arn:aws:iam::636534623543:role/Cam_Access"
    },
    "icon": "images/platform/aws.svg",
    "target_regions": [
        {
            "appliance_id": "*********",
            "name": "us-east-1",
            "vpc": "**************"
        }
    ],
    "name": "Dry-Run AWS",
    "reseller": false,
    "created": "2018-03-16 16:17:59.531589",
    "uri": "/services/providers/8132cc1d-38b0-4867-b7a3-1af7b83d4792",
    "organization": "mission-field"
}

DELETE /services/providers/{provider_id}

Exclui um provedor existente quando você fornece a ID do provedor.

URL

Estrutura

[DELETE] /services/providers/{provider_id}

Exemplo

DELETE https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.

| provider_id | cadeia | A identificação exclusiva que deu a cada provedor | Sim |

Resposta

Códigos de resposta normais

  • 202 Aceito

Códigos comuns de resposta ao erro

  • 400: Solicitação inválida - Dados inválidos
  • 400: Solicitação inválida - Serviço ativo usando o provedor
  • 403: Proibido
  • 404: Não encontrado

PUT /services/providers/{provider_id}/sync

Sincroniza um provedor existente quando você fornece a ID do provedor.

URL

Estrutura

[PUT] /services/providers/{provider_id}/sync

Exemplo

PUT https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/sync

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.

| provider_id | cadeia | A identificação exclusiva que deu a cada provedor | Sim |

Resposta

Códigos de resposta normais

  • 202 Aceito

Códigos comuns de resposta ao erro

  • 403: Proibido - O usuário não pertence à organização
  • 404: Não encontrado

GET /services/providers/{provider_id}/logs

Recupera os registros de um provedor quando você fornece a ID do provedor.

URL

Estrutura

[GET] /services/providers/{provider_id}/logs

Exemplo

GET https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/logs

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.

| provider_id | cadeia | A identificação exclusiva que deu a cada provedor | Sim |

Resposta

Códigos de resposta normais

  • 200 Aceito

Códigos comuns de resposta ao erro

  • 403: Proibido - O usuário não pertence à organização
  • 404: Não encontrado

Parâmetros de resposta

Parâmetro Tipo Descrição
workspace cadeia Id do espaço de trabalho que executa a ação.
provider_id cadeia Identificador exclusivo do provedor.
created cadeia Data de criação
texto cadeia Descrição da ação do profiver-log.
level integer Nível de ação do registro do provedor.
updated array Data da atualização.
id cadeia Identificador exclusivo do provedor.
esquema cadeia URL do esquema de log-log.

Corpo da resposta

 [
    {
       provider_id: "72626gg12d-38b0-4867-b7a3-1af7b83d4792",
       level: 40,
       text: "Amazon Web Services Management Console was accessed",
       created: "2018-10-22 07:30:47.808486",
       updated: "2018-10-22 07:30:47.808621",
       role: "arn:aws:iam::636588615608:role/ElasticBox_Access",
       workspace: "thomasbroadwell",
       request_id: "e09360e1-7738-4cd9-91f2-dhh7883253fv",
       operation: "console_access",
       id: "231373e4-ab8f-4c28-8ba6-i981fhgw6923gs9",
       schema: "http://elasticbox.net/schemas/provider-log"
    },
    {
       provider_id: "8132cc1d-38b0-4867-b1hsh-1af7b83d4792",
       level: 40,
       text: "Image ami-2051294a in location us-east-1 added successfully.",
       created: "2018-10-15 19:10:57.765608",
       updated: "2018-10-15 19:10:57.766848",
       workspace: "msa_service_account1",
       request_id: "77aac7887c1-1655-4e09-a500-0ccf83161eec",
       operation: "sync",
       id: "b87672c001d-64c4-4103-ac0b-92927373f",
       schema: "http://elasticbox.net/schemas/provider-log"
    }
 ]

GET /services/providers/{provider_id}/unregisted-instances

Recupera uma lista de instâncias não registradas encontradas em um provedor quando você fornece a ID do provedor.

URL

Estrutura

[GET] /services/providers/{provider_id}/unregisted-instances

Exemplo

GET https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/unregisted-instances

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.
provider_id cadeia A identificação exclusiva que deu a cada provedor Sim

Resposta

Códigos de resposta normais

  • 200 Aceito

Códigos comuns de resposta ao erro

  • 403: Proibido - O usuário não pertence à organização
  • 404: Não encontrado

Parâmetros de resposta

Parâmetro Tipo Descrição
perfil object Perfil de instância. (o objeto de perfil depende do provedor, tem subobjeto diferente)
provider_id cadeia Identificador exclusivo do provedor da instância.
nome cadeia Nome da instância
created cadeia Data de criação
deleted cadeia Data de exclusão lógica.
tipo cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
server_info object Instância de ips públicos e privados e DNS público.
updated array Data da atualização.
power_state cadeia Pode ser executado ou interrompido.
organização cadeia Organização à qual pertence a instância.
external_id cadeia Id externa da instância.
id cadeia Identificador exclusivo da instância.
esquema cadeia URL do esquema de instância não registrada.

Corpo da resposta

  [
     {
       profile: {
       location: "us-west-2",
       service: "cloudtrail",
       schema: "http://elasticbox.net/schemas/aws/native-service/profile"
       },
       schema: "http://elasticbox.net/schemas/unregistered-instance",
       provider_id: "34g4-38b0-4867-b7a3-a8827f662g1b",
       description: "S3 Bucket: partsultd-cloudtrail",
       created: "2018-09-24 16:10:06.198406",
       deleted: null,
       type: "Native Service",
       server_info: { },
       updated: "2018-09-24 16:22:18.000760",
       stack_id: null,
       autoscaling_group: null,
       power_state: "running",
       organization: "mission-field",
       external_id: "MissionField-Mgmt",
       id: "451873d3-07cb-450d-b20d-183g3189d2001f",
       name: "PartsUltdAPILogs-Mgmt"
     }
  ]

POST /services/providers/{provider_id}/images

Adiciona uma nova imagem de máquina a um provedor quando você fornece a ID do provedor. Suportado somente pela AWS e pelo Azure.

URL

Estrutura

[POST] /services/providers/{provider_id}/images

Exemplo

POST https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/images

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.
provider_id cadeia A identificação exclusiva que deu a cada provedor Sim

Solicitar parâmetros do corpo

Parâmetro Tipo Descrição
localização cadeia Região da imagem.
nome cadeia image-name
descrição cadeia Descrição da imagem

Corpo da solicitação

{
   "location":"us-east-1",
   "name":"ami-3275ee5b",
   "description":"New Image Description"
}

Resposta

Códigos de resposta normais

  • 202 Aceito

Códigos comuns de resposta ao erro

  • 400: Solicitação inválida - Solicitação ausente, incompleta ou inclui propriedades inválidas (detalhes fornecidos dentro do corpo)
  • 403: Proibido - O usuário não pertence à organização
  • 404: Não encontrado

DELETE /services/providers/{provider_id}/images/{machine_image_id}

Exclui uma imagem de máquina existente quando você fornece a ID do provedor e a ID da imagem da máquina.

URL

Estrutura

[DELETE] /services/providers/{provider_id}/images/{machine_image_id}

Exemplo

DELETE https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/images/b253138f109e?location=us-east-1

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.
provider_id cadeia A identificação exclusiva que deu a cada provedor Sim

Solicitar parâmetros do corpo

Parâmetro Tipo Descrição
localização cadeia Região da imagem da máquina a ser excluída.

Resposta

Códigos de resposta normais

  • 202 Aceito

Códigos comuns de resposta ao erro

  • 400: Solicitação inválida - Solicitação ausente, incompleta ou inclui propriedades inválidas (detalhes fornecidos dentro do corpo)
  • 403: Proibido - O usuário não pertence à organização
  • 404: Não encontrado

GET /services/providers/{provider_id}/search/images"

Exclui uma imagem de máquina existente quando você fornece a ID do provedor e a ID da imagem da máquina.

URL

Estrutura

[GET] GET /services/providers/{provider_id}/search/images

Exemplo

GET https://cam.ctl.io/services/providers/de5524a3-94f4-406b-a878-c9600bf3ed1a/search/images?publisher=4psa&offer=voipnow

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.
provider_id cadeia A identificação exclusiva que deu a cada provedor Sim
publicador cadeia O número exclusivo da editora Não
oferta cadeia O número da oferta Não

Resposta

Se nenhum editor estiver na sequência de consulta

{
 "publishers": [
    "128technology",
    "1e",
    "4psa",
    "5nine-software-inc",
    "7isolutions",
    "a10networks",
    "a10_networks-5255398",
    ...
 }

se a editora tiver ofertas

{
  offers: [
    "voipnow"
  ]
}

Códigos de resposta normais

  • 202 Aceito

Códigos comuns de resposta ao erro

  • 400: Solicitação inválida - Operação não suportada para XXXXXXXXXXX
  • 500: Erro interno do servidor - Erro crítico ao processar a solicitação: XXXXXXXXXXX
  • 404: Não encontrado - Fornecedor com ID XXXXXXXXXXX não pode ser encontrado

Como contatar o suporte do Cloud Application Manager

Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

  • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
  • Windows: Windows: RDP na instância para localizar o registro em ProgramDataElasticBoxLogselasticbox-agent.log

API de centros de custo

Uso por centro de custos

Recurso Descrição
POST /services/costcenters Criar centro de custo
GET /services/costcenters/{costcenter_id} Busca um Centro de Custo existente.
PUT /services/costcenters/{costcenter_id} Atualiza um Centro de Custo existente.
DELETE /services/costcenters/{costcenter_id} Exclui um centro de custo existente.

POST /services/costcenters

Cria um novo centro de custo e obtém o centro de custo criado

URL

Estrutura

[POST] /services/costcenters

Exemplo

[POST] https://cam.ctl.io/services/costcenters

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

  • Nenhum

Solicitar parâmetros do corpo

Nome Tipo Descrição Req.
nome cadeia Nome do centro de custo. Sim
organização cadeia Nome da organização com acesso ao Centro de Custo. Sim
esquema cadeia Escopo do centro de custos Sempre “http://elasticbox.net/schemas/costcenter” Sim
members array Lista de identificação de membros do centro de custo como administradores. Não
Parâmetros da lista de membros

Um item na lista membros requer 3 parâmetros:

Parâmetro Tipo Descrição Req.
id cadeia pode ser um ID de espaço de trabalho ou um DN de grupo ldap. Sim
papel cadeia sempre é administrador. Não
tipo cadeia pode ser espaço de trabalho (padrão) ou ldap. Não
{
    "name": "Cost Center example",
    "organization": "camdemo",
    "schema": "http://elasticbox.net/schemas/costcenter",
    "members":[{"id":"camdemo"}]
}

Resposta

Códigos de resposta normais

  • 201 Criado

Códigos comuns de resposta ao erro

  • 400 Solicitação inválida
  • 0 não autorizado

Cabeçalhos

Content-Type: application/json
Content-Length: 489
Date: Thu, 27 Dec 2018 09:57:34 GMT
Elasticbox-Release: 4.0.0

Parâmetros de resposta

Parâmetro Tipo Descrição
clc_alias cadeia Alias de conta do centro costcenter na organização.
created cadeia Data de criação Exemplo “2015-07-02 10:23:47.748740”
deleted object Identifica se o centro de custo é excluído; nulo para objetos existentes.
id cadeia Identificador exclusivo do Centro de custo.
members array Lista de membros de um centro de custo. Ver Parâmetros do membro
nome cadeia Nome do centro de custo
organização cadeia Organização à qual o centro de custo pertence.
esquema cadeia URI do esquema. http://elasticbox.net/schemas/costcenter.
updated cadeia Data da última atualização. Exemplo “2018-10-30 16:03:14.409029”
uri cadeia URI do centro de custo.

Corpo da resposta

{
    "created": "2018-12-27 10:53:26.389183",
    "deleted": null,
    "id": "1072ca63-d84d-42f2-87a5-f09c72338eb1",
    "members": [
        {
            "type": "workspace",
            "role": "administrator",
            "id": "camdemo"
        },
    ],
    "name": "Cost Center example",
    "organization": "camdemo",
    "schema": "http://elasticbox.net/schemas/costcenter",
    "updated": "2018-12-27 10:53:26.389183",
    "uri": "/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1"
}

GET /services/costcenters

Busca um Centro de Custo existente.

URL

Estrutura

[GET] /services/costcenters/{costcenter_id}

Exemplo

[GET] https://cam.ctl.io/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Nome Tipo Descrição Req.
costcenter_id cadeia ID do centro de custo Sim

Solicitar parâmetros do corpo

  • Nenhum

Resposta

Códigos de resposta normais

  • 200 OK

Códigos comuns de resposta ao erro

  • 400 Solicitação inválida
  • 0 não autorizado
  • 404 Não encontrado

Parâmetros de resposta

Parâmetro Tipo Descrição
clc_alias cadeia Alias de conta do centro costcenter na organização.
created cadeia Data de criação Exemplo “2015-07-02 10:23:47.748740”
deleted object Identifica se o centro de custo é excluído.
id cadeia Identificador exclusivo do Centro de custo.
members array Lista de membros de um centro de custo. Ver Parâmetros do membro
nome cadeia Nome do centro de custo
organização cadeia Organização à qual o centro de custo pertence.
esquema cadeia URI do esquema. http://elasticbox.net/schemas/costcenter.
updated cadeia Data da última atualização. Exemplo “2018-10-30 16:03:14.409029”
uri cadeia URI do centro de custo.

Corpo da resposta

{
    "updated": "2018-10-30 16:03:14.409029",
    "name": "Cost Center example",
    "created": "2015-07-02 10:23:47.748740",
    "deleted": null,
    "uri": "/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1",
    "members": [
        {
            "type": "workspace",
            "role": "administrator",
            "id": "camdemo"
        },
    ],
    "clc_alias": "A73B",
    "organization": "camdemo",
    "id": "1072ca63-d84d-42f2-87a5-f09c72338eb1",
    "schema": "http://elasticbox.net/schemas/costcenter"
}

PUT /services/costcenters

Atualiza um ou vários valores em um Centro de custo existente.

Obs.:
Tenha cuidado usando esse comando porque você pode adicionar ou remover alguns valores dependendo se eles estão incluídos ou não como parâmetro de solicitação. Recomendamos primeiro obter esses dados com o comando GET e depois fazer alterações sobre eles.

Preste atenção aos valores como membros que serão adicionados ou excluídos se existirem ou não no parâmetro de solicitação.

URL

Estrutura

[PUT] /services/costcenters/{costcenter_id}

Exemplo

[PUT] https://cam.ctl.io/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Nome Tipo Descrição Req.
costcenter_id cadeia ID do centro de custo Sim

Solicitar parâmetros do corpo

Nome Tipo Descrição Req.
id cadeia Identificador exclusivo do Centro de custo. Sim
members array Lista de membros do centro de custo. Ver Parâmetros do membro Sim
nome cadeia Nome do centro de custo. Sim
organização cadeia Organização à qual o centro de custo pertence. Sim
esquema cadeia URI do esquema. http://elasticbox.net/schemas/costcenter. Sim
icon_metadata cadeia Ícone usado para a conta Centro de custo. Não

Obs.:
Tenha cuidado usando esse comando porque alguns valores como membros serão adicionados ou excluídos se existirem ou não no parâmetro de solicitação. Para não ser excluído um membro existente, basta dar a sua identificação de associado.

{
    "id":"1072ca63-d84d-42f2-87a5-f09c72338eb1",
    "name":"Cost Center example",
    "organization":"camdemo",
    "schema":"http://elasticbox.net/schemas/costcenter",
    "members":[{"id":"camdemo"}]
}

Resposta

Códigos de resposta normais

  • 200 OK

Códigos comuns de resposta ao erro

  • 400 Solicitação inválida
  • 0 não autorizado
  • 404 Não encontrado

Cabeçalhos

Content-Type: application/json
Content-Length: 489
Date: Thu, 27 Dec 2018 09:57:34 GMT
Elasticbox-Release: 4.0.0

Parâmetros de resposta

  • Nenhum

Corpo da resposta

DELETE /services/costcenters

Exclui um centro de custo existente do usuário autenticado.

URL

Estrutura

[DELETE] /services/costcenters/{costcenter_id}

Exemplo

[DELETE] https://cam.ctl.io/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Nome Tipo Descrição Req.
costcenter_id cadeia ID do centro de custo Sim

Solicitar parâmetros do corpo

  • Nenhum

Resposta

Códigos de resposta normais

  • 204 OK - Sem conteúdo

Códigos comuns de resposta ao erro

  • 0 não autorizado
  • 404 Não encontrado

Parâmetros de resposta

  • Nenhum

Corpo da resposta

  • Nenhum

API de organizações

Gerenciar uma organização

Recurso Descrição
GET /services/organizations/{organization_name} Obtém o documento da organização
GET /services/organizations/{organization_name}/boxes Obter as caixas da organização dada.
GET /services/organizations/{organization_name}/instances Obtenha as instâncias da organização dada.
GET /services/organizations/{organization_name}/providers Get the providers of the given organization.
GET /services/organizations/{organization_name}/workspaces Obter os espaços de trabalho da organização dada.
PUT /services/organizations/{organization_name} Atualiza uma organização existente.
PUT /organizations/{organization_name}/sync_groups Faz uma solicitação para sincronizar grupos LDAP.

GET /services/organizations/{organization_name}

Obtém o esquema de uma determinada organização.

URL

Estrutura

[GET] /services/organizations/{organization_name}

Exemplo

GET https://cam.ctl.io/services/organizations/customer_org

Solicitação

Cabeçalhos

Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0

Parâmetros URI

Parâmetro Tipo Descrição Req.
organization_name cadeia o nome da organização Sim

Resposta

Códigos de resposta normais

  • 200 OK

Códigos comuns de resposta ao erro

  • 401: Não autorizado - Token/cookie de acesso inválido
  • 403: Proibido - O usuário não pertence à organização
  • 404: Não encontrado - Nenhuma organização encontrada com o nome fornecido

Parâmetros de resposta

Parâmetro Tipo Descrição
esquema cadeia URI do esquema da organização: //elasticbox.net/schemas/organization
nome cadeia Nome da organização
icon cadeia Ícone da organização URI
updated cadeia Data da última atualização
created cadeia Data de criação
setup boolean Isso é somente leitura. Ele indica que o dispositivo do Gerenciador de aplicativos nuvem está configurado e pronto para uso.
administrators array Lista de usuários que podem administrar a organização
domains cadeia Domínios que fazem parte da organização
autenticação object Lista dos métodos de autenticação para permitir o logon único na organização. Contém as seguintes propriedades:
  • GitHub Booleano. Se habilitado, é verdadeiro, mais falso.
  • Google Booleano. Se habilitado, é verdadeiro, mais falso.
  • senha Booleano. Se habilitado, é verdadeiro, mais falso.
  • LDAP Booleano. Se habilitado, é verdadeiro, mais falso.
  • ldap_config: Objeto que contém as configurações de serviço LDAP:
    • ldap_group_sync: Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • Fonte: Conjunto de Fontes LDAP. Cada fonte tem as seguintes propriedades:
      • host Obrigatório. A String identifica o nome do host ou endereço IP do serviço LDAP.
      • grupos_dn: String especifica um nome de grupo totalmente qualificado.
      • grupo_dn_filtro: String define uma entidade no servidor LDAP. Todos os grupos são sincronizados como filhos desta entidade.
      • email_campo: String especifica o nome do campo de e-mail para procurar usuários. Normalmente, este campo é chamado de e-mail.
      • ldap_search_senha: String especifica a senha da conta de serviço LDAP para procurar usuários que tentam fazer login
      • ldap_search_usuário: String especifica o nome de usuário da conta de serviço LDAP para procurar usuários que tentam fazer login.
    ldap_last_sync_completed cadeia Carimbo de hora da última sincronização de grupo LDAP bem-sucedida, por exemplo, 2015-04-06 14:28:12.874910. Valor nulo se ldap_group_sync estiver definido como falso.
    ldap_groups array Lista de objetos, cada um dos quais é um grupo LDAP. Cada grupo tem duas propriedades:
  • DN Identificador de sequência para o grupo.
  • @nome Nome da sequência exibido na interface da web do espaço de trabalho.
  • provedores array Lista de provedores de nuvem que a organização pode permitir registrar e implantar. Cada tipo de provedor tem as seguintes propriedades habilitadas:
  • Valor booleano de verdadeiro se habilitado, mais falso.
  • tipo Valores de string dos provedores de nuvem suportados: Amazon Web serviços, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web serviços GovCloud, Rackspace.
  • Descrição: String que enumera brevemente os serviços do provedor de nuvem.
  • preços Conjunto de informações de preço para tipos de instância computacional Linux e Windows. Disponível apenas para Amazon Web serviços.
  • tags array Lista de etiquetas aplicados em instâncias implantadas para provedores de nuvem da organização. Cada etiqueta tem três propriedades:
  • @nome String que você aplica como tag.
  • tipo A String identifica o tipo de tag nuvem objeto do Gerenciador de aplicativos ou um personalizado. Os valores permitidos são Caixa, Espaço de trabalho, Provedor, ambiente, E-mail, ID de usuário, ID da instância de serviço, ID do serviço, ID do espaço de trabalho, ID da instância, Personalizado.
  • valor Valor da sequência de caracteres nulo para nuvem objetos do Gerenciador de aplicativos. Para tags personalizadas, defina seu valor usando esta propriedade.
  • webhooks array Lista de webhook que se integram com a organização.

    Corpo da resposta

    {
        "remedy_account_id": "CPY000000115554",
        "features": {
            "net_x": true,
            "alm": true,
            "monitoring": true,
            "managed_provider": true,
            "show_unregistered_resources": true,
            "sync_corporate_groups": false,
            "aws_reseller": true,
            "ignore_velocity_templates": true,
            "safehaven_dr": false,
            "reporting": false,
            "ucpe": false,
            "managed_clc_provider": true,
            "delegate_managed_os": true,
            "custom_pricing": false,
            "analytics": true,
            "provider_sharing": true,
            "validate_emails": true,
            "safehaven_migration": false,
            "azure_reseller": true,
            "onboard_checklist": false,
            "aware_duplicate_arns": false
        },
            "providers": [
                {
                    "enabled": true,
                    "type": "CenturyLink",
                    "description": "Manage cloud hosting, Linux and Windows machines",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "CenturyLink DCC Foundation",
                    "description": "Manage cloud hosting, Linux and Windows machines.",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "CenturyLink DCC",
                    "pricing": [],
                    "description": "Manage cloud hosting, Linux and Windows machines"
                },
                {
                    "enabled": true,
                    "type": "Microsoft Azure",
                    "pricing": [],
                    "description": "Manage Microsoft services using Azure Resource Manager"
                },
                {
                    "enabled": true,
                    "type": "Amazon Web Services",
                    "description": "Manage EC2, S3, Dynamo DB, and RDS instances",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "Openstack",
                    "description": "Manage cloud hosting, Linux and Windows machines",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "VMware vSphere",
                    "description": "Manage cloud hosting, Linux and Windows machines",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "Google Compute",
                    "description": "Manage cloud hosting and Linux machines",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "Azure Classic",
                    "description": "Manage compute services for Windows and Linux machines.",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "Cloudstack",
                    "description": "Manage cloud hosting, Linux and Windows machines",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "SoftLayer",
                    "description": "Manage compute services for Windows and Linux machines.",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "Rackspace",
                    "description": "Manage cloud hosting and Linux machines.",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "VMware vCloud Director",
                    "description": "Manage cloud hosting, Linux and Windows machines.",
                    "pricing": []
                },
                {
                    "enabled": true,
                    "type": "Dimension Data",
                    "description": "Manage cloud hosting, Linux and Windows machines",
                    "pricing": []
                }
            ],
        "account_installed_product": "******",
        "clc_alias": "*****",
        "plugins": [],
        "account_status": "Active",
        "vantive_id": "*******",
        "display_name": "MissionField LLC",
        "billing_account_number": "*******",
        "theme": {
            "logo": "/services/blobs/download/58888fc42364025f58d42b9a/mission-field.png",
            "accent": null,
            "css": "/services/blobs/download/58888fd3c571007a8af06207/mission-field.css"
        },
        "authentication": {
            "password": true,
            "google": true,
            "saml": false,
            "saml_config": {},
            "github": true,
            "ldap": true,
            "clc": false,
            "ldap_config": {
                "ldap_group_sync": true,
                "sources": [
                    {
                        "host": "ldap://ldap.***********.com",
                        "ldap_search_password": "************"
                    }
                ]
            }
        },
        "itsm": {
            "servicenow": {
                "enabled": false
            }
        },
        "default_costcenter": "c3195962-4c70-4ad6-a17a-189a5579a45a",
        "ldap_groups": [],
        "schema": "http://elasticbox.net/schemas/organization",
        "updated": "2018-10-25 15:48:03.290547",
        "account_type": "Billable",
        "tags": [
            {
                "type": "Box",
                "name": "box",
                "value": null
            },
            {
                "type": "Email",
                "name": "email",
                "value": null
            }
        ],
        "deleted": null,
        "ldap_last_sync_completed": null,
        "domains": [
            "**************"
        ],
        "members": [
            {
                "role": "administrator",
                "type": "workspace",
                "id": "********"
            },
            {
                "type": "workspace",
                "role": "administrator",
                "id": "**************"
            },
            {
                "role": "administrator",
                "type": "ldap",
                "id": "CN=Cloud Application Manager Support,OU=Internal Server Security Groups,OU=******,OU=******,OU=ManagedHosting,DC=na,DC=msmps,DC=net"
            }
        ],
        "icon": "/services/blobs/download/58888fc42364025f58d42b9a/mission-field.png",
        "federated_to": [
            "centurylink",
            "ctlops"
        ],
        "name": "mission-field",
        "created": "2017-01-25 11:11:13.254512",
        "setup": true,
        "release": "4.0"
    }
    

    GET /services/organizations/{organization_name}/boxes

    Obtenha as caixas na organização dada.

    URL

    Estrutura

    [GET] /services/organizations/{organization_name}/boxes
    

    Exemplo

    GET https://cam.ctl.io/services/organizations/centurylink/boxes
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Nome Tipo Descrição Req.
    organization_name Cadeia O nome da organização Sim

    Resposta

    Código normal

    • 200 OK

    Códigos de erro

    • 401: Não autorizado - Token/cookie de acesso inválido
    • 403: Proibido - O usuário não pertence à organização
    • 404 - Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    esquema cadeia URI do esquema da caixa: //elasticbox.net/schemas/caixas
    nome cadeia Nome da caixa da organização
    id cadeia Número de identificação da caixa da organização.
    auto_update boolean Atualize automaticamente a caixa se qualquer requisito relacionado for atualizado.
    updated cadeia Data da última atualização.
    created cadeia Data de criação
    deleted cadeia Data de exclusão.
    perfil array Mostra as informações do perfil da caixa.
    members array Lista de usuários que podem acessar esta caixa.
    organização cadeia Mostra o nome da organização.
    provider_id cadeia Ele diz que provedor pertence esta caixa.
    uri cadeia Um url para o serviço API que faz a possibilidade de buscar os dados desta caixa diretamente por uma solicitação GET.
    readme array Lista das informações sobre a documentação para este serviço de API.
    owner cadeia Ele mostra o proprietário desta caixa.
    visibilidade strings Indica a visibilidade da caixa para público ou espaço de trabalho ou apenas organização.
    variables array Uma lista das variáveis definidas na caixa
    reclamações array Uma lista das reivindicações definidas na caixa

    Corpo da resposta

      {
        "profile": {
          "datacenter": "va1",
          "group": [
            "Default Group"
          ],
          "network": "vlan_3135_10.128.235",
          "server_type": "Standard",
          "pricing_info": {
            "estimated_monthly": 2592000000,
            "provider_type": "CenturyLink",
            "hourly_price": 3600000,
            "factor": 100000000
          },
          "disks": [],
          "cpus": 1,
          "public_ip": false,
          "instances": 1,
          "template": "CENTOS-7-64-TEMPLATE",
          "memory": 2,
          "managed_os": false,
          "schema": "http://elasticbox.net/schemas/centurylink/compute/profile"
        },
        "provider_id": "338f38dc-e667-47e0-9026-b253138f109e",
        "automatic_updates": "off",
        "name": "default-small-va1",
        "created": "2018-08-21 20:26:17.273033",
        "deleted": null,
        "variables": [],
        "updated": "2018-08-21 20:26:17.273033",
        "visibility": "workspace",
        "uri": "/services/boxes/55c6aad7-393c-439e-94a0-88108ae1ee76",
        "readme": {
          "url": "#cam-platform-services/resources/default-box-overview",
          "upload_date": "2018-08-21 20:26:17.272359",
          "length": 1307,
          "content_type": "text/x-markdown"
        },
        "members": [],
        "claims": [
          "small",
          "linux"
        ],
        "owner": "cam3",
        "organization": "mission-field",
        "id": "55c6aad7-393c-439e-94a0-88108ae1ee76",
        "schema": "http://elasticbox.net/schemas/boxes/policy"
      }
    

    GET /services/organizations/{organization_name}/instances

    Obter o esquema de instâncias na organização dada.

    URL

    Estrutura

    [GET] /services/organizations/{organization_name}/instances
    

    Exemplo

    GET https://cam.ctl.io/services/organizations/customer_org/instances
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Nome Tipo Descrição Req.
    organization_name Cadeia O nome da organização Sim

    Resposta

    Código normal

    • 200 OK

    Códigos de erro

    • 401: Não autorizado - Token/cookie de acesso inválido
    • 403: Proibido - O usuário não pertence à organização
    • 404: Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    esquema cadeia URI do esquema da organização: //elasticbox.net/schemas/instance
    nome cadeia Nome da instância
    id cadeia Identificador de instância
    updated cadeia Data da última atualização
    created cadeia Data de criação
    auto_update boolean Atualize automaticamente a caixa se qualquer requisito relacionado for atualizado.
    box cadeia O identificador da última caixa implantada.
    caixas array Uma lista das caixas definidas no ciclo de vida da instância
    bindings array Lista de vínculos especificados da instância
    uri cadeia Um url para o serviço API que faz a possibilidade de buscar os dados desta caixa diretamente por uma solicitação GET.
    owner cadeia Ele mostra o proprietário desta caixa.
    state cadeia O último estado da instância
    members array Lista de usuários que podem acessar esta caixa.
    serviço object Um objeto que contém informações sobre o serviço da instância
    policy_box object Um objeto que inclui a política da caixa definida para a instância.

    Corpo da resposta

        {
            "box": "c2be22d3-22bf-4694-8a6d-e2efe3dceebd",
            "bindings": [],
            "updated": "2018-08-22 13:32:51.728997",
            "automatic_updates": "off",
            "policy_box": {
                "profile": {
                    "datacenter": "va1",
                    "group": [
                        "Default Group"
                    ],
                    "network": "vlan_3135_10.128.235",
                    "server_type": "Standard",
                    "pricing_info": {
                        "estimated_monthly": 5388004080,
                        "factor": 100000000,
                        "hourly_price": 7483339,
                        "provider_type": "CenturyLink"
                    },
                    "disks": [],
                    "cpus": 2,
                    "public_ip": false,
                    "instances": 1,
                    "template": "CENTOS-7-64-TEMPLATE",
                    "memory": 4,
                    "managed_os": false,
                    "schema": "http://elasticbox.net/schemas/centurylink/compute/profile"
                },
                "provider_id": "338f38dc-e667-47e0-9026-b253138f109e",
                "automatic_updates": "off",
                "name": "management-appliance-va1",
                "deleted": null,
                "variables": [],
                "visibility": "workspace",
                "owner": "cam3",
                "members": [],
                "organization": "mission-field",
                "readme": {
                    "url": "#cam-platform-services/resources/default-box-overview",
                    "upload_date": "2018-08-22 13:16:15.650210",
                    "length": 1307,
                    "content_type": "text/x-markdown"
                },
                "claims": [
                    "centos7",
                    "linux"
                ],
                "id": "01bf237e-2e73-416c-a72b-d94ea10d1c2e",
                "schema": "http://elasticbox.net/schemas/boxes/policy"
            },
            "name": "managed-provider-appliance-va1",
            "service": {
                "type": "Linux Compute",
                "id": "eb-6okdo",
                "machines": [
                    {
                        "state": "done",
                        "name": "managed-provider-appliance-va1-6okdo-1",
                        "workflow": []
                    }
                ]
            },
            "tags": [
                "managed",
                "appliance"
            ],
            "variables": [
                {
                    "scope": "gateway.constants",
                    "type": "Text",
                    "value": "https://gateway.managedos.ctl.io",
                    "visibility": "internal",
                    "name": "managed_os_api_url"
                },
                {
                    "scope": "gateway.constants",
                    "type": "Text",
                    "visibility": "internal",
                    "value": "https://api.watcher.ctl.io/",
                    "name": "watcher_reg_url"
                }
            ],
            "created": "2018-08-22 13:16:15.687975",
            "boxes": [
                {
                    "schema": "http://elasticbox.net/schemas/boxes/script",
                    "updated": "2018-08-07 23:20:02.898885",
                    "automatic_updates": "off",
                    "requirements": [
                        "centos7",
                        "linux"
                    ],
                    "description": "CenturyLink Management Appliance",
                    "created": "2018-08-08 16:43:02.151411",
                    "icon_metadata": {
                        "image": "/services/blobs/download/58a21fb465eca605038edc67/centurylink-logo.svg",
                        "border": "#8CC63F",
                        "fill": "#ffffff"
                    },
                    "variables": [
                        {
                            "name": "WaitForCMDBRecon",
                            "required": true,
                            "visibility": "internal",
                            "value": "true",
                            "type": "Options",
                            "options": "true,false"
                        },
                        {
                            "required": true,
                            "type": "Text",
                            "name": "CMDB_MaxTries",
                            "value": "120",
                            "visibility": "internal"
                        }
                    ],
                    "visibility": "workspace",
                    "name": "CenturyLink Management Appliance",
                    "deleted": null,
                    "version": {
                        "box": "c2be22d3-22bf-4694-8a6d-e2efe3dceebd",
                        "number": {
                            "major": 0,
                            "minor": 5,
                            "patch": 5
                        },
                        "workspace": "keithhomco",
                        "description": "Limited support for no outbound connectivity scenarios (contact cam-msa@centurylink.com for details)"
                    },
                    "id": "fe257f92-2808-4c1a-aa1d-310a87e228b9",
                    "categories": [
                        "managed"
                    ],
                    "members": [
                        {
                            "role": "read",
                            "workspace": "mgd"
                        },
                        {
                            "role": "read",
                            "workspace": "managed6"
                        }
                    ],
                    "owner": "managed1",
                    "organization": "centurylink",
                    "readme": {
                        "url": "#cam-platform-services/blobs/download/593843b76d4c585793fe1fb9/readme",
                        "upload_date": "2017-06-07 18:19:35.185072",
                        "length": 2962,
                        "content_type": "text/x-markdown"
                    },
                    "events": {
                        "pre_install": {
                            "url": "/services/blobs/download/5b6a26565fc39f10a99fefaa/pre_install",
                            "length": 2170,
                            "destination_path": "scripts",
                            "content_type": "text/x-shellscript"
                        }
                    },
                    "draft_from": "7f1bd23f-14cf-4e44-a831-53716e0f20a8",
                    "icon": "/icons/boxes/c2be22d3-22bf-4694-8a6d-e2efe3dceebd"
                }
            ],
            "uri": "/services/instances/i-k2tj0y",
            "is_deploy_only": true,
            "state": "done",
            "members": [],
            "owner": "cam3",
            "operation": {
                "event": "deploy",
                "workspace": "cam3",
                "created": "2018-08-22 13:16:15.857029"
            },
            "id": "i-k2tj0y",
            "schema": "http://elasticbox.net/schemas/instance"
        }
    

    GET /services/organizations/{organization_name}/providers

    Obter o esquema de provedores na organização dada.

    URL

    Estrutura

    [GET] /services/organizations/{organization_name}/providers
    

    Exemplo

    GET https://cam.ctl.io/services/organizations/centurylink/providers
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Nome Tipo Descrição Req.
    organization_name Cadeia O nome da organização Sim

    Resposta

    Código normal

    • 200 OK

    Códigos de erro

    • 401: Não autorizado - Token/cookie de acesso inválido
    • 403: Proibido - O usuário não pertence à organização
    • 404: Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    esquema cadeia URI do esquema do provedor: //elasticbox.net/schemas/provedores
    nome cadeia Define o nome do provedor
    icon cadeia Ícone do provedor URI
    updated cadeia Data da última atualização
    created cadeia Data de criação
    descrição cadeia Breve descrição sobre o provedor
    uri cadeia Um url para o serviço API que faz a possibilidade de buscar os dados desta caixa diretamente por uma solicitação GET.
    state cadeia Mostra o último estado do provedor
    members array Lista de usuários que podem acessar esta caixa.
    tipo cadeia Indica o tipo do provedor.
    id cadeia Contém a id do provedor
    provedores array Lista de provedores de nuvem que a organização pode permitir registrar e implantar. Cada tipo de provedor tem as seguintes propriedades habilitadas:
  • Valor booleano de verdadeiro se habilitado, mais falso.
  • tipo Valores de string dos provedores de nuvem suportados: Amazon Web serviços, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web serviços GovCloud, Rackspace.
  • Descrição: String que enumera brevemente os serviços do provedor de nuvem.
  • preços Conjunto de informações de preço para tipos de instância computacional Linux e Windows. Disponível apenas para Amazon Web serviços.
  • owner cadeia Ele mostra o proprietário desta caixa.
    serviço object Um objeto que contém informações sobre o serviço da instância

    Corpo da resposta

      {
        "updated": "2018-09-28 21:18:17.691311",
        "description": "UMW Lab Account for CAM MSA Testing",
        "icon": "images/platform/centurylink.svg",
        "created": "2018-08-21 20:03:15.901180",
        "deleted": null,
        "uri": "/services/providers/338f38dc-e667-47e0-9026-b253138f109e",
        "name": "UMWC",
        "services": [
          {
            "name": "Linux Compute"
          },
          {
            "name": "Windows Compute"
          }
        ],
        "state": "ready",
        "members": [],
        "owner": "cam3",
        "type": "CenturyLink",
        "id": "338f38dc-e667-47e0-9026-b253138f109e",
        "schema": "http://elasticbox.net/schemas/centurylink/provider"
      }
    

    GET /services/organizations/{organization_name}/workspaces

    Obtenha o esquema dos espaços de trabalho na organização dada.

    URL

    Estrutura

    [GET] /services/organizations/{organization_name}/workspaces
    

    Exemplo

    GET https://cam.ctl.io/services/organizations/centurylink/workspaces
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Nome Tipo Descrição Req.
    organization_name Cadeia O nome da organização Sim

    Resposta

    Código normal

    • 200 OK

    Códigos de erro

    • 401: Não autorizado - Token/cookie de acesso inválido
    • 403: Proibido - O usuário não pertence à organização
    • 404: Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    last_name cadeia O sobrenome do usuário.
    favorites array Lista dos usuários ou organizações que foram selecionados como favoritos.
    clc_alias cadeia Indica o alias de faturamento CenturyLink se existir para o espaço de trabalho.
    id cadeia O nome de usuário neste espaço de trabalho.
    last_login cadeia A data do último login.
    add_provider boolean
    deploy_instance boolean
    tipo cadeia O tipo do usuário.
    e-mail cadeia O e-mail do usuário.
    esquema cadeia URI do esquema do provedor: //elasticbox.net/schemas/provedores
    updated cadeia Data da última atualização
    take_tour boolean Indica se o primeiro tour de login foi feito ou não.
    deleted cadeia A data de exclusão do usuário.
    costcenter cadeia O nome fornecido do centro de custo quando o usuário foi criado.
    icon cadeia O ícone do usuário URI
    group_dns array A lista dos usuários que foram configurados pela AD em uma rede local.
    email_validated_at cadeia A data em que o usuário foi validado.
    validate_email_id cadeia ID de validação que gerou para o usuário.
    reset_password_id cadeia A ID de redefinição que gerou para o usuário.
    nome cadeia O nome fornecido do usuário.
    created cadeia A data de criação do usuário
    uri cadeia Um url para o serviço API que faz a possibilidade de buscar os dados desta caixa diretamente por uma solicitação GET.
    members array Se o tipo de usuário for uma "equipe", então ele mostrará os espaços de trabalho que este usuário pertence
    organização cadeia O nome da organização que o usuário pertence a ele.

    Corpo da resposta

      {
        "last_name": "1",
        "favorites": [
          {
            "type": "team_workspace",
            "id": "insightglobal4"
          }
        ],
        "clc_alias": "DMFC",
        "id": "missionfields1",
        "last_login": "2018-07-25 14:18:22.323786",
        "add_provider": true,
        "deploy_instance": true,
        "type": "personal",
        "email": "*****@*************.com",
        "schema": "http://elasticbox.net/schemas/workspaces/personal",
        "updated": "2018-07-25 14:24:05.510205",
        "take_tour": true,
        "deleted": null,
        "clc_username": null,
        "costcenter": "c3195962-4c70-4ad6-a17a-189a5579a45a",
        "icon": null,
        "group_dns": [],
        "email_validated_at": "2017-02-01 15:03:54.087863",
        "name": "MF User",
        "created": "2017-02-01 15:03:54.087863",
        "support_user_created": true,
        "uri": "/services/workspaces/missionfields1",
        "organization": "mission-field"
      }
    

    PUT /services/organizations/{organization_name}

    Atualiza uma organização existente considerando seu nome. Somente o administrador da organização pode atualizar.

    URL

    Estrutura

    [PUT] /services/organizations/{organization_name}
    

    Exemplo

    PUT https://cam.ctl.io/services/organizations/{organization_name}
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Nome Tipo Descrição Req.
    organization_name Cadeia O nome da organização Sim

    Corpo da solicitação

    {
       "schema":"http://elasticbox.net/schemas/organization",
       "name":"elasticbox",
       "icon":"/services/blobs/download/5452705c3bbd224ef9541c41/elasticbox.png",
       "theme":null,
       "updated":"2015-04-06 14:28:12.874910",
       "created":"2014-02-14 15:12:21.526672",
       "setup":true,
       "administrators":[
          "ad",
          "al"
       ],
       "domains":[
          "cam.ctl.io"
       ],
       "authentication":{
          "github":false,
          "google":true,
          "ldap":true,
          "password":false,
          "username":null,
          "ldap_config":{
             "sources":[
                {
                   "host":"ldap://ldap.cam.ctl.io",
                   "email_field":"mail"
                }
             ]
          }
       },
       "features":{
          "admin_boxes":true,
          "cost_center":true,
          "custom_pricing":false,
          "onboard_checklist":false,
          "provider_sharing":true,
          "reporting":true
       },
       "providers":[
          {
             "enabled":true,
             "type":"Amazon Web Services",
             "description":"Manage EC2, ECS and Cloudformation instances",
             "pricing":[
                {
                   "platform":"Linux Compute",
                   "price":7000,
                   "region":"ap-southeast-2",
                   "flavor":"i2.8xlarge",
                   "schema":"http://elasticbox.net/schemas/aws/compute/pricing"
                },
                {
                   "platform":"Linux Compute",
                   "price":5,
                   "region":"us-east-1",
                   "flavor":"t2.micro",
                   "schema":"http://elasticbox.net/schemas/aws/compute/pricing"
                }
             ]
          },
          {
             "enabled":true,
             "type":"Openstack",
             "description":"Manage cloud hosting, Linux and Windows machines",
             "pricing":[
    
             ]
          },
          {
             "enabled":true,
             "type":"VMware vSphere",
             "description":"Manage cloud hosting, Linux and Windows machines",
             "pricing":[
    
             ]
          }
       ],
       "tags":[
          {
             "name":"workspace",
             "type":"Workspace",
             "value":null
          },
          {
             "name":"box",
             "type":"Box",
             "value":null
          }
       ],
       "cost_centers":[
          {
             "name":"test",
             "enforce":false,
             "quotas":[
                {
                   "allocated":[
    
                   ],
                   "cost":0,
                   "provider":"2bf1bd2c-b03d-460f-80da-647d26bdbcfe"
                },
                {
                   "cost":3000,
                   "provider":"5908ee9b-0c0a-4af6-8eef-2dc9f95d033a"
                }
             ],
             "workspaces":[
                "operations"
             ]
          }
       ],
       "webhooks":[
    
       ]
    }
    

    Parâmetros de solicitação

    Parâmetro Tipo Descrição
    esquema cadeia URI do esquema da organização: //elasticbox.net/schemas/organization
    nome cadeia Nome da organização
    icon cadeia Ícone da organização URI
    updated cadeia Data da última atualização
    created cadeia Data de criação
    setup boolean Isso é somente leitura. Ele indica que o dispositivo do Gerenciador de aplicativos nuvem está configurado e pronto para uso.
    administrators array Lista de usuários que podem administrar a organização
    domains cadeia Domínios que fazem parte da organização
    autenticação object Lista dos métodos de autenticação para permitir o logon único na organização. Contém as seguintes propriedades:
  • GitHub Booleano. Se habilitado, é verdadeiro, mais falso.
  • Google Booleano. Se habilitado, é verdadeiro, mais falso.
  • senha Booleano. Se habilitado, é verdadeiro, mais falso.
  • LDAP Booleano. Se habilitado, é verdadeiro, mais falso.
  • ldap_config: Objeto que contém as configurações de serviço LDAP:
    • ldap_group_sync: Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • Fonte: Conjunto de LDAP fontes. Cada fonte tem as seguintes propriedades:
      • host Obrigatório. A String identifica o nome do host ou endereço IP do serviço LDAP.
      • grupos_dn: String especifica um nome de grupo totalmente qualificado.
      • grupo_dn_filtro: String define uma entidade no servidor LDAP. Todos os grupos são sincronizados como filhos desta entidade.
      • email_campo: String especifica o nome do campo de e-mail para procurar usuários. Normalmente, este campo é chamado de e-mail.
      • ldap_search_senha: String especifica a senha da conta de serviço LDAP para procurar usuários que tentam fazer login
      • ldap_search_usuário: String especifica o nome de usuário da conta de serviço LDAP para procurar usuários que tentam fazer login.
    ldap_last_sync_completed cadeia Carimbo de hora da última sincronização de grupo LDAP bem-sucedida, por exemplo, 2015-04-06 14:28:12.874910. Valor nulo se ldap_group_sync estiver definido como falso.
    ldap_groups array Lista de objetos, cada um dos quais é um grupo LDAP. Cada grupo tem duas propriedades:
  • DN Identificador de sequência para o grupo.
  • @nome Nome da sequência exibido na interface da web do espaço de trabalho.
  • provedores array Lista de provedores de nuvem que a organização pode permitir registrar e implantar. Cada tipo de provedor tem as seguintes propriedades:
  • ativado Valor booleano de verdadeiro se habilitado, mais falso.
  • tipo Valores de string dos provedores de nuvem suportados: Amazon Web serviços, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web serviços GovCloud, Rackspace.
  • Descrição: String que enumera brevemente os serviços do provedor de nuvem.
  • preços Conjunto de informações de preço para tipos de instância computacional Linux e Windows. Disponível apenas para Amazon Web serviços.
  • tags array Lista de etiquetas aplicados em instâncias implantadas para provedores de nuvem da organização. Cada etiqueta tem três propriedades:
  • @nome String que você aplica como tag.
  • tipo A String identifica o tipo de tag nuvem objeto do Gerenciador de aplicativos ou um personalizado. Os valores permitidos são Caixa, Espaço de trabalho, Provedor, ambiente, E-mail, ID de usuário, ID da instância de serviço, ID do serviço, ID do espaço de trabalho, ID da instância, Personalizado.
  • valor Valor da sequência de caracteres nulo para nuvem objetos do Gerenciador de aplicativos. Para tags personalizadas, defina seu valor usando esta propriedade.
  • webhooks array Lista de webhook que se integram com a organização.
    cost_centers array Lista de centros de custo. Cada centro de custo contém as seguintes propriedades:
  • impor: Booleano. Se verdadeiro, uma instância não pode ser implantada se estiver acima da cota.
  • @nome Cadeia Nome do centro de custo
  • Espaços de trabalho MATRIZ: Lista dos nomes que pertencem ao centro de custo.
  • cotas Lista de cotas. Cada cota contém um objeto com as seguintes propriedades:
    • Custo Obrigatório. Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • gerenciada: Obrigatório. Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • alocados: MATRIZ: Lista de instâncias que estão contribuindo para a cota atual. Cada instância alocada tem essas propriedades:
      • id_instância: Obrigatório. Cadeia Nome da instância
      • instâncias Obrigatório. Int. Número de instâncias.
      • INICIADO Obrigatório. Cadeia Data em que esta instância foi implantada.
      • Tipo Obrigatório. Cadeia Tipo de instância.
      • região Obrigatório. Cadeia Região onde foi implantada.
      • Tipo_serviço: Obrigatório. Cadeia Tipo de serviço.
      • encerrado String especifica o nome de usuário da conta de serviço LDAP para procurar usuários que tentam fazer login.
    • recursos Objeto recursos da cota.
      • CPU: Obrigatório. Int. Número de unidades de CPU.
      • disco Obrigatório. Objeto Um disco com estas propriedades:
        • quantidade Obrigatório. Cadeia Quantidade de armazenamento.
        • unidade: Obrigatório. Cadeia Mb, Gb ou Tb.
      • RAM Obrigatório. Cadeia Ram da cota.
        • quantidade Obrigatório. Cadeia Quantidade de armazenamento.
        • unidade: Obrigatório. Cadeia Mb ou Gb.

    Resposta

    Código normal

    • 200 OK

    Códigos de erro

    • 400: Solicitação inválida - Solicitação ausente, incompleta ou inclui propriedades inválidas (detalhes fornecidos dentro do corpo)
    • 401: Não autorizado - Token/cookie de acesso inválido
    • 403: Proibido - O usuário não pertence à organização
    • 404: Não encontrado
    • 409: Conflito - incompatibilidade de propriedade 'atualizada'. (Faça uma chamada GET para API para buscar a propriedade atual 'atualizada' e use-a em uma nova solicitação de PUT)

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    esquema cadeia URI do esquema da organização: http://elasticbox.net/schemas/organização
    nome cadeia Nome da organização
    icon cadeia Ícone da organização URI
    updated cadeia Data da última atualização
    created cadeia Data de criação
    setup boolean Isso é somente leitura. Ele indica que o dispositivo do Gerenciador de aplicativos nuvem está configurado e pronto para uso.
    administrators array Lista de usuários que podem administrar a organização
    domains cadeia Domínios que fazem parte da organização
    autenticação object Lista dos métodos de autenticação para permitir o logon único na organização. Contém as seguintes propriedades:
  • GitHub Booleano. Se habilitado, é verdadeiro, mais falso.
  • Google Booleano. Se habilitado, é verdadeiro, mais falso.
  • senha Booleano. Se habilitado, é verdadeiro, mais falso.
  • LDAP Booleano. Se habilitado, é verdadeiro, mais falso.
  • ldap_config: Objeto que contém as configurações de serviço LDAP:
    • ldap_group_sync: Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • Fonte: Conjunto de Fontes LDAP. Cada fonte tem as seguintes propriedades:
      • host Obrigatório. A String identifica o nome do host ou endereço IP do serviço LDAP.
      • grupos_dn: String especifica um nome de grupo totalmente qualificado.
      • grupo_dn_filtro: String define uma entidade no servidor LDAP. Todos os grupos são sincronizados como filhos desta entidade.
      • email_campo: String especifica o nome do campo de e-mail para procurar usuários. Normalmente, este campo é chamado de e-mail.
      • ldap_search_senha: String especifica a senha da conta de serviço LDAP para procurar usuários que tentam fazer login
      • ldap_search_usuário: String especifica o nome de usuário da conta de serviço LDAP para procurar usuários que tentam fazer login.
    ldap_last_sync_completed cadeia Carimbo de hora da última sincronização de grupo LDAP bem-sucedida, por exemplo, 2015-04-06 14:28:12.874910. Valor nulo se ldap_group_sync estiver definido como falso.
    ldap_groups array Lista de objetos, cada um dos quais é um grupo LDAP. Cada grupo tem duas propriedades:
  • DN Identificador de sequência para o grupo.
  • @nome Nome da sequência exibido na interface da web do espaço de trabalho.
  • provedores array Lista de provedores de nuvem que a organização pode permitir registrar e implantar. Cada tipo de provedor tem as seguintes propriedades habilitadas:
  • Valor booleano de verdadeiro se habilitado, mais falso.
  • tipo Valores de string dos provedores de nuvem suportados: Amazon Web serviços, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web serviços GovCloud, Rackspace.
  • Descrição: String que enumera brevemente os serviços do provedor de nuvem.
  • preços Conjunto de informações de preço para tipos de instância computacional Linux e Windows. Disponível apenas para Amazon Web serviços.
  • tags array Lista de etiquetas aplicados em instâncias implantadas para provedores de nuvem da organização. Cada etiqueta tem três propriedades:
  • @nome String que você aplica como tag.
  • tipo A String identifica o tipo de tag nuvem objeto do Gerenciador de aplicativos ou um personalizado. Os valores permitidos são Caixa, Espaço de trabalho, Provedor, ambiente, E-mail, ID de usuário, ID da instância de serviço, ID do serviço, ID do espaço de trabalho, ID da instância, Personalizado.
  • valor Valor da sequência de caracteres nulo para nuvem objetos do Gerenciador de aplicativos. Para tags personalizadas, defina seu valor usando esta propriedade.
  • webhooks array Lista de webhook que se integram com a organização.
    cost_centers array Lista de centros de custo. Cada centro de custo contém as seguintes propriedades:
  • impor: Booleano. Se verdadeiro, uma instância não pode ser implantada se estiver acima da cota.
  • @nome Cadeia Nome do centro de custo
  • Espaços de trabalho MATRIZ: Lista dos nomes que pertencem ao centro de custo.
  • cotas Lista de cotas. Cada cota contém um objeto com as seguintes propriedades:
    • Custo Obrigatório. Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • gerenciada: Obrigatório. Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • alocados: MATRIZ: Lista de instâncias que estão contribuindo para a cota atual. Cada instância alocada tem essas propriedades:
      • id_instância: Obrigatório. Cadeia Nome da instância
      • instâncias Obrigatório. Int. Número de instâncias.
      • INICIADO Obrigatório. Cadeia Data em que esta instância foi implantada.
      • Tipo Obrigatório. Cadeia Tipo de instância.
      • região Obrigatório. Cadeia Região onde foi implantada.
      • Tipo_serviço: Obrigatório. Cadeia Tipo de serviço.
      • encerrado String especifica o nome de usuário da conta de serviço LDAP para procurar usuários que tentam fazer login.
    • recursos Objeto recursos da cota.
      • CPU: Obrigatório. Int. Número de unidades de CPU.
      • disco Obrigatório. Objeto Um disco com estas propriedades:
        • quantidade Obrigatório. Cadeia Quantidade de armazenamento.
        • unidade: Obrigatório. Cadeia Mb, Gb ou Tb.
      • RAM Obrigatório. Cadeia Ram da cota.
        • quantidade Obrigatório. Cadeia Quantidade de armazenamento.
        • unidade: Obrigatório. Cadeia Mb ou Gb.

    Corpo da resposta

    {
       "schema":"http://elasticbox.net/schemas/organization",
       "name":"elasticbox",
       "icon":"/services/blobs/download/5452705c3bbd224ef9541c41/elasticbox.png",
       "theme":null,
       "updated":"2015-04-06 20:38:46.060399",
       "created":"2014-02-14 15:12:21.526672",
       "setup":true,
       "administrators":[
          "ad",
          "al",
          "ar"
       ],
       "domains":[
          "cam.ctl.io"
       ],
       "authentication":{
          "github":false,
          "google":true,
          "ldap":true,
          "password":false,
          "username":null,
          "ldap_config":{
             "sources":[
                {
                   "host":"ldap://ldap.cam.ctl.io",
                   "email_field":"mail"
                }
             ]
          }
       },
       "features":{
          "admin_boxes":true,
          "cost_center":true,
          "custom_pricing":false,
          "onboard_checklist":false,
          "provider_sharing":true,
          "reporting":true
       },
       "providers":[
          {
             "enabled":true,
             "type":"Amazon Web Services",
             "description":"Manage EC2, ECS and Cloudformation instances",
             "pricing":[
                {
                   "platform":"Linux Compute",
                   "price":7000,
                   "region":"ap-southeast-2",
                   "flavor":"i2.8xlarge",
                   "schema":"http://elasticbox.net/schemas/aws/compute/pricing"
                },
                {
                   "platform":"Linux Compute",
                   "price":5,
                   "region":"us-east-1",
                   "flavor":"t2.micro",
                   "schema":"http://elasticbox.net/schemas/aws/compute/pricing"
                }
             ]
          },
          {
             "enabled":true,
             "type":"Amazon Web Services GovCloud",
             "description":"Manage compute services in an isolated ITAR compliant AWS region.",
             "pricing":[
    
             ]
          },
          {
             "enabled":true,
             "type":"Rackspace",
             "description":"Manage cloud hosting and Linux machines.",
             "pricing":[
    
             ]
          }
       ],
       "tags":[
          {
             "name":"workspace",
             "type":"Workspace",
             "value":null
          },
          {
             "name":"box",
             "type":"Box",
             "value":null
          }
       ],
       "cost_centers":[
          {
             "name":"test",
             "enforce":false,
             "quotas":[
                {
                   "allocated":[
    
                   ],
                   "cost":0,
                   "provider":"2bf1bd2c-b03d-460f-80da-647d26bdbcfe"
                },
                {
                   "cost":3000,
                   "provider":"5908ee9b-0c0a-4af6-8eef-2dc9f95d033a"
                }
             ],
             "workspaces":[
                "operations"
             ]
          }
       ],
       "webhooks":[
    
       ]
    }
    

    PUT /organizations/{organization_name}/sync_groups

    Faz uma solicitação para sincronizar grupos LDAP. A solicitação de sincronização, dependendo da quantidade de dados do serviço LDAP, pode levar alguns minutos. A propriedade ldap_last_sync_completed é atualizada quando a solicitação termina com êxito.

    URL

    Estrutura

    [PUT] /organizations/{organization_name}/sync_groups
    

    Exemplo

    PUT https://cam.ctl.io/organizations/{organization_name}/sync_groups
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Nome Tipo Descrição Req.
    organization_name Cadeia O nome da organização Sim

    Resposta

    Código normal

    • 202 Aceito

    Códigos de erro

    • 401: Não autorizado - Token/cookie de acesso inválido
    • 404: Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    esquema cadeia URI do esquema da organização: //elasticbox.net/schemas/organization
    nome cadeia Nome da organização
    icon cadeia Ícone da organização URI
    updated cadeia Data da última atualização
    created cadeia Data de criação
    setup boolean Isso é somente leitura. Ele indica que o dispositivo do Gerenciador de aplicativos nuvem está configurado e pronto para uso.
    administrators array Lista de usuários que podem administrar a organização
    domains cadeia Domínios que fazem parte da organização
    autenticação object Lista dos métodos de autenticação para permitir o logon único na organização. Contém as seguintes propriedades:
  • GitHub Booleano. Se habilitado, é verdadeiro, mais falso.
  • Google Booleano. Se habilitado, é verdadeiro, mais falso.
  • senha Booleano. Se habilitado, é verdadeiro, mais falso.
  • LDAP Booleano. Se habilitado, é verdadeiro, mais falso.
  • ldap_config: Objeto que contém as configurações de serviço LDAP:
    • ldap_group_sync: Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • Fonte: Conjunto de Fontes LDAP. Cada fonte tem as seguintes propriedades:
      • host Obrigatório. A String identifica o nome do host ou endereço IP do serviço LDAP.
      • grupos_dn: String especifica um nome de grupo totalmente qualificado.
      • grupo_dn_filtro: String define uma entidade no servidor LDAP. Todos os grupos são sincronizados como filhos desta entidade.
      • email_campo: String especifica o nome do campo de e-mail para procurar usuários. Normalmente, este campo é chamado de e-mail.
      • ldap_search_senha: String especifica a senha da conta de serviço LDAP para procurar usuários que tentam fazer login
      • ldap_search_usuário: String especifica o nome de usuário da conta de serviço LDAP para procurar usuários que tentam fazer login.
    ldap_last_sync_completed cadeia Carimbo de hora da última sincronização de grupo LDAP bem-sucedida, por exemplo, 2015-04-06 14:28:12.874910. Valor nulo se ldap_group_sync estiver definido como falso.
    ldap_groups array Lista de objetos, cada um dos quais é um grupo LDAP. Cada grupo tem duas propriedades:
  • DN Identificador de sequência para o grupo.
  • @nome Nome da sequência exibido na interface da web do espaço de trabalho.
  • provedores array Lista de provedores de nuvem que a organização pode permitir registrar e implantar. Cada tipo de provedor tem as seguintes propriedades habilitadas:
  • Valor booleano de verdadeiro se habilitado, mais falso.
  • tipo Valores de string dos provedores de nuvem suportados: Amazon Web serviços, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web serviços GovCloud, Rackspace.
  • Descrição: String que enumera brevemente os serviços do provedor de nuvem.
  • preços Conjunto de informações de preço para tipos de instância computacional Linux e Windows. Disponível apenas para Amazon Web serviços.
  • tags array Lista de etiquetas aplicados em instâncias implantadas para provedores de nuvem da organização. Cada etiqueta tem três propriedades:
  • @nome String que você aplica como tag.
  • tipo A String identifica o tipo de tag nuvem objeto do Gerenciador de aplicativos ou um personalizado. Os valores permitidos são Caixa, Espaço de trabalho, Provedor, ambiente, E-mail, ID de usuário, ID da instância de serviço, ID do serviço, ID do espaço de trabalho, ID da instância, Personalizado.
  • valor Valor da sequência de caracteres nulo para nuvem objetos do Gerenciador de aplicativos. Para tags personalizadas, defina seu valor usando esta propriedade.
  • webhooks array Lista de webhook que se integram com a organização.
    cost_centers array Lista de centros de custo. Cada centro de custo contém as seguintes propriedades:
  • impor: Booleano. Se verdadeiro, uma instância não pode ser implantada se estiver acima da cota.
  • @nome Cadeia Nome do centro de custo
  • Espaços de trabalho MATRIZ: Lista dos nomes que pertencem ao centro de custo.
  • cotas Lista de cotas. Cada cota contém um objeto com as seguintes propriedades:
    • Custo Obrigatório. Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • gerenciada: Obrigatório. Booleano. Por padrão, é falso. Especifique como verdadeiro para habilitar a sincronização com grupos LDAP.
    • alocados: MATRIZ: Lista de instâncias que estão contribuindo para a cota atual. Cada instância alocada tem essas propriedades:
      • id_instância: Obrigatório. Cadeia Nome da instância
      • instâncias Obrigatório. Int. Número de instâncias.
      • INICIADO Obrigatório. Cadeia Data em que esta instância foi implantada.
      • Tipo Obrigatório. Cadeia Tipo de instância.
      • região Obrigatório. Cadeia Região onde foi implantada.
      • Tipo_serviço: Obrigatório. Cadeia Tipo de serviço.
      • encerrado String especifica o nome de usuário da conta de serviço LDAP para procurar usuários que tentam fazer login.
    • recursos Objeto recursos da cota.
      • CPU: Obrigatório. Int. Número de unidades de CPU.
      • disco Obrigatório. Objeto Um disco com estas propriedades:
        • quantidade Obrigatório. Cadeia Quantidade de armazenamento.
        • unidade: Obrigatório. Cadeia Mb, Gb ou Tb.
      • RAM Obrigatório. Cadeia Ram da cota.
        • quantidade Obrigatório. Cadeia Quantidade de armazenamento.
        • unidade: Obrigatório. Cadeia Mb ou Gb.

    Corpo da resposta

    {
       "schema":"http://elasticbox.net/schemas/organization",
       "name":"organization_name",
       "icon":null,
       "theme":null,
       "updated":"2015-04-06 16:59:02.486606",
       "created":"2015-03-25 10:41:15.098256",
       "setup":true,
       "administrators":[
          "operations"
       ],
       "domains":[
          "cam.ctl.io"
       ],
       "authentication":{
          "ldap_config":{
             "ldap_group_sync":false,
             "sources":[
                {
                   "host":"ldap://test_ldap"
                }
             ]
          },
          "github":true,
          "google":true,
          "ldap":true,
          "password":true,
       },
       "ldap_groups":[
    
       ],
           "providers": [
               {
                   "enabled": true,
                   "type": "CenturyLink",
                   "description": "Manage cloud hosting, Linux and Windows machines",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "CenturyLink DCC Foundation",
                   "description": "Manage cloud hosting, Linux and Windows machines.",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "CenturyLink DCC",
                   "pricing": [],
                   "description": "Manage cloud hosting, Linux and Windows machines"
               },
               {
                   "enabled": true,
                   "type": "Microsoft Azure",
                   "pricing": [],
                   "description": "Manage Microsoft services using Azure Resource Manager"
               },
               {
                   "enabled": true,
                   "type": "Amazon Web Services",
                   "description": "Manage EC2, S3, Dynamo DB, and RDS instances",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "Openstack",
                   "description": "Manage cloud hosting, Linux and Windows machines",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "VMware vSphere",
                   "description": "Manage cloud hosting, Linux and Windows machines",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "Google Compute",
                   "description": "Manage cloud hosting and Linux machines",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "Azure Classic",
                   "description": "Manage compute services for Windows and Linux machines.",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "Cloudstack",
                   "description": "Manage cloud hosting, Linux and Windows machines",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "SoftLayer",
                   "description": "Manage compute services for Windows and Linux machines.",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "Rackspace",
                   "description": "Manage cloud hosting and Linux machines.",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "VMware vCloud Director",
                   "description": "Manage cloud hosting, Linux and Windows machines.",
                   "pricing": []
               },
               {
                   "enabled": true,
                   "type": "Dimension Data",
                   "description": "Manage cloud hosting, Linux and Windows machines",
                   "pricing": []
               }
           ],
       "ldap_last_sync_completed":null,
       "tags":[
          {
             "name":"box",
             "type":"Box name",
             "value":null
          },
          {
             "name":"environment",
             "type":"Environment",
             "value":null
          }
       ],
       "cost_centers":[
          {
             "name":"test",
             "enforce":false,
             "quotas":[
                {
                   "allocated":[
    
                   ],
                   "cost":0,
                   "provider":"2bf1bd2c-b03d-460f-80da-647d26bdbcfe"
                },
                {
                   "cost":3000,
                   "provider":"5908ee9b-0c0a-4af6-8eef-2dc9f95d033a"
                }
             ],
             "workspaces":[
                "operations"
             ]
          }
       ],
       "webhooks":[
    
       ]
    }
    

    Como contatar o suporte do Cloud Application Manager

    Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

    Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

    Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

    • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
    • Windows: Windows: RDP na instância para localizar o registro em ProgramDataElasticBoxLogselasticbox-agent.log

    API de espaços de trabalho

    Gerenciar e executar ações nos espaços de trabalho.

    Criar ou listar espaços de trabalho

    Recurso Descrição
    GET /services/workspaces Obtém a lista de espaços de trabalho
    POST /services/workspace Cria um novo espaço de trabalho de equipe

    Executar outras operações do espaço de trabalho

    Parâmetro Descrição
    GET /services/workspaces/{workspace_id} Busca um espaço de trabalho existente
    PUT /services/workspaces/{workspace_id} Atualiza um espaço de trabalho existente
    DELETE /services/workspaces/{workspace_id} Exclui um espaço de trabalho existente
    GET /services/workspaces/{workspace_id}/providers Obtém os provedores de nuvem registrados em um espaço de trabalho
    GET /services/workspaces/{workspace_id}/boxes Obtém as caixas em um espaço de trabalho
    GET /services/workspaces/{workspace_id}/instances Obtém as instâncias em um espaço de trabalho

    GET /services/workspaces

    Obtém o espaço de trabalho padrão se nenhum parâmetro for fornecido e o usuário não tiver outro privilégio. Se o parâmetro de Ids (uma lista de Ids de espaço de trabalho) for fornecido, ele busca todos os espaços de trabalho correspondentes à lista e ao usuário ao qual tem acesso.

    URL

    Estrutura

    [GET] /services/workspaces
    

    Exemplo

    [GET] https://cam.ctl.io/services/workspaces
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    ids cadeia Busca os espaços de trabalho correspondentes a cada id de espaço de trabalho na sequência. As ids serão separadas por vírgulas. Por exemplo: espaço de trabalho4, operações, espaço de trabalho5. Não
    limit integer Ele limita o número de espaços de trabalho listados na resposta. Não

    Solicitar parâmetros do corpo

    • Nenhum

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida
    • 0 não autorizado
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    add_provider boolean Indica verdadeiro se um espaço de trabalho pessoal tem um provedor
    billing_notice boolean Se o sinalizador for Falso, não mostramos a notificação de cobrança ao usuário
    clc_alias cadeia (opcional) ID de conta para clientes de faturamento que têm uma conta na CL
    clc_username cadeia Se o usuário tiver autenticação CLC
    created cadeia Data de criação
    costcenter cadeia Id do centro de custo
    dashboard_notice boolean Se o sinalizador for Falso, não mostramos a notificação do painel ao usuário
    deleted cadeia Será nulo se o recurso for válido ou uma string com a hora e a data de exclusão se ela foi excluída. Os usuários finais sempre verão este parâmetro como nulo
    deploy_instance boolean Indica se o espaço de trabalho implantou uma instância
    e-mail cadeia E-mail do usuário
    email_validated_at cadeia Data de validação do e-mail.
    favorites array Lista dos espaços de trabalho favoritos do usuário. O usuário define um espaço de trabalho como favorito quando clica em uma estrela.
    group_dns array Lista de nomes totalmente qualificados dos grupos LDAP aos quais pertence o espaço de trabalho pessoal do usuário. Você não pode atualizar este campo. Presente em espaços de trabalho pessoais
    icon cadeia URL relativa a um arquivo armazenado como um blob no CAM e representa o ícone do espaço de trabalho
    id cadeia Identificador exclusivo do espaço de trabalho
    last_login cadeia Data do último login. Exemplo “2015-07-02 10:23:47.748740”
    last_name cadeia Sobrenome do usuário
    ldap_groups array Lista de nomes totalmente qualificados dos grupos LDAP que são membros de um espaço de trabalho. Presente nos espaços de trabalho da equipe
    members array Lista os membros de um espaço de trabalho de equipe
    nome cadeia Nome do usuário (espaço de trabalho)
    organização cadeia (Espaços de trabalho pessoais) Organização do espaço de trabalho
    organizações array (Espaços de trabalho da equipe) Lista do nome das organizações do espaço de trabalho
    owner cadeia Refere-se ao nome de usuário que possui o espaço de trabalho. Presente nos espaços de trabalho da equipe
    saml_id cadeia (opcional) ID da conta se o usuário tiver feito login com SAML
    esquema cadeia URI do esquema. personal-workspace “http://elasticbox.net/schemas/workspaces/personal” Para espaço de trabalho da equipe: “http://elasticbox.net/schemas/workspaces/team”
    support_user_created boolean Verdadeiro se o suporte do usuário CAM para este espaço de trabalho tiver sido criado e estiver pronto
    take_tour boolean Se verdadeiro, o usuário não perdeu o pop-up do tour
    tipo cadeia Tipo de espaço de trabalho. Pode ser pessoal ou equipe. Os usuários podem editar espaço de trabalho pessoal desde que os esquemas sejam válidos e o usuário tenha privilégios.
    updated cadeia Data da última atualização
    uri cadeia ID de espaço de trabalho

    Corpo da resposta

    • Resposta a solicitação sem parâmetros
    [
        {
            "last_name": "ElasticBox",
            "costcenter": "3ef6e6e0-a08d-40f1-98bf-4a7fc9b9c63a",
            "clc_alias": "CTLX",
            "id": "operations",
            "billing_notice": true,
            "last_login": "2018-12-11 12:53:11.636462",
            "add_provider": true,
            "deploy_instance": true,
            "type": "personal",
            "email": "operations@elasticbox.com",
            "schema": "http://elasticbox.net/schemas/workspaces/personal",
            "updated": "2018-12-11 12:53:11.636781",
            "take_tour": true,
            "deleted": null,
            "dashboard_notice": true,
            "email_validated_at": "2018-10-11 12:10:03.468280",
            "favorites": [],
            "icon": null,
            "group_dns": [],
            "clc_username": null,
            "name": "Operations",
            "created": "2018-10-11 12:10:03.468280",
            "support_user_created": false,
            "uri": "/services/workspaces/operations",
            "organization": "elasticbox"
        }
    ]
    
    • Resposta a solicitação com parâmetro
    [
        {
            "uri": "/services/workspaces/operations",
            "icon": null,
            "id": "operations",
            "name": "Operations",
            "schema": "http://elasticbox.net/schemas/workspaces/personal"
        },
        {
            "uri": "/services/workspaces/workspace4",
            "icon": "/services/blobs/download/5bcf2c5c1862a312d7ac3c37/Screen-Shot-2018-10-23-at-16.12.23.png",
            "id": "workspace4",
            "name": "WORKSPACE A",
            "schema": "http://elasticbox.net/schemas/workspaces/team"
        },
        {
            "uri": "/services/workspaces/workspace5",
            "icon": "/services/blobs/download/5bcf2c5c1862a312d7ac3c37/Screen-Shot-2018-10-23-at-16.12.23.png",
            "id": "workspace5",
            "name": "WORKSPACE B",
            "schema": "http://elasticbox.net/schemas/workspaces/team"
        }
    ]
    

    POST /services/workspaces

    Cria um espaço de trabalho e obtém o espaço de trabalho criado.

    URL

    Estrutura

    [POST] /services/workspaces
    

    Exemplo

    [POST] https://cam.ctl.io/services/workspaces
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    • Nenhum

    Solicitar parâmetros do corpo

    NAME tipo DESCRIÇÃO REQ.
    costcenter cadeia Id do centro de custo Sim
    nome cadeia Nome do espaço de trabalho Sim
    esquema cadeia URL do esquema. Por exemplo, http://elasticbox.net/schemas/workspaces/team Sim

    Resposta

    Códigos de resposta normais

    • 201 Criado

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos
    • 0 não autorizado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    costcenter cadeia Id do centro de custo
    created cadeia Data de criação
    deleted cadeia Será nulo se o recurso for válido ou uma string com a hora e a data de exclusão se ela foi excluída. Os usuários finais sempre verão este parâmetro como nulo
    id cadeia ID de espaço de trabalho
    members array Lista os membros de um espaço de trabalho da equipe.
    nome cadeia Nome do espaço de trabalho
    organizações array Lista de nomes de organização
    esquema cadeia URI do esquema. "http://elasticbox.net/schemas/workspaces/personal” ou “http://elasticbox.net/schemas/workspaces/team”
    tipo cadeia Tipo de espaço de trabalho. Pode ser pessoal ou equipe. Os usuários podem editar espaço de trabalho pessoal desde que os esquemas sejam válidos e o usuário tenha privilégios.
    updated cadeia Atualizar data
    uri cadeia URL para acessar o espaço de trabalho

    Corpo da resposta

    {
        "organizations": [
            "elasticbox"
        ],
        "updated": "2018-10-24 14:52:42.302338",
        "name": "WORKSPACE C",
        "created": "2018-10-24 14:52:42.302338",
        "deleted": null,
        "uri": "/services/workspaces/workspace6",
        "members": [],
        "costcenter": "3ef6e6e0-a08d-40f1-98bf-4a7fc9b9c63a",
        "type": "team",
        "id": "workspace6",
        "schema": "http://elasticbox.net/schemas/workspaces/team"
    }
    

    GET /services/workspaces/{workspace_id}

    Busca um espaço de trabalho existente para o ID de espaço de trabalho especificado.

    URL

    Estrutura

    [GET] /services/workspaces/{workspace_id}
    

    Exemplo

    [GET] https://cam.ctl.io//services/workspaces/workspace4
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    workspace_id cadeia ID do espaço de trabalho Sim

    Solicitar parâmetros do corpo

    • Nenhum

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 0 não autorizado
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    costcenter cadeia Id do centro de custo
    created cadeia Data de criação
    deleted cadeia Será nulo se o recurso for válido ou uma string com a hora e a data de exclusão se ela foi excluída. Os usuários finais sempre verão este parâmetro como nulo
    icon cadeia URL do avatar de espaço de trabalho
    id cadeia ID de espaço de trabalho
    members array Lista os membros de um espaço de trabalho de equipe
    nome cadeia Nome do espaço de trabalho
    organizações array Lista de nomes de organização
    esquema cadeia URI do esquema. "http://elasticbox.net/schemas/workspaces/personal” ou “http://elasticbox.net/schemas/workspaces/team”
    tipo cadeia Tipo de espaço de trabalho. Pode ser pessoal ou equipe. Os usuários podem editar espaço de trabalho pessoal desde que os esquemas sejam válidos e o usuário tenha privilégios.
    updated cadeia Atualizar data
    uri cadeia URL para acessar o espaço de trabalho

    Corpo da resposta

    {
        "organizations": [
            "elasticbox"
        ],
        "updated": "2018-10-23 14:13:21.375854",
        "name": "WORKSPACE C",
        "created": "2018-10-23 14:13:21.375854",
        "deleted": null,
        "uri": "/services/workspaces/workspace4",
        "schema": "http://elasticbox.net/schemas/workspaces/team",
        "costcenter": "3ef6e6e0-a08d-40f1-98bf-4a7fc9b9c63a",
        "members": [],
        "type": "team",
        "id": "workspace4",
        "icon": "/services/blobs/download/5bcf2c5c1862a312d7ac3c37/Screen-Shot-2018-10-23-at-16.12.23.png"
    }
    

    PUT /services/workspaces/{workspace_id}

    Atualiza um espaço de trabalho existente.

    URL

    Estrutura

    [PUT] /services/workspaces/{workspace_id}
    

    Exemplo

    [PUT] https://cam.ctl.io/services/workspaces/workspace4
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    workspace_id cadeia ID do espaço de trabalho Sim

    Solicitar parâmetros do corpo

    NAME tipo DESCRIÇÃO REQ.
    costcenter cadeia Id do centro de custo Sim
    created cadeia Data de criação do espaço de trabalho Não
    deleted cadeia Será nulo se o recurso for válido ou uma string com a hora e a data de exclusão se ela foi excluída. Os usuários finais sempre verão este parâmetro como nulo Não
    icon cadeia URL do ícone Não
    id cadeia ID de espaço de trabalho Sim
    members array Lista de objetos que representam os membros (outros espaços de trabalho) adicionados a este espaço de trabalho Não
    nome cadeia Nome do espaço de trabalho Sim
    organizações array Lista de nomes de organização Sim
    esquema cadeia Espaço de trabalho schema uri. URI do esquema. "http://elasticbox.net/schemas/workspaces/personal” ou “http://elasticbox.net/schemas/workspaces/team” Sim
    tipo cadeia Tipo de espaço de trabalho. Pode ser pessoal ou equipe. Os usuários podem editar espaço de trabalho pessoal desde que os esquemas sejam válidos e o usuário tenha privilégios. Não
    updated cadeia Data de atualização do espaço de trabalho Não
    {
        "organizations":["elasticbox"],
        "updated": "2018-10-25 07:26:50.016849",
        "name": "WORKSPACE E",
        "icon": "/services/blobs/download/5bcf2c5c1862a312d7ac3c37/Screen-Shot-2018-10-23-at-16.12.23.png",
        "created": "2018-10-23 14:15:29.294888",
        "deleted": null,
        "members":[
            {
                "id": "operations",
                "type": "workspace",
                "role": "user"
            }
        ],
        "costcenter": "3ef6e6e0-a08d-40f1-98bf-4a7fc9b9c63a",
        "type": "team",
        "id": "workspace5",
        "schema": "http://elasticbox.net/schemas/workspaces/team"
    }
    

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida
    • 0 não autorizado
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    costcenter cadeia Id do centro de custo
    created cadeia Data de criação do espaço de trabalho
    deleted cadeia Será nulo se o recurso for válido ou uma string com a hora e a data de exclusão se ela foi excluída. Os usuários finais sempre verão este parâmetro como nulo
    icon cadeia URL do ícone
    id cadeia ID de espaço de trabalho
    members array Lista de objetos que representam os membros (outros espaços de trabalho) adicionados a este espaço de trabalho
    nome cadeia Nome do espaço de trabalho
    organizações array Lista de nomes de organização
    esquema cadeia Espaço de trabalho schema uri. URI do esquema. "http://elasticbox.net/schemas/workspaces/personal” ou “http://elasticbox.net/schemas/workspaces/team”
    tipo cadeia Tipo de espaço de trabalho. Pode ser pessoal ou equipe. Os usuários podem editar espaço de trabalho pessoal desde que os esquemas sejam válidos e o usuário tenha privilégios.
    updated cadeia Data de atualização do espaço de trabalho
    uri cadeia URL para acessar a visualização de espaço de trabalho atualizada

    Corpo da resposta

    {
        "organizations": [
            "elasticbox"
        ],
        "updated": "2018-10-26 12:16:11.763338",
        "name": "WORKSPACE A",
        "created": "2018-10-26 12:15:44.433381",
        "deleted": null,
        "uri": "/services/workspaces/workspace7",
        "costcenter": "3ef6e6e0-a08d-40f1-98bf-4a7fc9b9c63a",
        "members":
            [
                {
                    "type": "workspace",
                    "role": "user",
                    "id": "operations",
                    "workspace": "operations"
                }
            ],
        "icon": null,
        "type": "team",
        "id": "workspace7",
        "schema": "http://elasticbox.net/schemas/workspaces/team"
    }
    

    DELETE /services/workspaces/{workspace_id}

    Excluir espaço de trabalho

    URL

    Estrutura

    [DELETE] /services/workspaces/{workspace_id}
    

    Exemplo

    [DELETE] https://cam.ctl.io/services/workspaces/workspace4
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    workspace_id cadeia ID do espaço de trabalho Sim

    Solicitar parâmetros do corpo

    • Nenhum

    Resposta

    Códigos de resposta normais

    • Nenhum conteúdo

    Códigos comuns de resposta ao erro

    • 0 não autorizado
    • 404 Não encontrado

    Parâmetros de resposta

    • Nenhum

    Corpo da resposta

    • Nenhum

    GET /services/workspaces/{workspace_id}/providers

    Obtém os provedores registrados em um espaço de trabalho.

    URL

    Estrutura

    [GET] /services/workspaces/{workspace_id}/providers
    

    Exemplo

    [GET] https://cam.ctl.io/services/workspaces/workspace4/providers
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    workspace_id cadeia ID de espaço de trabalho Sim

    Solicitar parâmetros do corpo

    • Nenhum

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 0 não autorizado
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    created cadeia Data de criação do provedor
    descrição cadeia eb-provider-description
    icon cadeia URL do ícone do provedor
    id cadeia Id do provedor
    members array Lista de membros com acesso ao provedor
    nome cadeia Nome do provedor
    owner cadeia ID do espaço de trabalho onde o provedor pertence
    esquema cadeia Esquema do fornecedor uri. Por exemplo, "http://elasticbox.net/schemas/aws/provider" Consulte a documentação API do provedor para obter uma lista completa dos tipos de esquema
    serviços array Lista de serviços associados ao provedor
    state cadeia eb-provider-state
    tipo cadeia Tipo de provedor
    updated cadeia Data de atualização do provedor
    uri cadeia URL para acessar a visualização do provedor

    Corpo da resposta

    [
        {
            "updated": "2018-11-20 12:23:10.654685",
            "description": null,
            "icon": "images/platform/aws.svg",
            "created": "2018-11-19 12:20:44.788595",
            "uri": "/services/providers/5b98633e-31d5-46ed-b530-f959d2898eef",
            "name": "My Amazon Web Services Provider",
            "services": [...],
            "state": "ready",
            "members": [],
            "owner": "operations",
            "credentials": {},
            "type": "Amazon Web Services",
            "id": "5b98633e-31d5-46ed-b530-f959d2898eef",
            "schema": "http://elasticbox.net/schemas/aws/provider"
        },
        {
            "updated": "2018-11-20 12:23:11.057875",
            "name": "My Centurly Link Provider",
            "icon": "images/platform/centurylink.svg",
            "created": "2018-11-20 08:57:43.926910",
            "uri": "/services/providers/ca33877a-6ade-4d28-8ed1-8c5e455148fa",
            "services": [...],
            "state": "ready",
            "members": [],
            "owner": "operations",
            "type": "CenturyLink",
            "id": "ca33877a-6ade-4d28-8ed1-8c5e455148fa",
            "schema": "http://elasticbox.net/schemas/centurylink/provider"
        }
    ]
    

    GET /services/workspaces/{workspace_id}/boxes

    Obtém todas as caixas em um espaço de trabalho.

    URL

    Estrutura

    [GET] /services/workspaces/{workspace_id}/boxes
    

    Exemplo

    [GET] https://cam.ctl.io/services/workspaces/workspace4/boxes
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    workspace_id cadeia ID de espaço de trabalho Sim

    Solicitar parâmetros do corpo

    • Nenhum

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 0 não autorizado
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    automatic_updates cadeia Tipo de atualização automática
    created cadeia Data de criação da caixa
    deleted cadeia Será nulo se o recurso for válido ou uma string com a hora e a data de exclusão se ela foi excluída. Os usuários finais sempre verão este parâmetro como nulo
    descrição cadeia Descrição da caixa
    event object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e destino_caminho
    eventos object Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    icon cadeia Url do ícone da caixa
    id cadeia id de caixa
    members array Lista de membros com acesso à caixa
    nome cadeia Nome da caixa
    organização cadeia Nome da organização
    owner cadeia Id do proprietário do espaço de trabalho
    requisitos array Lista de requisitos da caixa
    esquema cadeia Caixa schema uri
    tipo cadeia Tipo de caixa
    updated cadeia Data de atualização da caixa
    uri cadeia URL para acessar a exibição da caixa
    variables array Lista de variáveis associadas à caixa
    visibilidade cadeia Tipo de visibilidade que o provedor tem

    Corpo da resposta

    [
        {
            "updated": "2018-10-11 12:09:18.184974",
            "automatic_updates": "off",
            "requirements": [
                "linux"
            ],
            "name": "Oracle Database Service",
            "icon": "images/platform/oracle.png",
            "created": "2018-10-11 12:09:18.184974",
            "deleted": null,
            "variables": [
                {
                    "required": false,
                    "type": "Port",
                    "name": "port",
                    "value": "1521",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "database_name",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": true,
                    "type": "Text",
                    "name": "username",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": true,
                    "type": "Password",
                    "name": "password",
                    "value": "",
                    "visibility": "public"
                }
            ],
            "description": "Oracle Database as a Service",
            "uri": "/services/boxes/ce709ff9-69a7-4d95-bf14-97f069910be8",
            "visibility": "public",
            "id": "ce709ff9-69a7-4d95-bf14-97f069910be8",
            "friendly_id": "oracle-database-service",
            "members": [],
            "owner": "elasticbox",
            "organization": "public",
            "events": {},
            "schema": "http://elasticbox.net/schemas/boxes/script"
        },
    
        ... MORE BOXES ...
    
        {
            "updated": "2018-10-26 09:39:10.156446",
            "automatic_updates": "off",
            "requirements": [],
            "name": "Container A",
            "created": "2018-10-26 09:39:10.156446",
            "deleted": null,
            "variables": [
                {
                    "required": false,
                    "type": "Box",
                    "name": "DOCKER_BOX",
                    "value": "14c6d2c0-a1ea-436c-862b-c63d60acc53b",
                    "visibility": "public"
                }
            ],
            "uri": "/services/boxes/bcc27232-4c44-470c-a329-30e45931b523",
            "visibility": "workspace",
            "events": {},
            "members": [],
            "owner": "workspace5",
            "organization": "elasticbox",
            "id": "bcc27232-4c44-470c-a329-30e45931b523",
            "schema": "http://elasticbox.net/schemas/boxes/docker"
        }
    ]
    

    GET /services/workspaces/{workspace_id}/instances

    Obtém todas as instâncias em um espaço de trabalho.

    URL

    Estrutura

    [GET] /services/workspaces/{workspace_id}/instances
    

    Exemplo

    [GET] https://cam.ctl.io/services/workspaces/myworkspace/instances
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    workspace_id cadeia ID de espaço de trabalho Sim

    Solicitar parâmetros do corpo

    • Nenhum

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 0 não autorizado
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    automatic_updates cadeia Tipo de atualização automática
    bindings array Lista de binizações de instância
    caixas array Lista de caixas onde cada objeto de caixa contém um parâmetro de serviço. O parâmetro de serviço pode ter um desses valores: Linux Compute, Windows Compute e CloudFormation Service
    icon cadeia Ícone de instância uri
    id cadeia ID de instância
    is_deploy_only boolean Se a instância for apenas implantada
    machine object Máquina contida na lista de máquinas de serviço
    machine.name cadeia Nome da máquina
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento, feito e indisponível
    machine.workflow array Lista de ações de fluxo de trabalho, cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e roteiro
    members array Lista de membros com acesso à instância
    nome cadeia Nome da instância
    operation object Última operação, há vários tipos de operações: implantar, desligar, ligar, reinstalar, reconfigurar, encerrar, encerrar_serviço
    policy_box object Caixa de política de instância
    esquema cadeia Esquema de instância uri
    serviço object Serviço de instância
    service.id cadeia ID de serviço
    service.machines array Lista de máquinas de serviço
    service.type cadeia Obrigatório. Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service
    state cadeia Estado da instância, há três estados possíveis: processamento, feito e indisponível
    tags array Lista de tags de instância
    updated cadeia Data da última atualização
    uri cadeia Instância uri
    variables array Lista de variáveis de instância

    Corpo da resposta

    [
        {
            "box": "29a9fe00-517a-4635-a77c-6eb473f4d7a1",
            "lease": {
                "released": false,
                "operation": "terminate",
                "expire": "2018-12-12 11:20:48.751000"
            },
            "updated": "2018-12-12 10:30:56.151018",
            "automatic_updates": "off",
            "policy_box": {
                "profile": {
                    "subnet": "subnet-3412a250",
                    "volumes": [],
                    "pricing_info": {
                        "estimated_monthly": 417600,
                        "factor": 100000,
                        "hourly_price": 580,
                        "provider_type": "Amazon Web Services"
                    },
                    "image": "Linux Compute",
                    "elastic_ip": false,
                    "managed_os": false,
                    "instances": 1,
                    "keypair": "None",
                    "role": "None",
                    "location": "us-west-2",
                    "placement_group": "",
                    "cloud": "vpc-c52e9aa1",
                    "flavor": "t2.nano",
                    "security_groups": [
                        "Automatic"
                    ],
                    "schema": "http://elasticbox.net/schemas/aws/ec2/profile"
                },
                "provider_id": "cdcb8062-c792-4f92-9099-fc77831f5e0f",
                "automatic_updates": "off",
                "name": "My Deployment Policy",
                "created": "2018-12-12 10:19:21.170223",
                "deleted": null,
                "variables": [],
                "updated": "2018-12-12 10:20:25.788933",
                "lifespan": {
                    "operation": "terminate",
                    "interval": "hours",
                    "quantity": 1
                },
                "visibility": "workspace",
                "members": [],
                "claims": [],
                "owner": "myworkspace",
                "organization": "elasticbox",
                "id": "0e37ec16-ac46-4fd6-a7d4-343b65982828",
                "schema": "http://elasticbox.net/schemas/boxes/policy"
            },
            "name": "My Script Box",
            "service": {
                "type": "Linux Compute",
                "id": "eb-e1uyz",
                "machines": [
                    {
                        "state": "done",
                        "name": "my-script-box-eb-e1uyz-1",
                        "workflow": []
                    }
                ]
            },
            "tags": [],
            "variables": [],
            "created": "2018-12-12 10:21:48.709303",
            "boxes": [
                {
                    "updated": "2018-12-12 10:16:51.895046",
                    "automatic_updates": "off",
                    "requirements": [],
                    "name": "My Script Box",
                    "created": "2018-12-12 10:16:51.895046",
                    "deleted": null,
                    "variables": [],
                    "visibility": "workspace",
                    "id": "29a9fe00-517a-4635-a77c-6eb473f4d7a1",
                    "members": [],
                    "owner": "myworkspace",
                    "organization": "elasticbox",
                    "events": {},
                    "schema": "http://elasticbox.net/schemas/boxes/script"
                }
            ],
            "id": "i-8jo5n5",
            "is_deploy_only": true,
            "state": "done",
            "members": [],
            "owner": "myworkspace",
            "bindings": [],
            "uri": "/services/instances/i-8jo5n5",
            "operation": {
                "event": "deploy",
                "workspace": "operations",
                "created": "2018-12-12 10:27:53.778494"
            },
            "schema": "http://elasticbox.net/schemas/instance"
        }
    ]
    

    Como contatar o suporte do Cloud Application Manager

    Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

    Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

    Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

    • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
    • Windows: Windows: RDP na instância para localizar o registro em ProgramDataElasticBoxLogselasticbox-agent.log

    API Blobs

    Gerenciar Blobs

    Recurso Descrição
    POST /services/blobs/upload Carrega um arquivo usando dados de formulário de várias partes
    POST /services/blobs/upload/{file_name} Cria um blob de dados enviados
    GET /services/blobs/download/{file_id}/{file_name} Faz o download de um arquivo carregado anteriormente

    POST /services/blobs/upload

    Carrega um arquivo usando dados de formulário de várias partes.

    URL

    Estrutura

    [POST] /services/blobs/upload
    

    Exemplo

    [POST] https://cam.ctl.io/services/blobs/upload
    

    Solicitação

    Cabeçalhos

    Content-Type: multipart/form-data
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    • Nenhum

    Solicitar parâmetros do corpo

    • Dados do formulário: blob (binário)

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida
    • 0 não autorizado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    tipo de conteúdo cadeia Tipo de conteúdo do arquivo
    length number Tamanho do arquivo em bytes
    upload_date cadeia Data em que o arquivo foi carregado
    url cadeia URL para baixar o arquivo

    Corpo da resposta

    {
        "url": "/services/blobs/download/5be2de281862a32389a50d81/Screen-Shot-2018-11-07-at-13.44.12.png",
        "upload_date": "2018-11-07 12:44:24.254860",
        "length": 12715,
        "content_type": "image/png"
    }
    

    POST /services/blobs/upload/{file_name}

    Cria um blob a partir dos dados enviados.

    URL

    Estrutura

    [POST] /services/blobs/upload/{file_name}
    

    Exemplo

    [POST] https://cam.ctl.io/services/blobs/upload/another-file-name.png
    

    Solicitação

    Cabeçalhos

    Content-Type: multipart/form-data
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    • Nenhum

    Solicitar parâmetros do corpo

    • Dados do formulário: blob (binário)

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida
    • 0 não autorizado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    tipo de conteúdo cadeia Tipo de conteúdo do arquivo
    length number Tamanho do arquivo em bytes
    upload_date cadeia Data em que o arquivo foi carregado
    url cadeia URL para baixar o arquivo

    Corpo da resposta

    {
        "url": "/services/blobs/download/5be30e001862a32389a50d8f/another-file-name.png",
        "upload_date": "2018-11-07 16:08:32.178537",
        "length": 7264,
        "content_type": "multipart/form-data; boundary=--------------------------077273512344925050592348"
    }
    

    GET /services/blobs/download/{file_id}/{file_name}

    Faz o download de um arquivo carregado anteriormente.

    URL

    Estrutura

    [GET] /services/blobs/download/{file_id}/{file_name}
    

    Exemplo

    [GET] https://cam.ctl.io/services/blobs/download/5be2de281862a32389a50d81/Screen-Shot-2018-11-07-at-13.44.12.png
    

    Solicitação

    Cabeçalhos

    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    NAME tipo DESCRIÇÃO REQ.
    file_id cadeia Id do arquivo Sim
    file_name cadeia Nome do arquivo Sim

    Solicitar parâmetros do corpo

    • Nenhum

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida
    • 0 não autorizado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    tipo de conteúdo cadeia Tipo de conteúdo do arquivo
    length number Tamanho do arquivo em bytes
    upload_date cadeia Data em que o arquivo foi carregado
    url cadeia URL para baixar o arquivo

    Corpo da resposta

    The file
    

    Como contatar o suporte do Cloud Application Manager

    Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

    Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

    Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

    • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
    • Windows: Windows: RDP na instância para localizar o registro em ProgramDataElasticBoxLogselasticbox-agent.log

    API de caixas

    Gerenciar e executar ações em caixas.

    Criar ou Listar Caixas

    Recurso Descrição
    GET /services/boxes Obtém a lista de caixas que estão acessíveis no espaço de trabalho pessoal.
    POST /serviços/caixas 0. Crie uma nova caixa

    Executar operações de caixa

    Recurso Descrição
    GET /serviços/caixas/{box_id} Busca uma caixa existente.
    PUT /serviços/caixas/{box_id} Atualiza uma caixa existente.
    EXCLUIR /serviços/caixa/{box_id} Exclui uma caixa existente.
    GET /services/boxes/{box_id}/stack Obtém a pilha de caixas.
    GET /services/boxes/{box_id}/bindings Obtém as ligações da caixa.
    GET /services/boxes/{box_id}/versions Obtenha a lista de versões de caixa.
    PUT /services/boxes/{box_id}/diff Obtenha a diferença entre duas caixas.

    Caixa do CloudFormation

    O tipo de caixa do CloudFormation do Cloud Application Manager é executada no serviço do CloudFormation da AWS. Ele permite criar e personalizar modelos que você pode lançar como uma única pilha de serviços combinados no AWS. Gerenciar configurações CloudFormation em nuvem Gerenciador de aplicativos usando esses Ações de API.

    Os exemplos incluem:

    Exemplo
    Criar ou importar um modelo CloudFormation
    Modificar o Modelo CloudFormation
    Iniciar uma Caixa CloudFormation
    Atualizar uma pilha do CloudFormation em tempo real

    GET /services/boxes

    Obtém caixas acessíveis no espaço de trabalho pessoal do usuário autenticado.

    URL

    Estrutura

    [GET] /services/boxes
    
    [GET] /services/boxes?ids=value
    

    Exemplo

    [GET] https://cam.ctl.io/services/boxes
    

    Um exemplo com parâmetros para especificar uma lista de Ids de caixas.

    [GET] https://cam.ctl.io/services/boxes?ids=8117657c-572a-4608-a2e2-82204ffa2ba5,540da08f-bbcf-4bb8-95bb-fcb690d44268
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro estilo Tipo Descrição Req.
    ids plain cadeia Lista de Ids de caixas separadas por vírgula Opt.

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • organização plain cadeia Organização à qual a caixa pertence.
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    requisitos plain array Requisitos da caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    id plain array Identificador exclusivo da caixa.
    esquema plain cadeia Caixa schema uri.
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa.
    icon plain cadeia Ícone de caixa uri.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    nome plain cadeia Nome da caixa

    Corpo da resposta

    [
        {
            "automatic_updates": "off",
            "variables": [
                {
                    "required": false,
                    "type": "Text",
                    "name": "MNESIA_BASE",
                    "value": "/var/lib/rabbitmq/mnesia",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "LOG_BASE",
                    "value": "/var/log/rabbitmq",
                    "visibility": "public"
                },
                {
                    "name": "VERSION",
                    "required": false,
                    "value": "3.2.4",
                    "visibility": "public",
                    "type": "Options",
                    "options": "3.2.4,3.3.5"
                },
                {
                    "required": false,
                    "type": "Port",
                    "name": "mgmt",
                    "value": "15672",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Port",
                    "name": "rabbitmq",
                    "value": "5672",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "username",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Password",
                    "name": "password",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "name": "CLONE_URL",
                    "required": false,
                    "visibility": "public",
                    "value": "https://github.com/ElasticBox/rabbitmq.git",
                    "scope": "github.git_repo",
                    "type": "Text"
                },
                {
                    "name": "PUPPET_DEFAULT",
                    "required": false,
                    "visibility": "public",
                    "value": "/services/blobs/download/53550d367d0083337633e563/default.pp",
                    "scope": "puppet",
                    "type": "File"
                },
                {
                    "required": false,
                    "type": "Port",
                    "name": "ssl_port",
                    "value": "5671",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "CA_CERT_PATH",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "SERVER_CERT_PATH",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "SERVER_KEY_PATH",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "CA_CERT_FILE",
                    "value": "/services/blobs/download/530fc09a3d0a0c698ab6fb78/Blank_file",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "SERVER_CERT_FILE",
                    "value": "/services/blobs/download/530fc09a3d0a0c698ab6fb78/Blank_file",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "SERVER_KEY_FILE",
                    "value": "/services/blobs/download/530fc09a3d0a0c698ab6fb78/Blank_file",
                    "visibility": "public"
                },
                {
                    "automatic_updates": "off",
                    "name": "github",
                    "required": false,
                    "value": "758de981-475a-47fc-b0d9-342edda52a82",
                    "visibility": "public",
                    "type": "Box"
                },
                {
                    "automatic_updates": "off",
                    "name": "puppet",
                    "required": false,
                    "value": "08cc115c-4738-4f69-a8b7-da2e1dfec27c",
                    "visibility": "public",
                    "type": "Box"
                },
                {
                    "name": "CLONE_DIRECTORY",
                    "required": false,
                    "visibility": "public",
                    "value": "/etc/puppet/modules/rabbitmq",
                    "scope": "github.git_repo",
                    "type": "Text"
                }
            ],
            "friendly_id": "rabbitmq",
            "owner": "elasticbox",
            "id": "540da08f-bbcf-4bb8-95bb-fcb690d44268",
            "requirements": [
                "linux"
            ],
            "deleted": null,
            "version": {
                "box": "be59362e-87d8-4be3-addd-8363b07a2ae4",
                "number": {
                    "major": 0,
                    "minor": 1,
                    "patch": 3
                },
                "workspace": "matt",
                "description": "Updated Icon"
            },
            "readme": {
                "url": "/services/blobs/download/55db2cc60468cd7d5cd7ce04/rabbitmq.mdown",
                "upload_date": "2015-08-24 14:40:06.536836",
                "length": 4415,
                "content_type": "application/octet-stream"
            },
            "events": {
                "pre_install": {
                    "url": "/services/blobs/download/53571d577d0083337633e8eb/pre_install",
                    "upload_date": "2014-02-14 15:10:18.540864",
                    "length": 614,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2015-12-22 22:16:30.618152",
            "description": "Robust and easy-to-use messaging for applications",
            "icon_metadata": {
                "image": "images/platform/technologies/rabbitmq.svg",
                "border": "#EE5715",
                "fill": "#FF6E0D"
            },
            "visibility": "public",
            "members": [],
            "categories": [
                "Message Broker"
            ],
            "icon": "/icons/boxes/be59362e-87d8-4be3-addd-8363b07a2ae4",
            "name": "RabbitMQ",
            "created": "2015-12-22 22:19:13.638201",
            "uri": "/services/boxes/540da08f-bbcf-4bb8-95bb-fcb690d44268",
            "organization": "elasticbox",
            "draft_from": "8698cbcc-d24e-4258-b18a-df9dd526e4d4"
        },
        {
            "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
            "updated": "2015-05-22 20:25:17.104346",
            "automatic_updates": "off",
            "requirements": [
                "oracle"
            ],
            "description": "Oracle Database as a Service",
            "created": "2014-02-14 15:09:53.382579",
            "icon_metadata": {
                "image": "images/platform/oracle.png",
                "border": "#F8F8F9",
                "fill": "#FFFFFF"
            },
            "variables": [
                {
                    "required": false,
                    "type": "Port",
                    "name": "port",
                    "value": "1521",
                    "visibility": "public"
                },
                {
                    "required": true,
                    "type": "Text",
                    "name": "username",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": true,
                    "type": "Password",
                    "name": "password",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "database_name",
                    "value": "",
                    "visibility": "public"
                }
            ],
            "uri": "/services/boxes/8117657c-572a-4608-a2e2-82204ffa2ba5",
            "visibility": "public",
            "name": "Oracle Database Service",
            "deleted": null,
            "members": [],
            "owner": "public",
            "organization": "ebx",
            "type": "Oracle Database Service",
            "id": "8117657c-572a-4608-a2e2-82204ffa2ba5",
            "draft_from": "67695551-7ca9-4f90-bb00-7e8bf774c487",
            "icon": "/icons/boxes/8117657c-572a-4608-a2e2-82204ffa2ba5"
        }
    ]
    

    POST /serviços/caixas

    Cria uma nova caixa no espaço de trabalho pessoal e obtém a caixa criada.

    URL

    Estrutura

    [POST] /services/boxes
    

    Exemplo

    [POST] https://cam.ctl.io/services/boxes
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    • Nenhum

    Solicitar parâmetros do corpo

    Parâmetro estilo Tipo Descrição Req.
    requisitos plain array Requisitos da caixa.
    owner plain cadeia Proprietário da caixa, o nome de usuário para um espaço de trabalho pessoal e o nome do espaço de trabalho para um espaço de trabalho da equipe.
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • nome plain cadeia Nome da caixa Sim
    descrição plain cadeia Descrição da caixa.
    icon plain cadeia URL do ícone.
    esquema plain cadeia Esquema da caixa. Sim

    Corpo da solicitação

    {
        "owner": "operation",
        "schema":"http://elasticbox.net/schemas/boxes/script",
        "requirements":["linux","apache"],
        "automatic_updates":"off",
        "name":"Test Starter Box",
        "description":"Test Started for our showcase",
        "variables": [
          {
            "required": false,
            "type": "Text",
            "name": "variable_name",
            "value": ""
          }
        ]
    }
    

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos
    • 409 Conflito

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • organização plain cadeia Organização à qual a caixa pertence.
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    requisitos plain array Requisitos da caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    id plain array Identificador exclusivo da caixa.
    esquema plain cadeia Caixa schema uri.
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa.
    icon plain cadeia Ícone de caixa uri.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    nome plain cadeia Nome da caixa

    Corpo da resposta

    {
        "updated": "2018-12-28 15:05:52.816432",
        "automatic_updates": "off",
        "requirements": [
            "apache",
            "linux"
        ],
        "description": "Test Started for our showcase",
        "created": "2018-12-28 15:05:52.816432",
        "deleted": null,
        "variables": [
            {
                "required": false,
                "type": "Text",
                "name": "variable_name",
                "value": "",
                "visibility": "public"
            }
        ],
        "uri": "/services/boxes/0e725f03-052b-43e2-8c5d-32341bf60a8d",
        "visibility": "workspace",
        "events": {},
        "members": [],
        "owner": "operation",
        "organization": "centurylink",
        "schema": "http://elasticbox.net/schemas/boxes/script",
        "id": "0e725f03-052b-43e2-8c5d-32341bf60a8d",
        "name": "Test Starter Box"
    }
    

    GET /serviços/caixas/{box_id}

    Busca uma caixa existente, requer a id_id especificada.

    URL

    Estrutura

    [GET] /services/boxes/{box_id}
    

    Exemplo

    [GET] https://cam.ctl.io/services/boxes/0e725f03-052b-43e2-8c5d-32341bf60a8d
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    box_id cadeia id de caixa Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • organização plain cadeia Organização à qual a caixa pertence.
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    requisitos plain array Requisitos da caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    id plain array Identificador exclusivo da caixa.
    esquema plain cadeia Caixa schema uri.
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa.
    icon plain cadeia Ícone de caixa uri.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    nome plain cadeia Nome da caixa

    Corpo da resposta

    {
      "schema": "http://elasticbox.net/schemas/boxes/script",
      "updated": "2015-07-02 16:20:35.534878",
      "automatic_updates": "off",
      "requirements": [
        "linux"
      ],
      "description": "Wordpress Started for our showcase",
      "created": "2015-07-02 16:20:35.534878",
      "deleted": null,
      "variables": [],
      "uri": "/services/boxes/60cef61c-73dc-41d9-a32f-70f49a509c66",
      "visibility": "workspace",
      "events": {},
      "members": [],
      "owner": "project",
      "organization": "elasticbox",
      "id": "60cef61c-73dc-41d9-a32f-70f49a509c66",
      "name": "Wordpress Starter Box"
    }
    

    PUT /serviços/caixas/{box_id}

    Requer a ID da caixa para atualizar uma caixa existente. O corpo da solicitação deve conter o objeto da caixa e só pode atualizar os seguintes campos: arquivos, variáveis, portas, requisitos, descrição, ícone, nome, eventos e membros.

    URL

    Estrutura

    [PUT] /services/boxes/{box_id}
    

    Exemplo

    [PUT] https://cam.ctl.io/services/boxes/{box_id}
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro estilo Tipo Descrição Req.
    box_id plain cadeia id de caixa Sim

    Solicitar parâmetros do corpo

    Parâmetro estilo Tipo Descrição Req.
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    requisitos plain array Requisitos da caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    id plain array Identificador exclusivo da caixa.
    esquema plain cadeia Caixa schema uri. Sim
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa. Sim
    organização plain cadeia Organização à qual a caixa pertence. Sim
    icon plain cadeia Ícone de caixa uri.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    nome plain cadeia Nome da caixa Sim

    Corpo da solicitação

    {
        "schema":"http://elasticbox.net/schemas/boxes/script",
        "updated":"2018-28-12 16:23:46.702968",
        "automatic_updates":"off",
        "requirements":[
            "linux"
        ],
        "description":"New description set",
        "created":"2015-07-02 16:20:15.098554",
        "deleted":null,
        "variables":[
            {
                "required":false,
                "type":"Text",
                "name":"variable_name",
                "value":"Default value",
                "visibility":"public"
    
            }
            ],
            "uri":"/services/boxes/9192cb3e-04e2-4c50-b8a5-a25c980479d4",
            "visibility":"workspace",
            "events":{},
            "members":[],
            "owner":"operation",
            "organization":"elasticbox",
            "id":"0e725f03-052b-43e2-8c5d-32341bf60a8d",
            "name":"Rename Test Starter Box"
    }
    

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos
    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • organização plain cadeia Organização à qual a caixa pertence.
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    requisitos plain array Requisitos da caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    id plain array Identificador exclusivo da caixa.
    esquema plain cadeia Caixa schema uri.
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa.
    icon plain cadeia Ícone de caixa uri.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    nome plain cadeia Nome da caixa

    Corpo da resposta

    {
        "updated": "2018-12-28 16:07:08.238548",
        "automatic_updates": "off",
        "requirements": [
            "linux"
        ],
        "description": "New description",
        "name": "Rename Test Starter Box",
        "created": "2018-12-28 15:05:52.816432",
        "deleted": null,
        "variables": [
            {
                "required": false,
                "type": "Text",
                "name": "variable_name",
                "value": "Default value",
                "visibility": "public"
            }
        ],
        "uri": "/services/boxes/0e725f03-052b-43e2-8c5d-32341bf60a8d",
        "visibility": "workspace",
        "id": "0e725f03-052b-43e2-8c5d-32341bf60a8d",
        "members": [],
        "owner": "operation",
        "organization": "centurylink",
        "events": {},
        "schema": "http://elasticbox.net/schemas/boxes/script"
    }
    

    DELETE /services/boxes/{box_id}

    Exclui uma caixa existente, requer a id_id especificada.

    URL

    Estrutura

    [DELETE] /services/boxes/{box_id}
    

    Exemplo

    [DELETE] https://cam.ctl.io/services/boxes/0e725f03-052b-43e2-8c5d-32341bf60a8d
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro estilo Tipo Descrição Req.
    box_id plain cadeia id de caixa Sim

    Resposta

    Códigos de resposta normais

    • 204 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    GET /services/boxes/{box_id}/stack

    Obtém a pilha de caixas. A pilha de caixas é uma lista de caixas. Todas as caixas que são uma variável de caixa da caixa fornecida estão incluídas. A primeira caixa é sempre a caixa fornecida.

    URL

    Estrutura

    [GET] /services/boxes//{box_id}/stack
    

    Exemplo

    [GET] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/stack
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    box_id cadeia id de caixa Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • organização plain cadeia Organização à qual a caixa pertence.
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    tags plain array Etiquetas de caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    id plain array Identificador exclusivo da caixa.
    esquema plain cadeia Caixa schema uri.
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa.
    icon plain cadeia Ícone de caixa uri.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    nome plain cadeia Nome da caixa

    Corpo da resposta

    O exemplo a seguir é da caixa que instala e configura a Magento usando caixas de nginx e php-fpm para executar o aplicativo.

    [
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2015-12-22 23:11:27.168377",
            "automatic_updates": "off",
            "requirements": [
                "linux"
            ],
            "description": "HA proxy for MySQL",
            "created": "2015-11-30 19:51:27.665743",
            "deleted": null,
            "variables": [
                {
                    "automatic_updates": "major",
                    "name": "haproxy",
                    "required": false,
                    "visibility": "private",
                    "value": "87830b58-ceaf-4790-81d1-4511816b012f",
                    "type": "Box"
                },
                {
                    "name": "http",
                    "required": false,
                    "visibility": "internal",
                    "value": "3306",
                    "scope": "haproxy",
                    "type": "Port"
                },
                {
                    "name": "fallback_binding_port",
                    "required": false,
                    "visibility": "internal",
                    "value": "3306",
                    "scope": "haproxy",
                    "type": "Port"
                },
                {
                    "name": "CONFIG_FILE",
                    "required": false,
                    "visibility": "internal",
                    "value": "/services/blobs/download/56719884974c520dbaf06db0/haproxy.conf",
                    "scope": "haproxy",
                    "type": "File"
                },
                {
                    "name": "MODE",
                    "required": false,
                    "visibility": "internal",
                    "value": "tcp",
                    "scope": "haproxy",
                    "type": "Options",
                    "options": "http,tcp,health"
                }
            ],
            "uri": "/services/boxes/f6deab86-3744-4be3-bd48-804697859423",
            "visibility": "workspace",
            "name": "MySQL HA Proxy",
            "icon_metadata": {
                "image": "images/platform/technologies/mysql.svg",
                "border": "#227C95",
                "fill": "#ffffff"
            },
            "events": {
                "configure": {
                    "url": "/services/blobs/download/565d277217fe944e08464179/configure",
                    "length": 1033,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/565e37a9b1ac9f56ad579a8d/install",
                    "length": 634,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                }
            ],
            "owner": "super",
            "organization": "elasticbox",
            "id": "f6deab86-3744-4be3-bd48-804697859423",
            "icon": "/icons/boxes/f6deab86-3744-4be3-bd48-804697859423"
        },
        {
            "automatic_updates": "off",
            "variables": [
                {
                    "required": false,
                    "type": "Port",
                    "name": "http",
                    "value": "80",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Port",
                    "name": "fallback_binding_port",
                    "value": "80",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "CONFIG_FILE_NAME",
                    "value": "haproxy.cfg",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "CONFIG_FILE",
                    "value": "/services/blobs/download/55dc3b66b8485e51a2a7d236/haproxy.conf",
                    "visibility": "public"
                },
                {
                    "name": "MODE",
                    "required": false,
                    "visibility": "public",
                    "value": "http",
                    "type": "Options",
                    "options": "http,tcp,health"
                },
                {
                    "required": false,
                    "type": "Binding",
                    "name": "servers",
                    "value": "AnyBox",
                    "visibility": "private"
                }
            ],
            "friendly_id": "haproxy",
            "owner": "elasticbox",
            "id": "87830b58-ceaf-4790-81d1-4511816b012f",
            "requirements": [
                "linux"
            ],
            "icon_metadata": {
                "image": "images/platform/technologies/haproxy.svg",
                "border": "#3F52AA",
                "fill": "#ffffff"
            },
            "version": {
                "box": "fbe1f028-d95e-4bde-958b-00a5d5ca50d6",
                "number": {
                    "major": 0,
                    "minor": 1,
                    "patch": 4
                },
                "workspace": "arnaud-elasticbox",
                "description": "Fix apt-get update"
            },
            "readme": {
                "url": "#application-lifecycle-management-services/blobs/download/565e1bedb1ac9f56ad57986a/readme",
                "upload_date": "2015-12-01 22:15:09.369640",
                "length": 1778,
                "content_type": "text/x-markdown"
            },
            "events": {
                "start": {
                    "url": "/services/blobs/download/55dc3b65b8485e51a2a7d234/start",
                    "upload_date": "2015-08-25 09:54:45.995814",
                    "length": 40,
                    "destination_path": "scripts",
                    "content_type": null
                },
                "configure": {
                    "url": "/services/blobs/download/565cfea1b1ac9f56ad57867b/configure",
                    "upload_date": "2015-08-25 09:54:44.800362",
                    "length": 102,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/565e26e017fe944e08465290/install",
                    "upload_date": "2015-08-25 09:54:43.653716",
                    "length": 524,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2015-12-22 22:30:31.610021",
            "description": "Reliable, High Performance, TCP / HTTP Load Balancer",
            "deleted": null,
            "visibility": "public",
            "members": [],
            "categories": [
                "Load Balancer"
            ],
            "icon": "/services/blobs/download/55e6ca6bdda62a64df899596/haproxy.png",
            "name": "HAProxy",
            "created": "2015-12-01 23:02:07.975395",
            "uri": "/services/boxes/87830b58-ceaf-4790-81d1-4511816b012f",
            "organization": "elasticbox",
            "draft_from": "35b8e7c0-3074-48ed-9b89-28ec6f279830"
        },
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2016-12-08 18:22:58.904383",
            "automatic_updates": "off",
            "requirements": [
                "linux"
            ],
            "description": "A free, open-source, high-performance HTTP server and",
            "created": "2015-09-12 19:44:34.159558",
            "deleted": null,
            "variables": [
                {
                    "required": false,
                    "type": "Port",
                    "name": "http",
                    "value": "80",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "PUBLIC_SSL_CERTIFICATE",
                    "value": "/services/blobs/download/55f48216dda62a5eab4a41ca/public.crt",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "PRIVATE_SSL_KEY",
                    "value": "/services/blobs/download/55f4822bb1ac9f70ec5d4bb9/private.key",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "NGINX_CONF",
                    "value": "/services/blobs/download/57325a5636b43a30a1fb77f7/nginx.conf",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "NGINX_USER",
                    "value": "root",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "NGINX_GROUP",
                    "value": "root",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "LOG_PATH",
                    "value": "/var/log/nginx",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "CACHE_PATH",
                    "value": "/var/nginx/cache",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "CERTIFICATE_PATH",
                    "value": "/var/nginx/certificates",
                    "visibility": "internal"
                }
            ],
            "readme": {
                "url": "#application-lifecycle-management-services/blobs/download/56297b2fb1ac9f4d02d1c2ab/readme",
                "upload_date": "2015-10-23 00:11:27.558696",
                "length": 2278,
                "content_type": "text/x-markdown"
            },
            "uri": "/services/boxes/8e176772-5c6c-4d5a-8f6e-cbf342142520",
            "visibility": "workspace",
            "name": "Nginx",
            "icon_metadata": {
                "image": "images/platform/technologies/nginx.svg",
                "border": "#007731",
                "fill": "#00964C"
            },
            "events": {
                "start": {
                    "url": "/services/blobs/download/565e31b5b1ac9f56ad57999b/start",
                    "length": 91,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "configure": {
                    "url": "/services/blobs/download/56673867dda62a46af5b4275/configure",
                    "length": 519,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/57e55ad5c60625154acebee3/install",
                    "length": 1515,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                }
            ],
            "owner": "super",
            "organization": "elasticbox",
            "id": "8e176772-5c6c-4d5a-8f6e-cbf342142520",
            "draft_from": "790e4791-be29-40fa-85ca-619dd3061ced",
            "icon": "/icons/boxes/8e176772-5c6c-4d5a-8f6e-cbf342142520"
        },
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2016-12-08 18:34:39.878898",
            "automatic_updates": "off",
            "requirements": [
                "internal",
                "linux"
            ],
            "name": "Magento",
            "created": "2015-09-12 18:25:43.678013",
            "deleted": null,
            "variables": [
                {
                    "name": "LOCAL_PATH",
                    "required": true,
                    "value": "/mnt/media",
                    "visibility": "internal",
                    "scope": "nfs",
                    "type": "Text"
                },
                {
                    "name": "CONFIG_FILE",
                    "required": false,
                    "value": "/services/blobs/download/565f3c92974c525666cd2f84/haproxy.conf",
                    "visibility": "public",
                    "scope": "redis.haproxy",
                    "type": "File"
                },
                {
                    "name": "CONFIG_FILE_NAME",
                    "required": false,
                    "value": "redis.cfg",
                    "visibility": "public",
                    "scope": "redis.haproxy",
                    "type": "Text"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "MAGENTO_URL",
                    "value": "https://s3-us-west-1.amazonaws.com/ebx-public/magento-1.9.2.2.tar-2015-10-27-03-19-32.gz",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "SERVER_NAME",
                    "value": "localhost",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Port",
                    "name": "http",
                    "value": "80",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "MAGENTO_CONF",
                    "value": "/services/blobs/download/565ca77d17fe944e08463a45/magento.conf",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "MAGENTO_CONFIG",
                    "value": "/services/blobs/download/565f3b1bb1ac9f56ad57b423/local.xml",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "MAGENTO_PATH",
                    "value": "/opt/magento",
                    "visibility": "internal"
                },
                {
                    "automatic_updates": "major",
                    "name": "redis",
                    "required": false,
                    "value": "053c6467-13e4-47fb-b6cf-46f51e6c2294",
                    "visibility": "public",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "mysql",
                    "required": false,
                    "value": "f6deab86-3744-4be3-bd48-804697859423",
                    "visibility": "public",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "nginx",
                    "required": false,
                    "visibility": "internal",
                    "value": "8e176772-5c6c-4d5a-8f6e-cbf342142520",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "php",
                    "required": false,
                    "value": "ed085cfd-8707-4ef7-9611-6e84498d27c6",
                    "visibility": "internal",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "nfs",
                    "required": false,
                    "value": "320e8be7-5d05-4f74-a040-5d74836ae608",
                    "visibility": "public",
                    "type": "Box"
                }
            ],
            "description": "Magento Web Layer",
            "readme": {
                "url": "#application-lifecycle-management-services/blobs/download/563a84b1dda62a1ca8ed5bdb/readme",
                "upload_date": "2015-11-04 22:20:33.241618",
                "length": 2264,
                "content_type": "text/x-markdown"
            },
            "uri": "/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74",
            "visibility": "workspace",
            "events": {
                "configure": {
                    "url": "/services/blobs/download/566604fcb1ac9f56ad5809bf/configure",
                    "length": 702,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/565e1855dda62a46af5acc97/install",
                    "length": 829,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "icon_metadata": {
                "image": "images/platform/technologies/magento.svg",
                "border": "#191815",
                "fill": "#31302B"
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                },
                {
                    "role": "read",
                    "workspace": "centurylink"
                }
            ],
            "owner": "super",
            "organization": "elasticbox",
            "id": "f4dd017f-4bec-42f4-9614-bd27fd8baf74",
            "draft_from": "de1841f7-cfbe-4443-a996-d13807271a18",
            "icon": "/icons/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74"
        },
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2016-12-02 15:27:33.907741",
            "automatic_updates": "off",
            "requirements": [
                "linux"
            ],
            "description": "A simple and robust FastCGI Process Manager for PH",
            "created": "2015-09-12 18:37:50.024980",
            "deleted": null,
            "variables": [
                {
                    "required": false,
                    "type": "Text",
                    "name": "PHP_USER",
                    "value": "root",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "PHP_GROUP",
                    "value": "root",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "LOGS_DIRECTORY",
                    "value": "/var/log/php-fpm",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "PHP_INI",
                    "value": "/services/blobs/download/565deff917fe944e084647bf/php.ini",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "PHP_FPM_CONF",
                    "value": "/services/blobs/download/55f498d917fe94678daaf710/www.conf",
                    "visibility": "internal"
                }
            ],
            "uri": "/services/boxes/ed085cfd-8707-4ef7-9611-6e84498d27c6",
            "visibility": "workspace",
            "name": "PHP-FPM",
            "icon_metadata": {
                "image": "images/platform/technologies/php.svg",
                "border": "#484F8C",
                "fill": "#6068A4"
            },
            "events": {
                "start": {
                    "url": "/services/blobs/download/584190645939a07e69c92cdc/start",
                    "length": 140,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "configure": {
                    "url": "/services/blobs/download/565f491217fe944e08466e01/configure",
                    "length": 535,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/565e173517fe944e084651ea/install",
                    "length": 1408,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                }
            ],
            "organization": "elasticbox",
            "readme": {
                "url": "#application-lifecycle-management-services/blobs/download/56297bc9dda62a3b79416cbb/readme",
                "upload_date": "2015-10-23 00:14:01.384408",
                "length": 2570,
                "content_type": "text/x-markdown"
            },
            "owner": "super",
            "id": "ed085cfd-8707-4ef7-9611-6e84498d27c6",
            "draft_from": "be643a40-e7e8-435a-a857-e06fe5854c3c",
            "icon": "/icons/boxes/ed085cfd-8707-4ef7-9611-6e84498d27c6"
        },
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2015-12-22 23:12:59.290608",
            "automatic_updates": "off",
            "requirements": [
                "linux"
            ],
            "description": "HA Proxy for Redis cluster",
            "created": "2015-11-30 19:44:48.523649",
            "deleted": null,
            "variables": [
                {
                    "automatic_updates": "major",
                    "name": "haproxy",
                    "required": false,
                    "visibility": "private",
                    "value": "87830b58-ceaf-4790-81d1-4511816b012f",
                    "type": "Box"
                },
                {
                    "name": "CONFIG_FILE",
                    "required": false,
                    "visibility": "public",
                    "value": "/services/blobs/download/565cac16b1ac9f56ad578071/haproxy.conf",
                    "scope": "haproxy",
                    "type": "File"
                },
                {
                    "name": "MODE",
                    "required": false,
                    "value": "tcp",
                    "visibility": "public",
                    "scope": "haproxy",
                    "type": "Options",
                    "options": "http,tcp,health"
                }
            ],
            "uri": "/services/boxes/053c6467-13e4-47fb-b6cf-46f51e6c2294",
            "visibility": "workspace",
            "name": "Redis HA Proxy",
            "icon_metadata": {
                "image": "images/platform/technologies/redis.svg",
                "border": "#18191C",
                "fill": "#2A2C30"
            },
            "events": {
                "install": {
                    "url": "/services/blobs/download/565e380bdda62a46af5acef5/install",
                    "length": 417,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                }
            ],
            "owner": "super",
            "organization": "elasticbox",
            "id": "053c6467-13e4-47fb-b6cf-46f51e6c2294",
            "icon": "/icons/boxes/053c6467-13e4-47fb-b6cf-46f51e6c2294"
        },
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2016-09-08 16:30:40.026518",
            "automatic_updates": "off",
            "requirements": [
                "linux"
            ],
            "description": "Mounts an NFS endpoint",
            "created": "2015-09-13 20:28:14.119832",
            "deleted": null,
            "variables": [
                {
                    "required": true,
                    "type": "Text",
                    "name": "LOCAL_PATH",
                    "value": "",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Binding",
                    "name": "server",
                    "value": "894c39a1-169f-4cfb-a377-20fd41ab95d5",
                    "visibility": "private"
                }
            ],
            "uri": "/services/boxes/320e8be7-5d05-4f74-a040-5d74836ae608",
            "visibility": "workspace",
            "name": "NFS Client",
            "owner": "super",
            "icon_metadata": {
                "image": "images/platform/abstract/disk.svg",
                "border": "#14427A",
                "fill": "#246099"
            },
            "events": {
                "configure": {
                    "url": "/services/blobs/download/5667372db1ac9f56ad580ebc/configure",
                    "length": 271,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/566736f6dda62a46af5b4272/install",
                    "length": 213,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                }
            ],
            "readme": {
                "url": "#application-lifecycle-management-services/blobs/download/56297c02b1ac9f4d02d1c2ae/readme",
                "upload_date": "2015-10-23 00:14:58.186697",
                "length": 1515,
                "content_type": "text/x-markdown"
            },
            "organization": "elasticbox",
            "id": "320e8be7-5d05-4f74-a040-5d74836ae608",
            "draft_from": "7a24d2c7-8e8b-45bb-8a9c-eaf6899d3e85",
            "icon": "/icons/boxes/320e8be7-5d05-4f74-a040-5d74836ae608"
        }
    ]
    

    GET /services/boxes/{box_id}/bindings

    Obtém uma lista de objetos de caixa que são binos da caixa solicitada. Requer a id da caixa especificada como um parâmetro box_id.

    URL

    Estrutura

    [GET] /services/boxes//{box_id}/bindings
    

    Exemplo

    [GET] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/bindings
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    box_id cadeia id de caixa Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    uri plain cadeia Caixa uri.
    id plain array Identificador exclusivo da caixa.
    icon plain cadeia Ícone de caixa uri.
    nome plain cadeia Nome da caixa

    Corpo da resposta

    [
        {
            "uri": "/services/boxes/894c39a1-169f-4cfb-a377-20fd41ab95d5",
            "name": "NFS Server",
            "icon": "/icons/boxes/894c39a1-169f-4cfb-a377-20fd41ab95d5",
            "id": "894c39a1-169f-4cfb-a377-20fd41ab95d5"
        }
    ]
    

    GET /services/boxes/{box_id}/versions

    Obtém uma lista de versões de caixa para a caixa solicitada. Requer a id da caixa especificada como um parâmetro box_id. Se a caixa especificada não for versada, ela obtém uma lista vazia.

    URL

    Estrutura

    [GET] /services/boxes//{box_id}/versions
    

    Exemplo

    [GET] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/versions
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    box_id cadeia id de caixa Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    tags plain array Etiquetas de caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa.
    id plain array Identificador exclusivo da caixa.
    icon plain cadeia Ícone de caixa uri.
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • organização plain cadeia Organização à qual a caixa pertence.
    nome plain cadeia Nome da caixa
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    versão plain object O objeto da versão da caixa contém a caixa de parâmetros, descrição e espaço de trabalho.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    esquema plain cadeia Caixa schema uri.

    Corpo da resposta

    [
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2016-11-22 13:39:23.680784",
            "automatic_updates": "off",
            "requirements": [
                "internal",
                "linux"
            ],
            "description": "Magento Web Layer",
            "created": "2016-05-10 22:03:20.342575",
            "deleted": null,
            "variables": [
                {
                    "name": "LOCAL_PATH",
                    "required": true,
                    "value": "/mnt/media",
                    "visibility": "internal",
                    "scope": "nfs",
                    "type": "Text"
                },
                {
                    "name": "CONFIG_FILE",
                    "required": false,
                    "value": "/services/blobs/download/565f3c92974c525666cd2f84/haproxy.conf",
                    "visibility": "public",
                    "scope": "redis.haproxy",
                    "type": "File"
                },
                {
                    "name": "CONFIG_FILE_NAME",
                    "required": false,
                    "value": "redis.cfg",
                    "visibility": "public",
                    "scope": "redis.haproxy",
                    "type": "Text"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "MAGENTO_URL",
                    "value": "https://s3-us-west-1.amazonaws.com/ebx-public/magento-1.9.2.2.tar-2015-10-27-03-19-32.gz",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "SERVER_NAME",
                    "value": "localhost",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Port",
                    "name": "http",
                    "value": "80",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "MAGENTO_CONF",
                    "value": "/services/blobs/download/565ca77d17fe944e08463a45/magento.conf",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "MAGENTO_CONFIG",
                    "value": "/services/blobs/download/565f3b1bb1ac9f56ad57b423/local.xml",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "MAGENTO_PATH",
                    "value": "/opt/magento",
                    "visibility": "internal"
                },
                {
                    "automatic_updates": "major",
                    "name": "redis",
                    "required": false,
                    "value": "053c6467-13e4-47fb-b6cf-46f51e6c2294",
                    "visibility": "public",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "mysql",
                    "required": false,
                    "value": "f6deab86-3744-4be3-bd48-804697859423",
                    "visibility": "public",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "nginx",
                    "required": false,
                    "visibility": "internal",
                    "value": "8e176772-5c6c-4d5a-8f6e-cbf342142520",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "php",
                    "required": false,
                    "value": "ed085cfd-8707-4ef7-9611-6e84498d27c6",
                    "visibility": "internal",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "nfs",
                    "required": false,
                    "value": "320e8be7-5d05-4f74-a040-5d74836ae608",
                    "visibility": "public",
                    "type": "Box"
                }
            ],
            "readme": {
                "url": "#application-lifecycle-management-services/blobs/download/563a84b1dda62a1ca8ed5bdb/readme",
                "upload_date": "2015-11-04 22:20:33.241618",
                "length": 2264,
                "content_type": "text/x-markdown"
            },
            "uri": "/services/boxes/de1841f7-cfbe-4443-a996-d13807271a18",
            "visibility": "workspace",
            "name": "Magento",
            "icon_metadata": {
                "image": "images/platform/technologies/magento.svg",
                "border": "#191815",
                "fill": "#31302B"
            },
            "version": {
                "box": "f4dd017f-4bec-42f4-9614-bd27fd8baf74",
                "number": {
                    "major": 0,
                    "minor": 1,
                    "patch": 1
                },
                "workspace": "alberto",
                "description": "Updated boxes"
            },
            "events": {
                "configure": {
                    "url": "/services/blobs/download/566604fcb1ac9f56ad5809bf/configure",
                    "length": 702,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/565e1855dda62a46af5acc97/install",
                    "length": 829,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                },
                {
                    "role": "read",
                    "workspace": "centurylink"
                }
            ],
            "owner": "super",
            "organization": "elasticbox",
            "id": "de1841f7-cfbe-4443-a996-d13807271a18",
            "icon": "/icons/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74"
        },
        {
            "schema": "http://elasticbox.net/schemas/boxes/script",
            "updated": "2016-11-22 13:39:23.680784",
            "automatic_updates": "off",
            "requirements": [
                "internal",
                "linux"
            ],
            "description": "Magento Web Layer",
            "created": "2015-12-10 16:11:01.542052",
            "icon_metadata": {
                "image": "images/platform/technologies/magento.svg",
                "border": "#191815",
                "fill": "#31302B"
            },
            "variables": [
                {
                    "name": "LOCAL_PATH",
                    "required": true,
                    "visibility": "internal",
                    "value": "/mnt/media",
                    "scope": "nfs",
                    "type": "Text"
                },
                {
                    "name": "CONFIG_FILE",
                    "required": false,
                    "visibility": "public",
                    "value": "/services/blobs/download/565f3c92974c525666cd2f84/haproxy.conf",
                    "scope": "redis.haproxy",
                    "type": "File"
                },
                {
                    "name": "CONFIG_FILE_NAME",
                    "required": false,
                    "visibility": "public",
                    "value": "redis.cfg",
                    "scope": "redis.haproxy",
                    "type": "Text"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "SERVER_NAME",
                    "value": "localhost",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Port",
                    "name": "http",
                    "value": "80",
                    "visibility": "public"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "MAGENTO_URL",
                    "value": "https://s3-us-west-1.amazonaws.com/ebx-public/magento-1.9.2.2.tar-2015-10-27-03-19-32.gz",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "MAGENTO_CONF",
                    "value": "/services/blobs/download/565ca77d17fe944e08463a45/magento.conf",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "File",
                    "name": "MAGENTO_CONFIG",
                    "value": "/services/blobs/download/565f3b1bb1ac9f56ad57b423/local.xml",
                    "visibility": "internal"
                },
                {
                    "required": false,
                    "type": "Text",
                    "name": "MAGENTO_PATH",
                    "value": "/opt/magento",
                    "visibility": "internal"
                },
                {
                    "automatic_updates": "major",
                    "name": "mysql",
                    "required": false,
                    "visibility": "public",
                    "value": "f6deab86-3744-4be3-bd48-804697859423",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "redis",
                    "required": false,
                    "visibility": "public",
                    "value": "053c6467-13e4-47fb-b6cf-46f51e6c2294",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "nginx",
                    "required": false,
                    "value": "8e176772-5c6c-4d5a-8f6e-cbf342142520",
                    "visibility": "internal",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "php",
                    "required": false,
                    "visibility": "internal",
                    "value": "ed085cfd-8707-4ef7-9611-6e84498d27c6",
                    "type": "Box"
                },
                {
                    "automatic_updates": "major",
                    "name": "nfs",
                    "required": false,
                    "visibility": "public",
                    "value": "320e8be7-5d05-4f74-a040-5d74836ae608",
                    "type": "Box"
                }
            ],
            "readme": {
                "url": "#application-lifecycle-management-services/blobs/download/563a84b1dda62a1ca8ed5bdb/readme",
                "upload_date": "2015-11-04 22:20:33.241618",
                "length": 2264,
                "content_type": "text/x-markdown"
            },
            "uri": "/services/boxes/e75f27f6-fded-4647-8630-bd99cf62fcee",
            "visibility": "workspace",
            "name": "Magento",
            "deleted": null,
            "version": {
                "box": "f4dd017f-4bec-42f4-9614-bd27fd8baf74",
                "number": {
                    "major": 0,
                    "minor": 1,
                    "patch": 0
                },
                "workspace": "diego",
                "description": "automatic"
            },
            "events": {
                "configure": {
                    "url": "/services/blobs/download/566604fcb1ac9f56ad5809bf/configure",
                    "length": 702,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                },
                "install": {
                    "url": "/services/blobs/download/565e1855dda62a46af5acc97/install",
                    "length": 829,
                    "destination_path": "scripts",
                    "content_type": "text/x-shellscript"
                }
            },
            "members": [
                {
                    "role": "collaborator",
                    "workspace": "rackspace1"
                },
                {
                    "role": "read",
                    "workspace": "centurylink"
                }
            ],
            "owner": "super",
            "organization": "elasticbox",
            "id": "e75f27f6-fded-4647-8630-bd99cf62fcee",
            "icon": "/services/blobs/download/55f46e1c974c52710858afb6/magento.png"
        }
    ]
    

    PUT /services/boxes/{box_id}/diff

    Compara uma caixa à caixa enviada. Requer a id da caixa especificada como parâmetro box_id.

    URL

    Estrutura

    [PUT] /services/boxes//{box_id}/diff
    

    Exemplo

    [PUT] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/diff
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro estilo Tipo Descrição Req.
    box_id plain cadeia id de caixa Sim

    Solicitar parâmetros do corpo

    Parâmetro estilo Tipo Descrição Req.
    updated plain cadeia Data da última atualização.
    descrição plain cadeia Descrição da caixa.
    tags plain array Etiquetas de caixa.
    variables plain array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    members plain array Lista de membros da caixa.
    owner plain cadeia Proprietário da caixa. Sim
    id plain array Identificador exclusivo da caixa. Sim
    icon plain cadeia Ícone de caixa uri.
    visibilidade plain cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • organização plain cadeia Organização à qual a caixa pertence. Sim
    nome plain cadeia Nome da caixa Sim
    created plain cadeia Data de criação
    uri plain cadeia Caixa uri.
    versão plain object O objeto da versão da caixa contém a caixa de parâmetros, descrição e espaço de trabalho.
    eventos plain array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pré_configurar, pré_descartar, pré_instalar, pré_iniciar, pré_parar, iniciar e parar.
    event plain object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url, data_upload, comprimento e caminho_destino.
    esquema plain cadeia Caixa schema uri. Sim

    Corpo da solicitação

    {
      "updated": "2018-07-02 13:36:30.348041",
      "automatic_updates": "off",
      "requirements": [
        "linux",
        "new_requirement"
      ],
      "description": "Test Started for our showcase",
      "name": "Test Starter Box",
      "created": "2018-12-31 11:20:27.349315",
      "deleted": null,
      "variables": [
        {
          "required": false,
          "type": "Text",
          "name": "variable_name",
          "value": "New value",
          "visibility": "public"
        }
      ],
      "uri": "/services/boxes/60cef61c-73dc-41d9-a32f-70f49a509c66",
      "visibility": "workspace",
      "id": "60cef61c-73dc-41d9-a32f-70f49a509c66",
      "members": [],
      "owner": "operation",
      "organization": "elasticbox",
      "events": {},
      "draft_from": "ca197de8-25e1-4e9b-9d45-c99a049249fc",
      "schema": "http://elasticbox.net/schemas/boxes/script"
    }
    

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro estilo Tipo Descrição
    box_variables plain object Diferenças nas variáveis da caixa, o objeto contém um título e três listas: removido, adicionado e alterado.
    box_variables.removed plain array Lista de variáveis da caixa removidas, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box_variables.added plain array Lista de variáveis da caixa adicionadas, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box_variables.changed plain array Lista de variáveis da caixa alteradas, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box_details plain object Diferenças nos detalhes da caixa, o objeto contém um título e três listas: removido, adicionado e alterado.
    box_profile_properties plain object Diferenças nas propriedades do perfil da caixa, o objeto contém um título e três listas: removido, adicionado e alterado. Disponível para caixas política.
    box_events plain array Lista de eventos da caixa.
    alterado: plain boolean Houve alterações entre as versões.
    {
        "changed": true,
        "box_services": {
            "removed": [],
            "added": []
        },
        "box_events": [],
        "box_variables": {
            "title": "Modified Variables",
            "removed": [],
            "changed": [
                [
                    {
                        "required": false,
                        "type": "Text",
                        "name": "variable_name",
                        "value": "New value",
                        "visibility": "public"
                    },
                    {
                        "required": false,
                        "type": "Text",
                        "name": "variable_name",
                        "value": "",
                        "visibility": "public"
                    }
                ]
            ],
            "added": [],
            "files_diff": []
        },
        "box_readme": [],
        "box_details": {
            "title": "Modified Box Details",
            "removed": [],
            "added": [],
            "changed": [
                {
                    "new": "linux, new_requirement",
                    "name": "Requirements",
                    "previous": "apache, linux"
                }
            ]
        },
        "box_profile_properties": {
            "removed": [],
            "changed": [],
            "added": [],
            "files_diff": []
        },
        "box_services_variables": {
            "removed": [],
            "added": [],
            "files_diff": []
        }
    }
    

    Criar e lançar uma caixa CloudFormation

    Criar ou importar um modelo CloudFormation

    1. POST /serviços/caixas
      Cria uma caixa do tipo de serviço CloudFormation. Descobre exemplo criar uma CloudFormation.

    2. GET /services/blobs/download/{file_id}/{file_name}
      Busca conteúdo de um dado arquivo ou URL. Descobre exemplo criar uma CloudFormation, parte 2.
      Envia um modelo JSON em branco como um blob.

    3. POST /services/blobs/upload/{file_name}
      Cria um blob de dados de modelo enviados através de um arquivo ou URL. Aqui os dados do modelo estão no corpo da solicitação. Descobre exemplo criar uma CloudFormation, parte 3.

    4. PUT /serviços/caixas/{box_id}
      Atualiza a caixa CloudFormation com o modelo. Descobre exemplo criar uma CloudFormation, parte 4.

    Modificar o Modelo CloudFormation

    1. POST /services/blobs/upload/{file_name}
      Cria um blob de dados de modelo modificados. Descobre exemplo modificar uma CloudFormation.

    2. PUT /serviços/caixas/{box_id}
      Atualiza a caixa CloudFormation. Consulte o exemplo modificar uma CloudFormation, parte 2.

    Excluir uma Caixa CloudFormation

    1. EXCLUIR /serviços/caixa/{box_id}
      Remove a caixa CloudFormation do catálogo de caixas.

    Iniciar uma Caixa CloudFormation

    1. POST /services/profiles
      Isso é opcional. Passa as configurações de implantação em um novo perfil de implantação para lançar a caixa na infraestrutura do provedor. Descobre o exemplo de lançamento de CloudFormation.

    2. POST /services/instances
      Cria uma nova instância da caixa CloudFormation.

    Atualizar uma pilha do CloudFormation em tempo real

    1. POST /services/blobs/upload
      Carrega os dados do modelo modificado. Descobre exemplo de atualização de CloudFormation.

    2. PUT /services/instances/{instance_id}
      Atualiza a instância com as alterações do modelo. Descobre exemplo de atualização de CloudFormation parte 2.

    3. PUT /services/instances/{instance_id}/reconfigure
      Reconfigura a pilha com base nas alterações. Descobre exemplo de atualização de CloudFormation parte 3.

    Exemplo: Criar ou importar um modelo CloudFormation

    1. POST https://cam.ctl.io/services/boxes/

    Criar uma caixa do tipo de serviço CloudFormation.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
        "owner": "operations",
        "schema":"http://elasticbox.net/schemas/boxes/cloudformation",
        "automatic_updates":"off",
        "name":"Wordpress Starter CF",
        "description":"Wordpress Started for our showcase"
    }
    

    Resposta

    Corpo da resposta

    {
        "updated": "2019-01-02 10:57:43.782726",
        "automatic_updates": "off",
        "description": "Wordpress Started for our showcase",
        "deleted": null,
        "variables": [],
        "visibility": "workspace",
        "members": [],
        "owner": "operations",
        "id": "755a09cc-6407-44e2-9993-539c386ee559",
        "requirements": [],
        "name": "Wordpress Starter CF",
        "created": "2019-01-02 10:57:43.782726",
        "uri": "/services/boxes/755a09cc-6407-44e2-9993-539c386ee559",
        "organization": "centurylink",
        "type": "CloudFormation Service",
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation"
    }
    
    

    2. GET https://cam.ctl.io/services/blobs/download/{blob_id}/file_name

    Busca conteúdo de um determinado URL. Depois de verificarmos que o modelo é o correto, poderíamos atribuí-lo à caixa CloudFormation.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Resposta

    Corpo da resposta

    {
       "AWSTemplateFormatVersion":"2010-09-09",
       "Description":"AWS CloudFormation Sample Template WordPress_Single_Instance_With_RDS: WordPress is web software you can use to create a beautiful website or blog. This template installs a single-instance WordPress deployment using an Amazon RDS database instance for storage. It demonstrates using the AWS CloudFormation bootstrap scripts to install packages and files at instance launch time. **WARNING** This template creates an Amazon EC2 instance and an Amazon RDS database instance. You will be billed for the AWS resources used if you create a stack from this template.",
       "Parameters":{
          "KeyName":{
             "Description":"Name of an existing EC2 KeyPair to enable SSH access to the instances",
             "Type":"String",
             "MinLength":"1",
             "MaxLength":"255",
             "AllowedPattern":"[\\x20-\\x7E]*",
             "ConstraintDescription":"can contain only ASCII characters."
          },
        ...
       }
    ...
    ...
    
       "Outputs":{
          "WebsiteURL":{
             "Value":{
                "Fn::Join":[
                   "",
                   [
                      "http://",
                      {
                         "Fn::GetAtt":[
                            "WebServer",
                            "PublicDnsName"
                         ]
                      },
                      "/wordpress"
                   ]
                ]
             },
             "Description":"WordPress Website"
          }
       }
    }
    

    3. POST https://cam.ctl.io/services/blobs/upload/template.json

    Outra opção é criar o modelo dos dados enviados através de um URL.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
       "AWSTemplateFormatVersion":"2010-09-09",
       "Description":"AWS CloudFormation Sample Template WordPress_Single_Instance_With_RDS: WordPress is web software you can use to create a beautiful website or blog. This template installs a single-instance WordPress deployment using an Amazon RDS database instance for storage. It demonstrates using the AWS CloudFormation bootstrap scripts to install packages and files at instance launch time. **WARNING** This template creates an Amazon EC2 instance and an Amazon RDS database instance. You will be billed for the AWS resources used if you create a stack from this template.",
       "Parameters":{
          "KeyName":{
             "Description":"Name of an existing EC2 KeyPair to enable SSH access to the instances",
             "Type":"String",
             "MinLength":"1",
             "MaxLength":"255",
             "AllowedPattern":"[\\x20-\\x7E]*",
             "ConstraintDescription":"can contain only ASCII characters."
          },
        ...
       },
    ...
    ...
       "Outputs":{
          "WebsiteURL":{
             "Value":{
                "Fn::Join":[
                   "",
                   [
                      "http://",
                      {
                         "Fn::GetAtt":[
                            "WebServer",
                            "PublicDnsName"
                         ]
                      },
                      "/wordpress"
                   ]
                ]
             },
             "Description":"WordPress Website"
          }
       }
    }
    
    

    Resposta

    Corpo da resposta

    {
       "url":"/services/blobs/download/536a9e867d0083771808bacd/template.json",
       "upload_date":"2014-05-07 20:58:46.650140",
       "length":9739,
       "content_type":"text/x-shellscript"
    }
    

    4. PUT https://cam.ctl.io/services/boxes/{box_id}

    Finalmente, vamos atualizar a caixa CloudFormation com um dos modelos que obtivemos nas duas últimas etapas.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
        "automatic_updates": "off",
        "requirements": [],
        "description": "Wordpress Started for our showcase",
        "deleted": null,
        "variables": [],
        "uri": "/services/boxes/262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "visibility": "workspace",
        "members": [],
        "owner": "operations",
        "organization": "elasticbox",
        "type": "CloudFormation Service",
        "id": "262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "name": "Wordpress Starter CF",
        "template": {
            "url": "/services/blobs/download/536a9e867d0083771808bacd/template.json"
        }
    }
    

    Resposta

    Corpo da resposta

    {
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
        "updated": "2015-10-28 12:03:32.661399",
        "automatic_updates": "off",
        "requirements": [],
        "description": "Wordpress Started for our showcase",
        "created": "2015-10-28 11:24:01.854958",
        "deleted": null,
        "variables": [
            {
                "value": "",
                "type": "Text",
                "name": "KeyName",
                "visibility": "public"
            },
            {
                "value": "",
                "type": "Text",
                "name": "SourceCidrForRDP",
                "visibility": "public"
            },
            {
                "value": "m1.large",
                "type": "Text",
                "name": "InstanceType",
                "visibility": "public"
            }
        ],
        "uri": "/services/boxes/262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "visibility": "workspace",
        "template": {
            "url": "/services/blobs/download/536a9e867d0083771808bacd/template.json"
        },
        "members": [],
        "owner": "operations",
        "organization": "elasticbox",
        "type": "CloudFormation Service",
        "id": "262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "name": "Wordpress Starter CF"
    }
    

    Exemplo: Modificar o Modelo CloudFormation

    1. POST http://cam.ctl.io/services/blobs/upload/template.json

    Cria um blob de dados de modelo modificados.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
        "AWSTemplateFormatVersion": "2010-09-09",
        "Description": "AWS CloudFormation Sample Template WordPress_Single_Instance_With_RDS: WordPress is web software you can use to create a beautiful website or blog. This template installs a single-instance WordPress deployment using an Amazon RDS database instance for storage. It demonstrates using the AWS CloudFormation bootstrap scripts to install packages and files at instance launch time. **WARNING** This template creates an Amazon EC2 instance and an Amazon RDS database instance. You will be billed for the AWS resources used if you create a stack from this template.",
        "Parameters": {
            "KeyName": {
                "Description": "Name of an existing EC2 KeyPair to enable SSH access to the instances",
                "Type": "String",
                "MinLength": "1",
                "MaxLength": "255",
                "AllowedPattern": "[\\x20-\\x7E]*",
                "ConstraintDescription": "can contain only ASCII characters."
            },
           ...
        },
    …
    …
        "Outputs": {
            "WebsiteURL": {
                "Value": {
                    "Fn::Join": [
                        "",
                        [
                            "http://",
                            {
                                "Fn::GetAtt": [
                                    "WebServer",
                                    "PublicDnsName"
                                ]
                            },
                            "/wordpress"
                        ]
                    ]
                },
                "Description": "WordPress Website"
            }
        }
    }
    

    Resposta

    Corpo da resposta

    {
       "url":"/services/blobs/download/536bd5619ac37b2f70318a87/template.json",
       "upload_date":"2014-05-08 19:05:05.761144",
       "length":15922,
       "content_type":"text/x-shellscript"
    }
    

    2. PUT http://cam.ctl.io/services/boxes/{box_id}

    Atualiza a caixa CloudFormation.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
        "automatic_updates": "off",
        "requirements": [],
        "description": "Wordpress Started for our showcase",
        "deleted": null,
        "variables": [],
        "uri": "/services/boxes/262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "visibility": "workspace",
        "members": [],
        "owner": "operations",
        "organization": "elasticbox",
        "type": "CloudFormation Service",
        "id": "262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "name": "Wordpress Starter CF",
        "template": {
            "url": "//services/blobs/download/536bd5619ac37b2f70318a87/template.json"
        }
    }
    

    Resposta

    Corpo da resposta

    {
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
        "updated": "2015-10-28 12:03:32.661399",
        "automatic_updates": "off",
        "requirements": [],
        "description": "Wordpress Started for our showcase",
        "created": "2015-10-28 11:24:01.854958",
        "deleted": null,
        "variables": [
            {
                "value": "",
                "type": "Text",
                "name": "KeyName",
                "visibility": "public"
            },
            {
                "value": "",
                "type": "Text",
                "name": "SourceCidrForRDP",
                "visibility": "public"
            },
            {
                "value": "m1.large",
                "type": "Text",
                "name": "InstanceType",
                "visibility": "public"
            }
        ],
        "uri": "/services/boxes/262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "visibility": "workspace",
        "template": {
            "url": "/services/blobs/download/536bd5619ac37b2f70318a87/template.json"
        },
        "members": [],
        "owner": "operations",
        "organization": "elasticbox",
        "type": "CloudFormation Service",
        "id": "262d4cbe-9ad9-4069-b6a8-76fda70a4d90",
        "name": "Wordpress Starter CF"
    }
    

    Exemplo: Iniciar uma Caixa CloudFormation

    1. POST https://cam.ctl.io/services/instances

    Cria uma nova instância da caixa CloudFormation.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
      "schema": "http://elasticbox.net/schemas/deploy-instance-request",
      "owner": "operations",
      "name": "CF WordPress 2",
      "box": {
        "id": "91645eed-173f-4aac-a713-69c6be7582fe",
        "variables": [
    
        ]
      },
      "instance_tags": [
    
      ],
      "automatic_updates": "off",
      "policy_box": {
        "id": "91645eed-173f-4aac-a713-69c6be7582fe",
        "variables": [
          {
            "name": "provider_id",
            "value": "7e841966-1dec-4460-a981-1db4e1eec10c",
            "type": "Text"
          },
          {
            "name": "location",
            "value": "ap-northeast-1",
            "type": "Text"
          }
        ]
      }
    }
    

    Resposta

    Corpo da resposta

    {
      "box": "91645eed-173f-4aac-a713-69c6be7582fe",
      "policy_box": {
        "profile": {
          "location": "ap-northeast-1",
          "schema": "http://elasticbox.net/schemas/aws/cloudformation/profile"
        },
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
        "updated": "2015-10-28 13:46:55.247211",
        "automatic_updates": "off",
        "requirements": [
    
        ],
        "description": "CF test",
        "created": "2015-10-27 12:11:24.734064",
        "deleted": null,
        "variables": [
          {
            "required": false,
            "type": "Binding",
            "name": "Binding",
            "value": "5030fc49-773a-42fa-b569-c551e4f90d77",
            "visibility": "private"
          }
        ],
        "provider_id": "7e841966-1dec-4460-a981-1db4e1eec10c",
        "visibility": "workspace",
        "members": [
    
        ],
        "template": {
          "url": "/services/blobs/download/5630d1cf14841250525226a6/template.json",
          "upload_date": "2015-10-28 13:46:55.186875",
          "length": 104,
          "content_type": "text/x-shellscript"
        },
        "owner": "operations",
        "organization": "elasticbox",
        "type": "CloudFormation Service",
        "id": "91645eed-173f-4aac-a713-69c6be7582fe",
        "name": "CF WordPress 2"
      },
      "updated": "2015-10-28 13:47:15.567441",
      "automatic_updates": "off",
      "name": "CF WordPress 2",
      "service": {
        "type": "CloudFormation Service",
        "id": "eb-5cn45",
        "machines": [
    
        ]
      },
      "tags": [
    
      ],
      "deleted": null,
      "variables": [
    
      ],
      "created": "2015-10-28 13:47:15.567441",
      "state": "processing",
      "uri": "/services/instances/i-ywf1hu",
      "boxes": [
        {
          "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
          "updated": "2015-10-28 13:46:55.247211",
          "automatic_updates": "off",
          "requirements": [
    
          ],
          "description": "CF test",
          "created": "2015-10-27 12:11:24.734064",
          "deleted": null,
          "variables": [
            {
              "required": false,
              "type": "Binding",
              "name": "Binding",
              "value": "5030fc49-773a-42fa-b569-c551e4f90d77",
              "visibility": "private"
            }
          ],
          "visibility": "workspace",
          "members": [
    
          ],
          "template": {
            "url": "/services/blobs/download/5630d1cf14841250525226a6/template.json",
            "upload_date": "2015-10-28 13:46:55.186875",
            "length": 104,
            "content_type": "text/x-shellscript"
          },
          "owner": "operations",
          "organization": "elasticbox",
          "type": "CloudFormation Service",
          "id": "91645eed-173f-4aac-a713-69c6be7582fe",
          "name": "CF WordPress 2"
        }
      ],
      "members": [
    
      ],
      "bindings": [
    
      ],
      "owner": "operations",
      "operation": {
        "event": "deploy",
        "workspace": "operations",
        "created": "2015-10-28 13:47:15.564698"
      },
      "schema": "http://elasticbox.net/schemas/instance",
      "id": "i-ywf1hu",
      "icon": null
    }
    

    Exemplo: Atualizar uma pilha do CloudFormation em tempo real

    1. POST http://cam.ctl.io/services/blobs/upload/simple_template.json

    Carrega os dados do modelo modificado.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
        "Resources" : {
            "HelloBucket" : {
                "Type" : "AWS::S3::Bucket"
            }
        }
    }
    
    

    Resposta

    Corpo da resposta

    {
        "url": "/services/blobs/download/5630d61d14841250525226aa/simple_template.json",
        "upload_date": "2015-10-28 14:05:17.752627",
        "length": 0,
        "content_type": "application/json"
    }
    

    2. PUT http://cam.ctl.io/services/instances/{instance_id}

    Atualiza a instância com as alterações do modelo.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    {
      "box": "91645eed-173f-4aac-a713-69c6be7582fe",
      "bindings": [
    
      ],
      "updated": "2015-10-28 13:48:24.367626",
      "automatic_updates": "off",
      "name": "CF WordPress 2",
      "service": {
        "type": "CloudFormation Service",
        "id": "eb-5cn45",
        "machines": [
    
        ]
      },
      "tags": [
    
      ],
      "deleted": null,
      "policy_box": {
        "profile": {
          "location": "ap-northeast-1",
          "schema": "http://elasticbox.net/schemas/aws/cloudformation/profile"
        },
        "updated": "2015-10-28 13:46:55.247211",
        "automatic_updates": "off",
        "requirements": [
    
        ],
        "description": "CF test",
        "created": "2015-10-27 12:11:24.734064",
        "deleted": null,
        "variables": [
          {
            "required": false,
            "type": "Binding",
            "name": "Binding",
            "value": "5030fc49-773a-42fa-b569-c551e4f90d77",
            "visibility": "private"
          }
        ],
        "provider_id": "7e841966-1dec-4460-a981-1db4e1eec10c",
        "visibility": "workspace",
        "template": {
          "url": "/services/blobs/download/5630d1cf14841250525226a6/template.json",
          "upload_date": "2015-10-28 13:46:55.186875",
          "length": 104,
          "content_type": "text/x-shellscript"
        },
        "members": [
    
        ],
        "owner": "operations",
        "organization": "elasticbox",
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
        "type": "CloudFormation Service",
        "id": "91645eed-173f-4aac-a713-69c6be7582fe",
        "name": "CF WordPress 2"
      },
      "created": "2015-10-28 13:47:15.567441",
      "uri": "/services/instances/i-ywf1hu",
      "state": "done",
      "boxes": [
        {
          "updated": "2015-10-28 13:46:55.247211",
          "automatic_updates": "off",
          "requirements": [
    
          ],
          "description": "CF test",
          "created": "2015-10-27 12:11:24.734064",
          "deleted": null,
          "variables": [
            {
              "required": false,
              "type": "Binding",
              "name": "Binding",
              "value": "5030fc49-773a-42fa-b569-c551e4f90d77",
              "visibility": "private"
            }
          ],
          "visibility": "workspace",
          "template": {
            "url": "/services/blobs/download/5630d61d14841250525226aa/simple_template.json",
            "upload_date": "2015-10-28 13:46:55.186875",
            "length": 104,
            "content_type": "text/x-shellscript"
          },
          "members": [
    
          ],
          "owner": "operations",
          "organization": "elasticbox",
          "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
          "type": "CloudFormation Service",
          "id": "91645eed-173f-4aac-a713-69c6be7582fe",
          "name": "CF WordPress 2"
        }
      ],
      "schema": "http://elasticbox.net/schemas/instance",
      "members": [
    
      ],
      "owner": "operations",
      "variables": [
    
      ],
      "operation": {
        "event": "deploy",
        "workspace": "operations",
        "created": "2015-10-28 13:47:15.746398"
      },
      "id": "i-ywf1hu",
      "icon": null
    }
    

    Resposta

    Corpo da resposta

    {
      "box": "91645eed-173f-4aac-a713-69c6be7582fe",
      "bindings": [
    
      ],
      "updated": "2015-10-28 14:44:49.999798",
      "automatic_updates": "off",
      "name": "CF WordPress 2",
      "service": {
        "type": "CloudFormation Service",
        "id": "eb-5cn45",
        "machines": [
    
        ]
      },
      "tags": [
    
      ],
      "deleted": null,
      "policy_box": {
        "profile": {
          "location": "ap-northeast-1",
          "schema": "http://elasticbox.net/schemas/aws/cloudformation/profile"
        },
        "updated": "2015-10-28 13:46:55.247211",
        "automatic_updates": "off",
        "requirements": [
    
        ],
        "description": "CF test",
        "created": "2015-10-27 12:11:24.734064",
        "deleted": null,
        "variables": [
          {
            "required": false,
            "type": "Binding",
            "name": "Binding",
            "value": "5030fc49-773a-42fa-b569-c551e4f90d77",
            "visibility": "private"
          }
        ],
        "provider_id": "7e841966-1dec-4460-a981-1db4e1eec10c",
        "visibility": "workspace",
        "template": {
          "url": "/services/blobs/download/5630d1cf14841250525226a6/template.json",
          "upload_date": "2015-10-28 13:46:55.186875",
          "length": 104,
          "content_type": "text/x-shellscript"
        },
        "members": [
    
        ],
        "owner": "operations",
        "organization": "elasticbox",
        "schema": "http://elasticbox.net/schemas/boxes/cloudformation",
        "type": "CloudFormation Service",
        "id": "91645eed-173f-4aac-a713-69c6be7582fe",
        "name": "CF WordPress 2"
      },
      "created": "2015-10-28 13:47:15.567441",
      "uri": "/services/instances/i-ywf1hu",
      "state": "done",
      "boxes": [
        {
          "updated": "2015-10-28 13:46:55.247211",
          "automatic_updates": "off",
          "description": "CF test",
          "deleted": null,
          "variables": [
            {
              "required": false,
              "type": "Binding",
              "name": "Binding",
              "value": "5030fc49-773a-42fa-b569-c551e4f90d77",
              "visibility": "private"
            }
          ],
          "visibility": "workspace",
          "members": [
    
          ],
          "owner": "operations",
          "id": "91645eed-173f-4aac-a713-69c6be7582fe",
          "requirements": [
    
          ],
          "name": "CF WordPress 2",
          "created": "2015-10-27 12:11:24.734064",
          "template": {
            "url": "/services/blobs/download/5630d61d14841250525226aa/simple_template.json",
            "upload_date": "2015-10-28 13:46:55.186875",
            "length": 104,
            "content_type": "text/x-shellscript"
          },
          "organization": "elasticbox",
          "type": "CloudFormation Service",
          "schema": "http://elasticbox.net/schemas/boxes/cloudformation"
        }
      ],
      "schema": "http://elasticbox.net/schemas/instance",
      "members": [
    
      ],
      "owner": "operations",
      "variables": [
    
      ],
      "operation": {
        "event": "deploy",
        "workspace": "operations",
        "created": "2015-10-28 13:47:15.746398"
      },
      "id": "i-ywf1hu",
      "icon": null
    }
    

    3. PUT http://cam.ctl.io/services/instances/{instance_id}/reconfigure

    Reconfigura a pilha com base nas alterações.

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Corpo da solicitação

    
    {
       "id":"i-ywf1hu",
       "method":"reconfigure"
    }
    

    Resposta

    Nenhum.

    API de instâncias

    Gerenciar e executar ações em instâncias.

    Criar ou listar instâncias

    Recurso Descrição
    GET /services/instances Obtém a lista de instâncias.
    POST /services/instances Cria uma nova instância, importa uma instância não registrada ou instâncias baseadas no esquema.

    Executar operações de instância

    Recurso Descrição
    GET /services/instances/{instance_id} Busca uma instância existente.
    PUT /services/instances/{instance_id} Atualiza uma instância existente.
    DELETE /services/instances/{instance_id} Termina, força a terminação ou exclui uma instância existente.
    GET /services/instances/{instance_id}/service Obtém o serviço de instância.
    GET /services/instances/{instance_id}/activity Obtém todos os registros de atividades das operações executadas de uma instância.
    GET /services/instances/{instance_id}/machine_logs Obtém os registros de todas as máquinas de uma instância implantada.
    GET /services/instances/{instance_id}/bindings Obtém a ligação de uma instância.
    GET /services/instances/{instance_id}/operations Obtém todas as operações de uma instância.
    PUT /services/instances/{instance_id}/deploy Reimplantar uma instância existente.
    PUT /services/instances/{instance_id}/poweron Ligue uma instância existente.
    PUT /services/instances/{instance_id}/shutdown Desligar uma instância
    PUT /services/instances/{instance_id}/reinstall Reinstale uma instância existente.
    PUT /services/instances/{instance_id}/reconfigure Reconfigure uma instância existente.
    PUT /services/instances/{instance_id}/import Tente importar uma instância não registrada.
    PUT /services/instances/{instance_id}/cancel_import Cancelar uma importação com falha de uma instância não registrada.
    PUT /services/instances/{instance_id}/abort_operation Abortar scripts de execução de uma operação de instância de processamento.

    GET /services/instances

    Obtém instâncias acessíveis no espaço de trabalho pessoal do usuário autenticado.

    URL

    Estrutura

    [GET] /services/instances
    

    Exemplo

    [GET] https://cam.ctl.io/services/instances
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    • Nenhum

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Solicitação inválida
    • 0 não autorizado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    box cadeia Identificador exclusivo da caixa usado para criar a instância.
    lease array Agenda uma instância com três parâmetros:
  • liberado. É um valor verdadeiro ou falso booleano. Falso significa que a operação programada na instância ainda não foi executada.
  • Operação Especifica uma instância para parar com desligamento ou encerrar. Quando não está programada, a instância é definida como alwayson.
  • Vencimento Especifica no formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, a hora e a data para parar uma instância. É necessário somente quando uma instância é definida para encerrar ou desligar.
  • created cadeia Data de criação
    updated cadeia Data da última atualização.
    automatic_updates cadeia Um destes: importante, menor, patch, desligado. Padrão desativado.
    members array Lista de membros que você compartilhou a instância.
    owner cadeia Proprietário da instância.
    operation cadeia Última operação, há sete tipos de operações: implantar, desligar , ligar , reinstalar , reconfigurar , encerrar e encerrar_serviço
    nome cadeia Nome da instância
    serviço object Serviço de instância.
    service.type cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    service.id cadeia Identificador exclusivo do serviço.
    service.machines array Lista de máquinas de serviço
    machine object Máquina contida na lista de máquinas de serviço.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento, feito e indisponível.
    machine.name cadeia Nome da máquina.
    machine.workflow array Lista de ações de fluxo de trabalho, onde cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e script.
    workflow.box cadeia Caixa de ação do fluxo de trabalho.
    workflow.event cadeia Evento de ação do fluxo de trabalho.
    workflow.script cadeia Script de ação do fluxo de trabalho uri.
    tags array Tipo de instância
    variables array Lista de variáveis de instância, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    caixas array Lista de caixas onde cada objeto de caixa contém um parâmetro de serviço. O parâmetro de serviço pode ter um desses valores: Linux Compute, Windows Compute e CloudFormation Service.
    uri cadeia Uri. instância
    state cadeia Estado da instância, há três estados possíveis: processamento, feito e indisponível
    bindings array Lista de binizações de instância.
    associação object A ligação contida na lista de vínculos, cada objeto de ligação contém os parâmetros: instância e nome.
    id array Identificador exclusivo da instância
    icon cadeia Ícone de instância uri.
    esquema cadeia Exemplo de esquema uri.

    Corpo da resposta

    [{
       "box": "691df09c-7588-4310-9e9a-a7993f3670b0",
       "updated": "2015-10-27 16:17:42.237233",
       "automatic_updates": "off",
       "name": "TestVSphere",
       "service": {
           "type": "Linux Compute",
           "id": "eb-ay43t",
           "machines": [
               {
                   "state": "done",
                   "name": "eb-ay43t-1",
                   "workflow": []
               }
           ]
       },
       "tags": [],
       "policy_box": {
           "profile": {
               "resource_pool": "pullrequest",
               "datacenter": "ElasticBox - Development",
               "network": "Cluster Network",
               "disks": [
                   {
                       "datastore": "Development Storage",
                       "name": "Hard disk 1",
                       "template": true,
                       "size": 97
                   }
               ],
               "customization_spec": "None",
               "network_mor": "network-15",
               "instances": 1,
               "template": "debian-7-8-x86-64",
               "datastore": "Development Storage",
               "flavor": "Tiny",
               "schema": "http://elasticbox.net/schemas/vsphere/compute/profile"
           },
           "provider_id": "cac26e4c-16f8-46ad-83ae-52a2b1ba4fca",
           "automatic_updates": "off",
           "name": "TestVSphere",
           "created": "2015-10-09 08:25:02.378295",
           "deleted": null,
           "variables": [],
           "updated": "2015-10-09 08:25:02.378295",
           "lifespan": {
               "operation": "none"
           },
           "visibility": "workspace",
           "members": [],
           "organization": "elasticbox",
           "owner": "operations",
           "claims": [
               "linux"
           ],
           "id": "691df09c-7588-4310-9e9a-a7993f3670b0",
           "schema": "http://elasticbox.net/schemas/boxes/policy"
       },
       "created": "2015-10-09 08:25:36.025086",
       "uri": "/services/instances/i-6bdwwm",
       "id": "i-6bdwwm",
       "state": "done",
       "boxes": [
           {
               "profile": {
                   "resource_pool": "pullrequest",
                   "datacenter": "ElasticBox - Development",
                   "network": "Cluster Network",
                   "disks": [
                       {
                           "datastore": "Development Storage",
                           "name": "Hard disk 1",
                           "template": true,
                           "size": 97
                       }
                   ],
                   "customization_spec": "None",
                   "network_mor": "network-15",
                   "instances": 1,
                   "template": "debian-7-8-x86-64",
                   "datastore": "Development Storage",
                   "flavor": "Tiny",
                   "schema": "http://elasticbox.net/schemas/vsphere/compute/profile"
               },
               "provider_id": "cac26e4c-16f8-46ad-83ae-52a2b1ba4fca",
               "automatic_updates": "off",
               "name": "TestVSphere",
               "created": "2015-10-09 08:25:02.378295",
               "deleted": null,
               "variables": [],
               "updated": "2015-10-09 08:25:02.378295",
               "lifespan": {
                   "operation": "none"
               },
               "visibility": "workspace",
               "members": [],
               "organization": "elasticbox",
               "owner": "operations",
               "claims": [
                   "linux"
               ],
               "id": "691df09c-7588-4310-9e9a-a7993f3670b0",
               "schema": "http://elasticbox.net/schemas/boxes/policy"
           }
       ],
       "members": [],
       "owner": "operations",
       "icon": null,
       "operation": {
           "event": "terminate_service",
           "workspace": "operations",
           "created": "2015-10-27 16:17:36.268988"
       },
       "variables": [],
       "schema": "http://elasticbox.net/schemas/instance"
    },
    {
       "box": "15b5bc28-5ac5-4897-bd72-d4f2101da47a",
       "updated": "2015-10-09 10:00:07.434386",
       "automatic_updates": "off",
       "name": "Test2",
       "service": {
           "type": "Linux Compute",
           "id": "eb-l8gqr",
           "machines": []
       },
       "tags": [],
       "policy_box": {
           "profile": {
               "resource_pool": "pullrequest",
               "datacenter": "ElasticBox - Development",
               "network": "Cluster Network",
               "disks": [],
               "customization_spec": "None",
               "compute_resource": null,
               "instances": 1,
               "network_mor": "network-15",
               "template": "ebx-no-disks",
               "folder": "Templates",
               "flavor": "Tiny",
               "datastore": "Development Storage",
               "schema": "http://elasticbox.net/schemas/vsphere/compute/profile"
           },
           "provider_id": "cac26e4c-16f8-46ad-83ae-52a2b1ba4fca",
           "automatic_updates": "off",
           "name": "Test2",
           "created": "2015-10-09 08:30:52.736712",
           "deleted": null,
           "variables": [],
           "updated": "2015-10-09 08:31:10.338900",
           "lifespan": {
               "operation": "none"
           },
           "visibility": "workspace",
           "members": [],
           "claims": [
               "linux"
           ],
           "owner": "operations",
           "organization": "elasticbox",
           "id": "15b5bc28-5ac5-4897-bd72-d4f2101da47a",
           "schema": "http://elasticbox.net/schemas/boxes/policy"
       },
       "created": "2015-10-09 08:31:16.536012",
       "uri": "/services/instances/i-jt8p5d",
       "id": "i-jt8p5d",
       "state": "done",
       "boxes": [
           {
               "profile": {
                   "resource_pool": "pullrequest",
                   "datacenter": "ElasticBox - Development",
                   "network": "Cluster Network",
                   "disks": [],
                   "customization_spec": "None",
                   "compute_resource": null,
                   "instances": 1,
                   "network_mor": "network-15",
                   "template": "ebx-no-disks",
                   "folder": "Templates",
                   "flavor": "Tiny",
                   "datastore": "Development Storage",
                   "schema": "http://elasticbox.net/schemas/vsphere/compute/profile"
               },
               "provider_id": "cac26e4c-16f8-46ad-83ae-52a2b1ba4fca",
               "automatic_updates": "off",
               "name": "Test2",
               "created": "2015-10-09 08:30:52.736712",
               "deleted": null,
               "variables": [],
               "updated": "2015-10-09 08:31:10.338900",
               "lifespan": {
                   "operation": "none"
               },
               "visibility": "workspace",
               "members": [],
               "claims": [
                   "linux"
               ],
               "owner": "operations",
               "organization": "elasticbox",
               "id": "15b5bc28-5ac5-4897-bd72-d4f2101da47a",
               "schema": "http://elasticbox.net/schemas/boxes/policy"
           }
       ],
       "members": [],
       "owner": "operations",
       "icon": null,
       "operation": {
           "event": "terminate_service",
           "workspace": "operations",
           "created": "2015-10-09 09:59:37.618930"
       },
       "variables": [],
       "schema": "http://elasticbox.net/schemas/instance"
    }]
    

    POST /services/instances

    Cria uma nova instância e obtém a instância criada.

    URL

    Estrutura

    [POST] /services/instances
    

    Exemplo

    [POST] https://cam.ctl.io/services/instances
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    • Nenhum

    Solicitar parâmetros do corpo

    Parâmetro Tipo Descrição Req.
    esquema cadeia URI do esquema de instância. Sim
    owner cadeia ID do espaço de trabalho onde a instância é publicada. Sim
    box Object Objeto de caixa com sua id e uma lista de objetos variáveis sobrepostos no tempo de implantação Sim
    policy_box Object Objeto de caixa com sua id e uma lista de objetos variáveis sobrepostos no tempo de implantação Sim
    automatic_updates cadeia Um destes: importante, menor, patch, desligado. Padrão desativado.
    lease array Agenda uma instância com dois parâmetros:
  • Vencimento Especifica no formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, a hora e a data para parar uma instância. É necessário somente quando uma instância é definida para encerrar ou desligar.
  • Operação Especifica uma instância para parar com desligamento ou encerrar. Quando não está programada, a instância é definida como alwayson.
  • nome cadeia Nome da instância Sim
    instance_tags array Lista de tags definidas no tempo de implantação.

    Corpo da solicitação

    O próximo exemplo é que a solicitação agenda a nova instância.

    {
        "schema": "http://elasticbox.net/schemas/deploy-instance-request",
        "owner": "operations",
        "name": "TestServe",
        "box": {
            "id": "4f996250-a420-4e44-8e97-4af86328148f",
            "variables": [
                {
                    "name": "variable_name",
                    "type": "Text",
                    "value": "overridden variable value at deployment time",
                    "required": true,
                    "visibility": "public"
                }
            ]
        },
        "instance_tags": [],
        "automatic_updates": "off",
        "policy_box": {
            "id": "11c8882e-3888-4bdd-bd2d-b92766a423c7",
            "variables": []
        }
    }
    

    Resposta

    Códigos de resposta normais

    • 202 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    lease array Se programado, este objeto exibe esses parâmetros para a instância:
  • liberado. É um valor verdadeiro ou falso booleano. Falso significa que a operação programada na instância ainda não foi executada.
  • Vencimento Especifica no formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, a hora e a data para parar uma instância. Aplica-se somente quando uma instância é definida para encerrar ou desligar.
  • Operação Especifica a operação de parada programada como desligamento ou encerrar. Quando não está programada, a instância é definida como alwayson.
  • bindings array Lista de binizações de instância.
    associação object A ligação contida na lista de vínculos, cada objeto de ligação contém os parâmetros: instância e nome.
    updated cadeia Data da última atualização.
    nome cadeia Nome da instância
    serviço Object Serviço de instância.
    service.type cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    service.id cadeia Tipos de serviço:
    service.machines array Lista de máquinas de serviço.
    machine object Máquina contida na lista de máquinas de serviço.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento , concluído e indisponível.
    machine.name cadeia Nome da máquina.
    machine.workflow array Lista de ações de fluxo de trabalho, onde cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e script.
    workflow.box cadeia Caixa de ação do fluxo de trabalho.
    workflow.event cadeia Evento de ação do fluxo de trabalho.
    workflow.script cadeia Script de ação do fluxo de trabalho uri.
    tags array Tipo de instância
    variables array Lista de variáveis de instância, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created cadeia Data de criação
    caixas array Lista de caixas
    box.visibility cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • box.organization cadeia Organização à qual a caixa pertence.
    box.updated cadeia Data da última atualização.
    box.description cadeia Descrição da caixa.
    box.service cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    box.tags array Etiquetas de caixa.
    box.variables array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box.created cadeia Data de criação
    box.uri cadeia Caixa uri.
    box.id array Identificador exclusivo da caixa.
    box.schema cadeia Caixa schema uri.
    box.members array Lista de membros da caixa.
    box.owner cadeia Proprietário da caixa.
    box.bindings array Lista de vinculações de caixa.
    box.binding object A ligação contida na lista de vínculos, cada ligação tem uma caixa e um nome.
    box.icon cadeia Ícone de caixa uri.
    box.events array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pós_configurar, lançar_descartar, pós_instalar, lançar_iniciar, lançar_parar, iniciar e parar.
    box.event object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url , data_upload , comprimento e caminho_destino.
    box.name cadeia Nome da caixa
    uri cadeia instância uri.
    state cadeia Estado da instância, há três estados possíveis: processamento , concluído e indisponível
    members array Membros da instância.
    owner cadeia Proprietário da instância.
    operation cadeia Última operação, há sete tipos de operações: implantar , desligar , poweron , reinstalar , reconfigurar , encerrar e encerrar_serviço
    icon cadeia Ícone de instância uri.
    id array Identificador exclusivo da instância.
    esquema cadeia Exemplo de esquema uri.
    policy_box object política de implantação específica para um provedor
    policy_box.provider_id cadeia id do provedor
    policy_box.automatic_updates cadeia Um destes: prefeito, menor, patch, desligado
    policy_box.name cadeia política nome da caixa
    policy_box.variables array Lista de variáveis da política da caixa de implantação
    policy_box.claims array Lista de reivindicações da política de caixa de implantação
    policy_box.id cadeia ID da política da caixa de implantação
    policy_box.schema cadeia Esquema da política de caixa de implantação
    policy_box.members array Lista de membros que compartilham a caixa de política de implantação
    policy_box.owner cadeia Proprietário da política de caixa de implantação
    policy_box.readme object Arquivo Leiame para a caixa de política de implantação

    Corpo da resposta

    {
        "automatic_updates": "off",
        "variables": [
            {
                "required": true,
                "type": "Text",
                "name": "variable_name",
                "value": "overridden variable value at deployment time",
                "visibility": "public"
            }
        ],
        "automatic_reconfiguration": true,
        "owner": "operations",
        "pricing_history": [
            {
                "pricing_info": {
                    "estimated_monthly": 3168000,
                    "provider_type": "Amazon Web Services",
                    "hourly_price": 4400,
                    "factor": 100000
                },
                "from": "2018-12-26 15:18:26.524612"
            }
        ],
        "bindings": [],
        "operation": {
            "event": "deploy",
            "workspace": "operations",
            "created": "2018-12-26 15:18:26.524612"
        },
        "service": {
            "type": "Linux Compute",
            "id": "eb-l2gmi",
            "machines": []
        },
        "id": "i-b1qtkz",
        "is_deploy_only": true,
        "state": "processing",
        "schema": "http://elasticbox.net/schemas/instance",
        "updated": "2018-12-26 15:18:26.532799",
        "tags": [],
        "deleted": null,
        "boxes": [
            {
                "updated": "2018-12-26 15:17:00.128048",
                "automatic_updates": "off",
                "requirements": [],
                "name": "php-server",
                "created": "2018-12-11 14:29:56.791167",
                "deleted": null,
                "variables": [
                    {
                        "required": false,
                        "type": "Text",
                        "name": "variable_name",
                        "value": "value",
                        "visibility": "public"
                    }
                ],
                "visibility": "workspace",
                "id": "4f996250-a420-4e44-8e97-4af86328148f",
                "members": [],
                "owner": "operations",
                "organization": "centurylink",
                "events": {
                    "pre_install": {
                        "url": "/services/blobs/download/5c0fcb8cc9a9d120195a3f7a/pre_install",
                        "length": 39,
                        "destination_path": "scripts",
                        "content_type": "text/x-shellscript"
                    },
                    "configure": {
                        "url": "/services/blobs/download/5c0fca3dc9a9d120195a3f71/configure",
                        "length": 23,
                        "destination_path": "scripts",
                        "content_type": "text/x-shellscript"
                    }
                },
                "draft_from": "f0023f62-8e43-41d6-a248-691f092d6287",
                "schema": "http://elasticbox.net/schemas/boxes/script"
            }
        ],
        "members": [],
        "box": "4f996250-a420-4e44-8e97-4af86328148f",
        "name": "TestServe",
        "created": "2018-12-26 15:18:26.532799",
        "policy_box": {
            "profile": {
                "subnet": "us-east-1a",
                "security_groups": [
                    "Automatic"
                ],
                "pricing_info": {
                    "estimated_monthly": 3168000,
                    "provider_type": "Amazon Web Services",
                    "hourly_price": 4400,
                    "factor": 100000
                },
                "image": "Linux Compute",
                "instances": 1,
                "keypair": "None",
                "cloud": "EC2",
                "volumes": [],
                "flavor": "m1.small",
                "schema": "http://elasticbox.net/schemas/aws/ec2/profile",
                "managed_os": false,
                "location": "us-east-1"
            },
            "provider_id": "0669730b-6f01-421b-8a5e-597bca20c1bf",
            "automatic_updates": "off",
            "name": "default-small-us-east-1",
            "created": "2018-12-11 13:53:56.512649",
            "deleted": null,
            "variables": [],
            "updated": "2018-12-11 13:53:56.512649",
            "visibility": "workspace",
            "readme": {
                "url": "#application-lifecycle-management-services/resources/default-box-overview",
                "upload_date": "2018-12-11 13:53:56.512131",
                "length": 1307,
                "content_type": "text/x-markdown"
            },
            "members": [],
            "claims": [
                "small",
                "linux"
            ],
            "owner": "operations",
            "organization": "centurylink",
            "id": "11c8882e-3888-4bdd-bd2d-b92766a423c7",
            "schema": "http://elasticbox.net/schemas/boxes/policy"
        },
        "uri": "/services/instances/i-b1qtkz"
    }
    

    POST /services/instances

    Registrar uma instância não registrada: observe que é o mesmo ponto final para criar uma nova instância.

    URL

    Estrutura

    [POST] /services/instances
    

    Exemplo

    [POST] https://cam.ctl.io/services/instances
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    • Nenhum

    Solicitar parâmetros do corpo

    Parâmetro Tipo Descrição Req.
    esquema cadeia Registrar URI do esquema de solicitação de instância. Sim
    owner cadeia ID do espaço de trabalho onde a instância é importada. Sim
    nome cadeia Nome da instância para se registrar. Sim
    descrição cadeia Descrição da instância para registrar.
    unregistered_id cadeia Identificador exclusivo da instância Sim
    linux_username cadeia Usuário Linux para instalar agente Sim
    private_key cadeia Chave Linux para instalar agente Sim
    windows_username cadeia Nome de usuário do Windows para instalar agente Sim
    windows_password cadeia Senha do Windows para instalar agente Sim
    instance_tags array Lista de tags definidas no tempo de implantação.
    automatic_updates cadeia Um destes: importante, menor, patch, desligado. Padrão desativado.
    lease array Agenda uma instância com dois parâmetros:
  • Vencimento Especifica no formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, a hora e a data para parar uma instância. É necessário somente quando uma instância é definida para encerrar ou desligar.
  • Operação Especifica uma instância para parar com desligamento ou encerrar. Quando não está programada, a instância é definida como alwayson.
  • Corpo da solicitação

    {
       "schema": "http://elasticbox.net/schemas/register-instance-request",
       "owner": "operations",
       "name": "LDAP Box",
       "unregistered_id": "7a99f95c-30e6-4986-9059-f6999d1jhgf9",
       "description": "Ldap server registered",
       "linux_username": "root",
       "private_key": "-----BEGIN RSA PRIVATE KEY-----
    ..................................................
    -----END RSA PRIVATE KEY-----",
       "instance_tags": [],
       "automatic_updates": "off",
       "lease": {
           "expire": "2017-11-11 23:00:00.000000",
           "operation": "shutdown"
       }
    }
    

    Para usar a importação em massa, a solicitação deve ter o esquema de solicitação de importação em massa e uma lista de
    unregistered-instances

    {
      "schema": "http://elasticbox.net/schemas/bulk-import-request",
      "owner": "operations",
      "unregistered_instances": [
        {
          "schema": "http://elasticbox.net/schemas/register-instance-request",
          "name": "msql-a",
          "unregistered_id": "5eed8408-3ece-45d9-8e78-3f3472bea165",
          "instance_tags": [
            "zoneA"
          ]
        },
        {
          "schema": "http://elasticbox.net/schemas/register-instance-request",
          "name": "msql-b",
          "unregistered_id": "6b9b9ecc-f22d-4101-991c-c55f8de80439",
          "instance_tags": [
            "zoneB"
          ]
        }
      ],
      "instance_tags": [
        "registered"
      ]
    }
    

    Resposta

    Códigos de resposta normais

    • 202 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    lease array Se programado, este objeto exibe esses parâmetros para a instância:
  • liberado. É um valor verdadeiro ou falso booleano. Falso significa que a operação programada na instância ainda não foi executada.
  • Vencimento Especifica no formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, a hora e a data para parar uma instância. Aplica-se somente quando uma instância é definida para encerrar ou desligar.
  • Operação Especifica a operação de parada programada como desligamento ou encerrar. Quando não está programada, a instância é definida como alwayson.
  • bindings array Lista de binizações de instância.
    associação object A ligação contida na lista de vínculos, cada objeto de ligação contém os parâmetros: instância e nome.
    updated cadeia Data da última atualização.
    nome cadeia Nome da instância
    serviço Object Serviço de instância.
    service.type cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    service.id cadeia Tipos de serviço:
    service.machines array Lista de máquinas de serviço.
    machine object Máquina contida na lista de máquinas de serviço.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento , concluído e indisponível.
    machine.name cadeia Nome da máquina.
    machine.workflow array Lista de ações de fluxo de trabalho, onde cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e script.
    workflow.box cadeia Caixa de ação do fluxo de trabalho.
    workflow.event cadeia Evento de ação do fluxo de trabalho.
    workflow.script cadeia Script de ação do fluxo de trabalho uri.
    tags array Tipo de instância
    variables array Lista de variáveis de instância, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created cadeia Data de criação
    caixas array Lista de caixas
    box.visibility cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • box.organization cadeia Organização à qual a caixa pertence.
    box.updated cadeia Data da última atualização.
    box.description cadeia Descrição da caixa.
    box.service cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    box.tags array Etiquetas de caixa.
    box.variables array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box.created cadeia Data de criação
    box.uri cadeia Caixa uri.
    box.id array Identificador exclusivo da caixa.
    box.schema cadeia Caixa schema uri.
    box.members array Lista de membros da caixa.
    box.owner cadeia Proprietário da caixa.
    box.bindings array Lista de vinculações de caixa.
    box.binding object A ligação contida na lista de vínculos, cada ligação tem uma caixa e um nome.
    box.icon cadeia Ícone de caixa uri.
    box.events array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pós_configurar, lançar_descartar, pós_instalar, lançar_iniciar, lançar_parar, iniciar e parar.
    box.event object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url , data_upload , comprimento e caminho_destino.
    box.name cadeia Nome da caixa
    uri cadeia instância uri.
    state cadeia Estado da instância, há três estados possíveis: processamento , concluído e indisponível
    members array Membros da instância.
    owner cadeia Proprietário da instância.
    operation cadeia Última operação, há sete tipos de operações: implantar , desligar , poweron , reinstalar , reconfigurar , encerrar e encerrar_serviço
    icon cadeia Ícone de instância uri.
    id array Identificador exclusivo da instância.
    esquema cadeia Exemplo de esquema uri.
    policy_box object política de implantação específica para um provedor
    policy_box.provider_id cadeia id do provedor
    policy_box.automatic_updates cadeia Um deles: prefeito, menor, patch, desligado
    policy_box.name cadeia política nome da caixa
    policy_box.variables array Lista de variáveis da política da caixa de implantação
    policy_box.claims array Lista de reivindicações da política de caixa de implantação
    policy_box.id cadeia ID da política da caixa de implantação
    policy_box.schema cadeia Esquema da política de caixa de implantação
    policy_box.members array Lista de membros que compartilham a caixa de política de implantação
    policy_box.owner cadeia Proprietário da política de caixa de implantação
    policy_box.readme object Arquivo Leiame para a caixa de política de implantação

    Corpo da resposta

    {
     "box": "7a99f75c-30e6-4986-9059-f6889d1ff5f9",
     "policy_box": {
       "profile": {
         "image": "test",
         "instances": 1,
         "keypair": "test_keypair",
         "location": "Simulated Location",
         "flavor": "test.micro",
         "schema": "http://elasticbox.net/schemas/test/compute/profile"
       },
       "provider_id": "0476718d-2b00-45ce-8a1c-30b10a16cfc7",
       "automatic_updates": "off",
       "name": "Linux Compute",
       "created": "2015-10-21 08:35:50.165822",
       "deleted": null,
       "variables": [
         {
           "automatic_updates": "off",
           "name": "policy_box_variable",
           "required": false,
           "visibility": "public",
           "value": "381d0fd8-b59e-4be6-afc7-3ee1a0a2db1c",
           "type": "Box"
         }
       ],
       "updated": "2015-10-29 12:05:39.065397",
       "visibility": "workspace",
       "owner": "operations",
       "members": [
    
       ],
       "claims": [
         "linux"
       ],
       "readme": {
         "url": "#application-lifecycle-management-resources/default-box-overview",
         "upload_date": "2015-10-21 08:35:50.164926",
         "length": 1302,
         "content_type": "text/x-markdown"
       },
       "organization": "elasticbox",
       "id": "e57466ee-7094-4bd4-9121-a6df4395d493",
       "schema": "http://elasticbox.net/schemas/boxes/policy"
     },
     "updated": "2015-10-29 12:26:20.377029",
     "automatic_updates": "off",
     "name": "ScriptBoxSample",
     "service": {
       "type": "Linux Compute",
       "id": "eb-bbhzh",
       "machines": [
    
       ]
     },
     "tags": [
    
     ],
     "deleted": null,
     "variables": [
       {
         "required": true,
         "type": "Text",
         "name": "variable_name",
         "value": "variable_value_overridden",
         "visibility": "public"
       }
     ],
     "created": "2015-10-29 12:26:20.377029",
     "state": "processing",
     "uri": "/services/instances/i-3e43qa",
     "boxes": [
       {
         "updated": "2015-10-29 11:55:23.842461",
         "automatic_updates": "off",
         "requirements": [
    
         ],
         "description": "sample box",
         "name": "ScriptBoxSample",
         "created": "2015-10-29 10:52:08.446868",
         "deleted": null,
         "variables": [
           {
             "required": true,
             "type": "Text",
             "name": "variable_name",
             "value": "variable_value",
             "visibility": "public"
           }
         ],
         "visibility": "workspace",
         "id": "7a99f75c-30e6-4986-9059-f6889d1ff5f9",
         "members": [
    
         ],
         "owner": "operations",
         "organization": "elasticbox",
         "events": {
           "configure": {
             "url": "/services/blobs/download/5631fa7614841250525226cc/configure",
             "length": 5,
             "destination_path": "scripts",
             "content_type": "text/x-shellscript"
           },
           "install": {
             "url": "/services/blobs/download/5631fa6614841250525226ca/install",
             "length": 5,
             "destination_path": "scripts",
             "content_type": "text/x-shellscript"
           }
         },
         "schema": "http://elasticbox.net/schemas/boxes/script"
       }
     ],
     "members": [
    
     ],
     "bindings": [
    
     ],
     "owner": "operations",
     "operation": {
       "event": "deploy",
       "workspace": "operations",
       "created": "2015-10-29 12:26:20.375582"
     },
     "schema": "http://elasticbox.net/schemas/instance",
     "id": "i-3e43qa",
     "icon": null
    }
    

    GET /services/instances/{instance_id}

    Busca uma instância existente dada sua ID.

    URL

    Estrutura

    [GET] /services/instances/{instance_id}
    

    Exemplo

    [GET] https://cam.ctl.io/services/instances/i-b1qtkz
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos
    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    bindings array Lista de binizações de instância.
    associação object A ligação contida na lista de vínculos, cada objeto de ligação contém os parâmetros: instância e nome.
    updated cadeia Data da última atualização.
    nome cadeia Nome da instância
    serviço object Serviço de instância.
    service.type cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    service.id cadeia Tipos de serviço:
    service.machines array Lista de máquinas de serviço
    machine object Máquina contida na lista de máquinas de serviço.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento , concluído e indisponível.
    machine.name cadeia Nome da máquina.
    machine.workflow array Lista de ações de fluxo de trabalho, onde cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e script.
    workflow.box cadeia Caixa de ação do fluxo de trabalho.
    workflow.event cadeia Evento de ação do fluxo de trabalho.
    workflow.script cadeia Script de ação do fluxo de trabalho uri.
    tags array Tipo de instância
    variables array Lista de variáveis de instância, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created cadeia Data de criação
    caixas array Lista de caixas
    box.visibility cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • box.organization cadeia Organização à qual a caixa pertence.
    box.updated cadeia Data da última atualização.
    box.description cadeia Descrição da caixa.
    box.service cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    box.tags array Etiquetas de caixa.
    box.variables array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box.created cadeia Data de criação
    box.uri cadeia Caixa uri.
    box.id array Identificador exclusivo da caixa.
    box.schema cadeia Caixa schema uri.
    box.members array Lista de membros da caixa.
    box.owner cadeia Proprietário da caixa.
    box.bindings array Lista de vinculações de caixa.
    box.binding object A ligação contida na lista de vínculos, cada ligação tem uma caixa e um nome.
    box.icon cadeia Ícone de caixa uri.
    box.events array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pós_configurar, lançar_descartar, pós_instalar, lançar_iniciar, lançar_parar, iniciar e parar.
    box.event object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url , data_upload , comprimento e caminho_destino.
    box.name cadeia Nome da caixa
    policy_box object política de implantação específica para um provedor
    policy_box.provider_id cadeia id do provedor
    policy_box.automatic_updates cadeia Um deles: prefeito, menor, patch, desligado
    policy_box.name cadeia política nome da caixa
    policy_box.variables array Lista de variáveis da política da caixa de implantação
    policy_box.claims array Lista de reivindicações da política de caixa de implantação
    policy_box.id cadeia ID da política da caixa de implantação
    policy_box.schema cadeia Esquema da política de caixa de implantação
    policy_box.members array Lista de membros que compartilham a caixa de política de implantação
    policy_box.owner cadeia Proprietário da política de caixa de implantação
    policy_box.readme object Arquivo Leiame para a caixa de política de implantação
    uri cadeia instância uri.
    state cadeia Estado da instância, há três estados possíveis: processamento , concluído e indisponível
    members array Membros da instância.
    owner cadeia Proprietário da instância.
    operation cadeia Última operação, há sete tipos de operações: implantar , desligar , poweron , reinstalar , reconfigurar , encerrar e encerrar_serviço
    icon cadeia Ícone de instância uri.
    id array Identificador exclusivo da instância.
    esquema cadeia Exemplo de esquema uri.

    Corpo da resposta

    {
        "automatic_updates": "off",
        "variables": [
            {
                "required": true,
                "type": "Text",
                "name": "variable_name",
                "value": "overridden variable value at deployment time",
                "visibility": "public"
            }
        ],
        "automatic_reconfiguration": true,
        "owner": "operations",
        "pricing_history": [
            {
                "pricing_info": {
                    "estimated_monthly": 3168000,
                    "provider_type": "Amazon Web Services",
                    "hourly_price": 4400,
                    "factor": 100000
                },
                "from": "2018-12-26 15:18:26.524612"
            }
        ],
        "operation": {
            "event": "deploy",
            "workspace": "operations",
            "created": "2018-12-26 15:18:27.567661"
        },
        "bindings": [],
        "service": {
            "type": "Linux Compute",
            "id": "eb-l2gmi",
            "machines": [
                {
                    "state": "done",
                    "name": "testserve-eb-l2gmi-1",
                    "workflow": []
                }
            ]
        },
        "id": "i-b1qtkz",
        "is_deploy_only": true,
        "state": "done",
        "schema": "http://elasticbox.net/schemas/instance",
        "updated": "2018-12-26 15:21:56.516934",
        "tags": [],
        "deleted": null,
        "boxes": [
            {
                "updated": "2018-12-26 15:17:00.128048",
                "automatic_updates": "off",
                "requirements": [],
                "name": "php-server",
                "created": "2018-12-11 14:29:56.791167",
                "deleted": null,
                "variables": [
                    {
                        "required": false,
                        "type": "Text",
                        "name": "variable_name",
                        "value": "value",
                        "visibility": "public"
                    }
                ],
                "visibility": "workspace",
                "id": "4f996250-a420-4e44-8e97-4af86328148f",
                "members": [],
                "owner": "operations",
                "organization": "centurylink",
                "events": {
                    "pre_install": {
                        "url": "/services/blobs/download/5c0fcb8cc9a9d120195a3f7a/pre_install",
                        "length": 39,
                        "destination_path": "scripts",
                        "content_type": "text/x-shellscript"
                    },
                    "configure": {
                        "url": "/services/blobs/download/5c0fca3dc9a9d120195a3f71/configure",
                        "length": 23,
                        "destination_path": "scripts",
                        "content_type": "text/x-shellscript"
                    }
                },
                "draft_from": "f0023f62-8e43-41d6-a248-691f092d6287",
                "schema": "http://elasticbox.net/schemas/boxes/script"
            }
        ],
        "members": [],
        "box": "4f996250-a420-4e44-8e97-4af86328148f",
        "name": "TestServe",
        "created": "2018-12-26 15:18:26.532799",
        "policy_box": {
            "profile": {
                "subnet": "us-east-1a",
                "security_groups": [
                    "Automatic"
                ],
                "pricing_info": {
                    "estimated_monthly": 3168000,
                    "provider_type": "Amazon Web Services",
                    "hourly_price": 4400,
                    "factor": 100000
                },
                "image": "Linux Compute",
                "instances": 1,
                "keypair": "None",
                "location": "us-east-1",
                "volumes": [],
                "cloud": "EC2",
                "flavor": "m1.small",
                "managed_os": false,
                "schema": "http://elasticbox.net/schemas/aws/ec2/profile"
            },
            "provider_id": "0669730b-6f01-421b-8a5e-597bca20c1bf",
            "automatic_updates": "off",
            "name": "default-small-us-east-1",
            "created": "2018-12-11 13:53:56.512649",
            "deleted": null,
            "variables": [],
            "updated": "2018-12-11 13:53:56.512649",
            "visibility": "workspace",
            "readme": {
                "url": "#application-lifecycle-management-services/resources/default-box-overview",
                "upload_date": "2018-12-11 13:53:56.512131",
                "length": 1307,
                "content_type": "text/x-markdown"
            },
            "members": [],
            "claims": [
                "small",
                "linux"
            ],
            "owner": "operations",
            "organization": "centurylink",
            "id": "11c8882e-3888-4bdd-bd2d-b92766a423c7",
            "schema": "http://elasticbox.net/schemas/boxes/policy"
        },
        "uri": "/services/instances/i-b1qtkz"
    }
    

    PUT /services/instances/{instance_id}

    Dada a ID da instância, atualiza apenas esses campos de uma instância existente: caixas, etiquetas, escala, membros e variáveis. O corpo da solicitação deve conter um objeto de instância.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/eb-bbhzh
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Solicitar parâmetros do corpo

    Parâmetro Tipo Descrição Req.
    bindings array Lista de binizações de instância.
    associação object A ligação contida na lista de vínculos, cada objeto de ligação contém os parâmetros: instância e nome.
    updated cadeia Data da última atualização.
    nome cadeia Nome da instância Sim
    serviço object Serviço de instância. Sim
    service.type cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service. Sim
    service.id cadeia Tipos de serviço: Sim
    service.machines array Lista de máquinas de serviço
    machine object Máquina contida na lista de máquinas de serviço.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento , concluído e indisponível.
    machine.name cadeia Nome da máquina.
    machine.workflow array Lista de ações de fluxo de trabalho, onde cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e script.
    workflow.box cadeia Caixa de ação do fluxo de trabalho.
    workflow.event cadeia Evento de ação do fluxo de trabalho.
    workflow.script cadeia Script de ação do fluxo de trabalho uri.
    tags array Tipo de instância
    variables array Lista de variáveis de instância, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created cadeia Data de criação
    caixas array Lista de caixas Sim
    box.visibility cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • box.organization cadeia Organização à qual a caixa pertence. Sim
    box.updated cadeia Data da última atualização.
    box.description cadeia Descrição da caixa.
    box.service cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service. Sim
    box.tags array Etiquetas de caixa.
    box.variables array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box.created cadeia Data de criação
    box.uri cadeia Caixa uri.
    box.id array Identificador exclusivo da caixa. Sim
    box.schema cadeia Caixa schema uri. Sim
    box.members array Lista de membros da caixa.
    box.owner cadeia Proprietário da caixa. Sim
    box.bindings array Lista de vinculações de caixa.
    box.binding object A ligação contida na lista de vínculos, cada ligação tem uma caixa e um nome.
    box.icon cadeia Ícone de caixa uri.
    box.events array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pós_configurar, lançar_descartar, pós_instalar, lançar_iniciar, lançar_parar, iniciar e parar.
    box.event object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url , data_upload , comprimento e caminho_destino.
    box.name cadeia Nome da caixa Sim
    policy_box object política de implantação específica para um provedor
    policy_box.provider_id cadeia id do provedor
    policy_box.automatic_updates cadeia Um deles: prefeito, menor, patch, desligado
    policy_box.name cadeia política nome da caixa
    policy_box.variables array Lista de variáveis da política da caixa de implantação
    policy_box.claims array Lista de reivindicações da política de caixa de implantação
    policy_box.id cadeia ID da política da caixa de implantação
    policy_box.schema cadeia Esquema da política de caixa de implantação
    policy_box.members array Lista de membros que compartilham a caixa de política de implantação
    policy_box.owner cadeia Proprietário da política de caixa de implantação
    policy_box.readme object Arquivo Leiame para a caixa de política de implantação
    uri cadeia instância uri.
    state cadeia Estado da instância, há três estados possíveis: processamento , concluído e indisponível Sim
    members array Membros da instância.
    owner cadeia Proprietário da instância. Sim
    operation cadeia Última operação, há sete tipos de operações: implantar , desligar , poweron , reinstalar , reconfigurar , encerrar e encerrar_serviço Sim
    icon cadeia Ícone de instância uri.
    id array Identificador exclusivo da instância. Sim
    esquema cadeia Exemplo de esquema uri. Sim
    lease array Agenda uma instância com dois parâmetros:
  • Vencimento Especifica no formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, a hora e a data para parar uma instância. É necessário somente quando uma instância é definida para encerrar ou desligar.
  • Operação Especifica uma instância para parar com desligamento ou encerrar. Quando não está programada, a instância é definida como alwayson.
  • Corpo da solicitação

    {
       "box": "231dadb5-c3a5-4c33-af8e-fc315b0d11eb",
       "updated": "2019-01-18 15:19:59.199831",
       "automatic_updates": "off",
       "name": "TestServeONE",
       "service": {
            "type": "Linux Compute",
            "id": "eb-n1y4u",
            "machines": [
                {
                    "state": "done",
                    "name": "testserveone-eb-n1y4u-1",
                   "workflow": []
                    }
                ]
        },
       "policy_box": {
           "profile": {
           	 "subnet": "us-east-1a",
             "cloud": "EC2",
             "image": "Linux Compute",
             "instances": 1,
             "keypair": "None",
             "location": "us-east-1",
             "flavor": "m1.small",
             "schema": "http://elasticbox.net/schemas/aws/ec2/profile"
           },
           "provider_id": "d583d52b-1f6b-436e-82f3-06fdaf15a788",
           "automatic_updates": "off",
           "name": "default-small-us-east-1",
           "created": "2019-01-18 15:11:27.695987",
           "deleted": null,
           "variables": [],
           "updated": "2019-01-18 15:11:27.695987",
           "visibility": "workspace",
           "owner": "workspace",
           "members": [],
           "claims": [
             "small",
             "linux"
           ],
           "organization": "public",
           "id": "aeff44ad-adfb-4b57-b644-6ca0bfba2ab2",
           "schema": "http://elasticbox.net/schemas/boxes/policy"
       },
       "created": "2019-01-18 15:16:19.306559",
       "uri": "/services/instances/i-gsnjqi",
       "state": "done",
       "boxes": [
       			{
                    "schema": "http://elasticbox.net/schemas/boxes/script",
                    "updated": "2019-01-03 11:02:09.324450",
                    "automatic_updates": "off",
                    "requirements": [
                        "linux"
                    ],
                    "description": "Linux Machine with no software preinstalled",
                    "created": "2019-01-03 11:02:09.324450",
                    "deleted": null,
                    "variables": [],
                    "visibility": "public",
                    "events": {},
                    "version": {
                        "box": "231dadb5-c3a5-4c33-af8e-fc315b0d11eb",
                        "number": {
                            "major": 1,
                            "minor": 0,
                            "patch": 0
                        },
                        "workspace": "elasticbox",
                        "description": "Initial ElasticBox Version"
                    },
                    "friendly_id": "linux-compute",
                    "members": [],
                    "owner": "elasticbox",
                    "organization": "public",
                    "icon": "images/platform/linux.png",
                    "id": "1ee9af93-f9f2-4e65-9cba-71f1f6fbab61",
                    "name": "Linux Compute"
                }
       ],
       "schema": "http://elasticbox.net/schemas/instance",
       "owner": "default",
       "variables": [
           {
                "required": true,
                "type": "Text",
                "name": "variable_name",
                "value": "overridden variable value at deployment time",
                "visibility": "public"
            }
       ],
       "operation": {
           "event": "deploy",
           "workspace": "default",
           "created": "2019-01-18 15:16:19.479458"
       },
       "id": "i-gsnjqi",
       "icon": "images/platform/linux.png"
    }
    

    Resposta

    Códigos de resposta normais

    • 200 OK
    • 202 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos
    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    bindings array Lista de binizações de instância.
    associação object A ligação contida na lista de vínculos, cada objeto de ligação contém os parâmetros: instância e nome.
    updated cadeia Data da última atualização.
    nome cadeia Nome da instância
    serviço Object Serviço de instância.
    service.type cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    service.id cadeia Tipos de serviço:
    service.machines array Lista de máquinas de serviço.
    machine object Máquina contida na lista de máquinas de serviço.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento , concluído e indisponível.
    machine.name cadeia Nome da máquina.
    machine.workflow array Lista de ações de fluxo de trabalho, onde cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e script.
    workflow.box cadeia Caixa de ação do fluxo de trabalho.
    workflow.event cadeia Evento de ação do fluxo de trabalho.
    workflow.script cadeia Script de ação do fluxo de trabalho uri.
    tags array Tipo de instância
    variables array Lista de variáveis de instância, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    created cadeia Data de criação
    caixas array Lista de caixas
    box.visibility cadeia Indica em que nível a caixa está visível. Por padrão, as caixas são visíveis para o espaço de trabalho em que são criadas. Pode ter um desses valores:
  • público Visível para nuvem usuários do Application Manager em todas as organizações.
  • organização Visível a todos os usuários na organização onde a caixa foi criada.
  • espaço de trabalho Por padrão, a caixa é visível apenas para membros do espaço de trabalho onde ela foi criada.
  • box.organization cadeia Organização à qual a caixa pertence.
    box.updated cadeia Data da última atualização.
    box.description cadeia Descrição da caixa.
    box.service cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    box.tags array Etiquetas de caixa.
    box.variables array Lista de variáveis da caixa, cada objeto variável contém os parâmetros: tipo, nome, valor, visibilidade, obrigatório, etc.
    box.created cadeia Data de criação
    box.uri cadeia Caixa uri.
    box.id array Identificador exclusivo da caixa.
    box.schema cadeia Caixa schema uri.
    box.members array Lista de membros da caixa.
    box.owner cadeia Proprietário da caixa.
    box.bindings array Lista de vinculações de caixa.
    box.binding object A ligação contida na lista de vínculos, cada ligação tem uma caixa e um nome.
    box.icon cadeia Ícone de caixa uri.
    box.events array Lista de eventos da caixa, pode haver nove listas de eventos: configurar, descartar, instalar, pós_configurar, lançar_descartar, pós_instalar, lançar_iniciar, lançar_parar, iniciar e parar.
    box.event object Evento contido em uma das listas de eventos, cada objeto de evento contém os parâmetros: url , data_upload , comprimento e caminho_destino.
    box.name cadeia Nome da caixa
    policy_box object política de implantação específica para um provedor
    policy_box.provider_id cadeia id do provedor
    policy_box.automatic_updates cadeia Um deles: prefeito, menor, patch, desligado
    policy_box.name cadeia política nome da caixa
    policy_box.variables array Lista de variáveis da política da caixa de implantação
    policy_box.claims array Lista de reivindicações da política de caixa de implantação
    policy_box.id cadeia ID da política da caixa de implantação
    policy_box.schema cadeia Esquema da política de caixa de implantação
    policy_box.members array Lista de membros que compartilham a caixa de política de implantação
    policy_box.owner cadeia Proprietário da política de caixa de implantação
    policy_box.readme object Arquivo Leiame para a caixa de política de implantação
    uri cadeia instância uri.
    state cadeia Estado da instância, há três estados possíveis: processamento , concluído e indisponível
    members array Membros da instância.
    owner cadeia Proprietário da instância.
    operation cadeia Última operação, há sete tipos de operações: implantar , desligar , poweron , reinstalar , reconfigurar , encerrar e encerrar_serviço
    icon cadeia Ícone de instância uri.
    id array Identificador exclusivo da instância.
    esquema cadeia Exemplo de esquema uri.
    lease array Agenda uma instância com dois parâmetros:
  • liberado. É um valor verdadeiro ou falso booleano. Falso significa que a operação programada na instância ainda não foi executada.
  • Vencimento Especifica no formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, a hora e a data para parar uma instância. É necessário somente quando uma instância é definida para encerrar ou desligar.
  • Operação Especifica uma instância para parar com desligamento ou encerrar. Quando não está programada, a instância é definida como alwayson.
  • Corpo da resposta

    {
        "automatic_updates": "off",
        "icon_metadata": {
            "image": "images/platform/linux.png",
            "border": "#D0D4D8",
            "fill": "#FFFFFF"
        },
        "variables": [
            {
                "required": true,
                "type": "Text",
                "name": "variable_name",
                "value": "overridden variable value at deployment time",
                "visibility": "public"
            }
        ],
        "automatic_reconfiguration": true,
        "owner": "default",
        "bindings": [],
        "operation": {
            "event": "deploy",
            "workspace": "default",
            "created": "2019-01-18 15:16:19.479458"
        },
        "service": {
            "type": "Linux Compute",
            "id": "eb-n1y4u",
            "machines": [
                {
                    "state": "done",
                    "name": "testserveone-eb-n1y4u-1",
                    "workflow": []
                }
            ]
        },
        "id": "i-gsnjqi",
        "is_deploy_only": true,
        "state": "done",
        "schema": "http://elasticbox.net/schemas/instance",
        "updated": "2019-01-18 17:11:59.169299",
        "tags": [],
        "deleted": null,
        "boxes": [
            {
                "updated": "2019-01-03 11:02:09.324450",
                "automatic_updates": "off",
                "description": "Linux Machine with no software preinstalled",
                "deleted": null,
                "variables": [],
                "visibility": "public",
                "friendly_id": "linux-compute",
                "members": [],
                "owner": "elasticbox",
                "id": "1ee9af93-f9f2-4e65-9cba-71f1f6fbab61",
                "icon": "images/platform/linux.png",
                "requirements": [
                    "linux"
                ],
                "name": "Linux Compute",
                "created": "2019-01-03 11:02:09.324450",
                "version": {
                    "box": "231dadb5-c3a5-4c33-af8e-fc315b0d11eb",
                    "number": {
                        "major": 1,
                        "minor": 0,
                        "patch": 0
                    },
                    "workspace": "elasticbox",
                    "description": "Initial ElasticBox Version"
                },
                "organization": "public",
                "events": {},
                "schema": "http://elasticbox.net/schemas/boxes/script"
            }
        ],
        "members": [],
        "icon": "/icons/instances/i-gsnjqi",
        "box": "231dadb5-c3a5-4c33-af8e-fc315b0d11eb",
        "name": "TestServeONE",
        "created": "2019-01-18 15:16:19.306559",
        "policy_box": {
            "profile": {
                "subnet": "us-east-1a",
                "cloud": "EC2",
                "image": "Linux Compute",
                "location": "us-east-1",
                "instances": 1,
                "keypair": "None",
                "managed_os": false,
                "volumes": [],
                "flavor": "m1.small",
                "security_groups": [
                    "Automatic"
                ],
                "schema": "http://elasticbox.net/schemas/aws/ec2/profile"
            },
            "provider_id": "d583d52b-1f6b-436e-82f3-06fdaf15a788",
            "automatic_updates": "off",
            "name": "default-small-us-east-1",
            "created": "2019-01-18 15:11:27.695987",
            "deleted": null,
            "variables": [],
            "updated": "2019-01-18 15:11:27.695987",
            "visibility": "workspace",
            "readme": {
                "url": "#application-lifecycle-management-services/resources/default-box-overview",
                "upload_date": "2019-01-18 15:11:27.695361",
                "length": 1307,
                "content_type": "text/x-markdown"
            },
            "members": [],
            "claims": [
                "small",
                "linux"
            ],
            "owner": "default",
            "organization": "public",
            "id": "aeff44ad-adfb-4b57-b644-6ca0bfba2ab2",
            "schema": "http://elasticbox.net/schemas/boxes/policy"
        },
        "uri": "/services/instances/i-gsnjqi"
    }
    

    DELETE /services/instances/{instance_id}

    Termina, força a rescisão ou exclui uma instância existente com base em sua ID de instância.

    URL

    Estrutura

    [DELETE] /services/instances/{instance_id}?operation=value
    

    Exemplo

    [DELETE] https://cam.ctl.io/services/instances/eb-bbhzh?operation=force_terminate
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim
    operation cadeia O tipo de operação deve ser um dos seguintes valores: encerrar, forçar_encerrar e excluir Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 400 Dados inválidos
    • 403 Proibido
    • 404 Não encontrado
    • 409 Conflito de operação

    GET /services/instances/{instance_id}/service

    Obtém o serviço na instância dada sua ID de instância.

    URL

    Estrutura

    [GET] /services/instances/{instance_id}/service
    

    Exemplo

    [GET] https://cam.ctl.io/services/instances/i-b1qtkz/service
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    perfil object Perfil de serviço.
    profile.subnet cadeia Sub-rede de perfil.
    profile.image cadeia Página perfil
    profile.keypair cadeia Keypair de perfil.
    profile.location cadeia Localização do perfil.
    profile.security_group cadeia Perfil isolado de perfil.
    profile.flavor cadeia Sabor do perfil.
    profile.autoscalable boolean Perfil automaticamente calculado.
    profile.cloud boolean nuvem tipo.
    profile.schema cadeia Perfil do esquema uri.
    provider_id cadeia Identificador exclusivo do provedor de perfil.
    created cadeia Data de criação
    tags array Etiquetas de serviço.
    state cadeia Estado de serviço, há três estados possíveis: processamento , concluído e indisponível
    token cadeia Token de serviço.
    operation cadeia Serviço última operação, há sete tipos de operações: implantar, desligar, ligar, reinstalar, reconfigurar, encerrar e encerrar_serviço.
    icon cadeia URL do ícone de serviço.
    tipo cadeia Tipo de instância
    id cadeia Identificador exclusivo da instância.
    machines array Lista de máquinas de serviço.
    machine.token cadeia Token da máquina.
    machine.name cadeia Nome da máquina.
    machine.address array A matriz contém o endereço público e privado.
    machine.agent_version array Versão do agente de máquina.
    machine.external_id array Id externa da máquina.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento , concluído e indisponível.
    machine.schema array Schema de máquina uri.
    esquema cadeia Esquema de serviço uri.
    organização cadeia O nome da organização que possui este serviço.
    deleted cadeia Nulo quando a instância está disponível.

    Corpo da resposta

    {
        "profile": {
            "subnet": "us-east-1a",
            "pricing_info": {
                "estimated_monthly": 3168000,
                "factor": 100000,
                "hourly_price": 4400,
                "provider_type": "Amazon Web Services"
            },
            "image": "ami-7c807d14",
            "managed_os": false,
            "instances": 1,
            "keypair": "None",
            "location": "us-east-1",
            "volumes": [],
            "cloud": "EC2",
            "flavor": "m1.small",
            "security_groups": [
                "Automatic"
            ],
            "schema": "http://elasticbox.net/schemas/aws/ec2/profile"
        },
        "schema": "http://elasticbox.net/schemas/service",
        "provider_id": "0669730b-6f01-421b-8a5e-597bca20c1bf",
        "tags": [],
        "deleted": null,
        "variables": [],
        "created": "2018-12-26 15:18:26.651731",
        "state_history": [
            {
                "started": "2018-12-26 15:19:12.346533",
                "state": "up",
                "completed": "2018-12-26 15:30:59.280770"
            },
            {
                "started": "2018-12-26 15:30:59.280770",
                "state": "down",
                "completed": "2018-12-26 15:31:27.771582"
            },
            {
                "started": "2018-12-26 15:31:27.771608",
                "state": "up"
            }
        ],
        "updated": "2018-12-26 15:37:03.927659",
        "token": "4b108401-680f-4c12-b972-3c481a852c73",
        "state": "done",
        "clc_alias": "86C7",
        "organization": "centurylink",
        "operation": "poweron",
        "type": "Linux Compute",
        "id": "eb-l2gmi",
        "machines": [
            {
                "last_agent_ping": "2018-12-26 15:33:07.907863",
                "name": "testserve-eb-l2gmi-1",
                "hostname": "ec2-52-90-5-208.compute-1.amazonaws.com",
                "token": "b40e24eb-dc72-4be5-b044-3f0015a28091",
                "support_id": "AWSUSE110715",
                "state": "done",
                "address": {
                    "public": "54.208.195.172",
                    "private": "10.45.133.57"
                },
                "schema": "http://elasticbox.net/schemas/aws/service-machine",
                "external_id": "i-0fbf9349a5ea5cd36",
                "agent_version": "6.13"
            }
        ],
        "icon": "images/platform/linux.png"
    }
    

    GET /services/instances/{instance_id}/activity

    Obtém todos os registros de atividades de operações executadas em uma instância dada sua ID de instância.

    URL

    Estrutura

    [GET] /services/instances/{instance_id}/activity
    

    Exemplo

    [GET] https://cam.ctl.io/services/instances/i-b1qtkz/activity
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    caixa cadeia Nome da caixa
    nome de usuário cadeia Usuário que realizou a atividade.
    * máquina cadeia Máquina.
    level cadeia Tipo de atividade.
    texto cadeia Descrição da atividade.
    created cadeia Data de criação da atividade.
    evento cadeia Evento de atividade.

    Obs.: Só mostrou quando a atividade de instância está relacionada com o parâmetro.

    Corpo da resposta

    [
        {
            "text": "Deploying instance.",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:18:27.582649",
            "level": "start"
        },
        {
            "text": "Created security group eb-l2gmi.",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:18:28.270143",
            "level": "add"
        },
        {
            "text": "Automatically selected image amzn-ami-pv-2014.03.2.x86_64-ebs.",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:18:29.952413",
            "level": "info"
        },
        {
            "text": "Create in Progress for eb-l2gmi (AWS::CloudFormation::Stack): User Initiated.",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:18:30.693042",
            "level": "info"
        },
        {
            "text": "Create in Progress for testserveebl2gmi1Machine (AWS::EC2::Instance).",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:18:40.934764",
            "level": "info"
        },
        {
            "text": "Create in Progress for testserveebl2gmi1Machine (AWS::EC2::Instance): Resource creation Initiated.",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:18:40.945462",
            "level": "info"
        },
        {
            "text": "Create Complete for testserveebl2gmi1Machine (AWS::EC2::Instance).",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:19:11.677807",
            "level": "info"
        },
        {
            "text": "Create Complete for eb-l2gmi (AWS::CloudFormation::Stack).",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:19:11.687805",
            "level": "info"
        },
        {
            "text": "Waiting to install ElasticBox agent in machine testserve-eb-l2gmi-1.",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "created": "2018-12-26 15:19:12.339171",
            "level": "waiting"
        },
        {
            "box": "",
            "created": "2018-12-26 15:21:52.584981",
            "text": "Executing pre_install:php-server in machine testserve-eb-l2gmi-1.",
            "level": "install",
            "exit_code": 0,
            "machine": "testserve-eb-l2gmi-1",
            "finished": "2018-12-26 15:21:53.200000",
            "request_id": "4a0c69bc-9164-4f51-b313-d2ad46f50443",
            "event": "pre_install"
        },
        {
            "box": "",
            "created": "2018-12-26 15:21:53.592944",
            "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
            "level": "configure",
            "exit_code": 0,
            "machine": "testserve-eb-l2gmi-1",
            "finished": "2018-12-26 15:21:56.190000",
            "request_id": "01e52bb8-a6ba-4f36-8d52-056975fc2e34",
            "event": "configure"
        },
        {
            "text": "Machine testserve-eb-l2gmi-1 successfully deployed.",
            "request_id": "9232da27-2106-46cd-972d-c7014f4ece04",
            "created": "2018-12-26 15:21:56.470664",
            "level": "success"
        },
        {
            "text": "Instance successfully deployed.",
            "request_id": "9232da27-2106-46cd-972d-c7014f4ece04",
            "created": "2018-12-26 15:21:56.483589",
            "level": "success"
        },
        {
            "text": "Shutting-down instance.",
            "request_id": "0af456dd-86d9-49fd-8ff8-16e3017775a8",
            "created": "2018-12-26 15:29:56.584842",
            "level": "stop"
        },
        {
            "text": "Machine testserve-eb-l2gmi-1 successfully stopped.",
            "request_id": "36c4a9f6-78f2-44dc-af3f-2445017571e3",
            "created": "2018-12-26 15:29:57.716319",
            "level": "success"
        },
        {
            "text": "Instance successfully stopped.",
            "request_id": "36c4a9f6-78f2-44dc-af3f-2445017571e3",
            "created": "2018-12-26 15:29:57.727837",
            "level": "success"
        },
        {
            "text": "Shutting-down service eb-l2gmi.",
            "request_id": "615759d1-1461-44b6-96b8-ad4e9671271a",
            "created": "2018-12-26 15:29:57.825175",
            "level": "stop"
        },
        {
            "text": "Waiting for shutting-down machines testserve-eb-l2gmi-1.",
            "request_id": "615759d1-1461-44b6-96b8-ad4e9671271a",
            "created": "2018-12-26 15:29:58.571231",
            "level": "waiting"
        },
        {
            "text": "Service eb-l2gmi successfully shutdown.",
            "request_id": "615759d1-1461-44b6-96b8-ad4e9671271a",
            "created": "2018-12-26 15:30:59.290583",
            "level": "success"
        },
        {
            "text": "Powering-on instance.",
            "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
            "created": "2018-12-26 15:31:27.556072",
            "level": "start"
        },
        {
            "text": "Powering-on service eb-l2gmi.",
            "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
            "created": "2018-12-26 15:31:27.603268",
            "level": "start"
        },
        {
            "text": "Booting machine testserve-eb-l2gmi-1.",
            "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
            "created": "2018-12-26 15:31:27.786126",
            "level": "info"
        },
        {
            "text": "Waiting to install ElasticBox agent in machine testserve-eb-l2gmi-1.",
            "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
            "created": "2018-12-26 15:31:28.176402",
            "level": "waiting"
        },
        {
            "box": "",
            "created": "2018-12-26 15:33:03.801318",
            "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
            "level": "configure",
            "exit_code": 0,
            "machine": "testserve-eb-l2gmi-1",
            "finished": "2018-12-26 15:33:06.440000",
            "request_id": "7d39719d-236e-4277-bd0f-0c0ca21a941c",
            "event": "configure"
        },
        {
            "text": "Machine testserve-eb-l2gmi-1 successfully powered-on.",
            "request_id": "78d61086-0fdc-4a3a-84c7-2848c88d0bed",
            "created": "2018-12-26 15:33:06.706192",
            "level": "success"
        },
        {
            "text": "Instance successfully powered-on.",
            "request_id": "78d61086-0fdc-4a3a-84c7-2848c88d0bed",
            "created": "2018-12-26 15:33:06.716120",
            "level": "success"
        },
        {
            "text": "Reinstalling instance.",
            "request_id": "162fc44b-c2a0-4873-a42e-0778d4f628ea",
            "created": "2018-12-26 15:34:37.732658",
            "level": "install"
        },
        {
            "box": "",
            "created": "2018-12-26 15:34:39.306274",
            "text": "Executing pre_install:php-server in machine testserve-eb-l2gmi-1.",
            "level": "install",
            "exit_code": 0,
            "machine": "testserve-eb-l2gmi-1",
            "finished": "2018-12-26 15:34:41.870000",
            "request_id": "31be6340-2a11-4cad-9643-8082f44515ac",
            "event": "pre_install"
        },
        {
            "box": "",
            "created": "2018-12-26 15:34:42.177262",
            "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
            "level": "configure",
            "exit_code": 0,
            "machine": "testserve-eb-l2gmi-1",
            "finished": "2018-12-26 15:34:44.700000",
            "request_id": "df7ce1ca-4477-4c41-84de-16476b22e329",
            "event": "configure"
        },
        {
            "text": "Machine testserve-eb-l2gmi-1 successfully reinstalled.",
            "request_id": "a0fccf9e-42ac-4cef-9f6b-9f5b28565cd0",
            "created": "2018-12-26 15:34:44.965676",
            "level": "success"
        },
        {
            "text": "Instance successfully reinstalled.",
            "request_id": "a0fccf9e-42ac-4cef-9f6b-9f5b28565cd0",
            "created": "2018-12-26 15:34:44.979192",
            "level": "success"
        },
        {
            "text": "Reconfiguring instance.",
            "request_id": "98299bd7-e89c-4078-b6c6-51d1134cbaba",
            "created": "2018-12-26 15:37:03.010128",
            "level": "configure"
        },
        {
            "box": "",
            "created": "2018-12-26 15:37:05.022507",
            "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
            "level": "configure",
            "exit_code": 0,
            "machine": "testserve-eb-l2gmi-1",
            "finished": "2018-12-26 15:37:07.540000",
            "request_id": "131c170d-0d76-4bec-a3e8-31877c4cf225",
            "event": "configure"
        },
        {
            "text": "Machine testserve-eb-l2gmi-1 successfully reconfigured.",
            "request_id": "e83e5869-16c3-4a81-9a1f-0e14ff2ca003",
            "created": "2018-12-26 15:37:07.801594",
            "level": "success"
        },
        {
            "text": "Instance successfully reconfigured.",
            "request_id": "e83e5869-16c3-4a81-9a1f-0e14ff2ca003",
            "created": "2018-12-26 15:37:07.812196",
            "level": "success"
        }
    ]
    

    GET /services/instances/{instance_id}/machine_logs

    Obtém os registros de uma máquina para uma instância implantada dada sua ID de instância.

    URL

    Estrutura

    [GET] /services/instances/{instance_id}/machine_logs?machine_name={machine}
    

    Exemplo

    [GET] https://cam.ctl.io/services/instances/eb-bbhzh/activity?operation=nfs-client1-eb-osw3o-1
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim
    machine_name cadeia O nome da máquina que você deseja recuperar o registro. Você pode obter o nome da máquina a partir do documento de instância. Sim
    box cadeia Nome da caixa
    event cadeia Tipo de evento, pode haver nove listas de eventos: configure, descarte, instale, post_discard, post_stop, pre_configure, pre_install, pre_start, start e stop.
    operation cadeia A ID de operação específica, há sete tipos de operações: implantar , desligar , ligar , reinstalar , reconfigurar, encerrar e encerrar_serviço.

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Corpo da resposta

    Executing pre_install-{instance_id} script
    ...
    pre_install-{instance_id} successfully executed.
    Executing install-{instance_id} script
    ...
    install-{instance_id} successfully executed.
    Executing configure-{instance_id} script
    ...
    configure-{instance_id} successfully executed.
    

    GET /services/instances/{instance_id}/bindings

    Obtém a ligação de uma instância quando você dá a ID da instância.

    URL

    Estrutura

    [GET] /services/instances/{instance_id}/bindings
    

    Exemplo

    [GET] https://cam.ctl.io/services/instances/eb-bbhzh/bindings
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    updated cadeia Data da última atualização.
    operation cadeia Última operação, há sete tipos de operações: implantar , desligar , poweron , reinstalar , reconfigurar , encerrar e encerrar_serviço
    nome cadeia Nome da instância
    serviço Object Serviço de instância.
    service.type cadeia Pode ser um desses tipos: Linux Compute, Windows Compute e CloudFormation Service.
    service.id cadeia Tipos de serviço:
    service.machines array Lista de máquinas de serviço
    machine object Máquina contida na lista de máquinas de serviço.
    machine.state cadeia Estado da máquina, há três estados possíveis: processamento , concluído e indisponível.
    machine.name cadeia Nome da máquina.
    machine.workflow array Lista de ações de fluxo de trabalho, onde cada objeto de ação de fluxo de trabalho contém três parâmetros: caixa, evento e script.
    workflow.box cadeia Caixa de ação do fluxo de trabalho.
    workflow.event cadeia Evento de ação do fluxo de trabalho.
    workflow.script cadeia Script de ação do fluxo de trabalho uri.
    tags array Tipo de instância
    caixas array Lista de caixas onde cada objeto de caixa contém um parâmetro de serviço. O parâmetro de serviço pode ter um desses valores: Linux Compute, Windows Compute e CloudFormation Service.
    uri cadeia Uri. instância
    state cadeia Estado da instância, há três estados possíveis: processamento , concluído e indisponível
    bindings array Lista de binizações de instância.
    associação object A ligação contida na lista de vínculos, cada objeto de ligação contém os parâmetros: instância e nome.
    id array Identificador exclusivo da instância
    icon cadeia Ícone de instância uri.
    esquema cadeia Exemplo de esquema uri.

    Corpo da resposta

    [
      {
         "box":{
            "version":"1186ce20-96f2-458d-ae62-19496036b275",
            "name":"Wordpress"
         },
         "updated":"2014-03-21 18:20:04.921745",
         "name":"profile",
         "created":"2014-03-21 18:20:04.921745",
         "default_stamp":1395426004.921258,
         "uri":"--profile uri--",
         "instances":[
            {
               "box":{
                  "version":"1186ce20-96f2-458d-ae62-19496036b275",
                  "name":"Wordpress"
               },
               "profile":{
                  "subnet":"us-east-1b",
                  "image":"Linux Compute",
                  "instances":1,
                  "keypair":"None",
                  "location":"us-east-1",
                  "security_group":"Automatic",
                  "flavor":"t1.micro",
                  "autoscalable":false,
                  "cloud":"EC2",
                  "schema":"http://elasticbox.net/schemas/aws/ec2/profile"
               },
               "provider":"Amazon",
               "path":"/",
               "variables":[
                  {
                     "type":"Port",
                     "name":"http",
                     "value":"80"
                  }
               ],
               "bindings":[
    
               ]
            }
         ],
         "members":[
                   "member1","member2"
         ],
         "owner":"workspace1",
         "id":"--profile id--",
         "schema":"http://elasticbox.net/schemas/deployment-profile"
      }
    ]
    

    GET /services/instances/{instance_id}/operations

    Obtém todas as operações executadas em uma instância quando você dá a ID da instância.

    URL

    Estrutura

    [GET] /services/instances/{instance_id}/operations
    

    Exemplo

    [GET] https://cam.ctl.io/services/instances/i-b1qtkz/operations
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Parâmetros de resposta

    Parâmetro Tipo Descrição
    nome de usuário cadeia Nome do usuário:
    updated cadeia Data da última atualização.
    created cadeia Data de criação
    us$/instância cadeia Identificador exclusivo da instância.
    state cadeia Estado da instância, há três estados possíveis: processamento , concluído e indisponível
    workspace cadeia Nome do espaço de trabalho
    atividades array Lista de atividades.
    activity.username cadeia Usuário que realizou a atividade.
    activity.text cadeia Descrição da atividade.
    activity.level cadeia Tipo de atividade.
    activity.created cadeia Data da atividade.
    operation cadeia Última operação, há sete tipos de operações: implantar, desligar, ligar, reinstalar, reconfigurar, encerrar e encerrar_serviço.
    id cadeia Identificador exclusivo da operação.
    deleted cadeia Data de remoção.
    esquema cadeia Esquema de operação uri.

    Corpo da resposta

    [
        {
            "username": "jorge.torres@centurylink.com",
            "updated": "2018-12-26 15:21:56.509525",
            "created": "2018-12-26 15:18:27.567661",
            "deleted": null,
            "activity": [
                {
                    "text": "Deploying instance.",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:18:27.582649",
                    "level": "start"
                },
                {
                    "text": "Created security group eb-l2gmi.",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:18:28.270143",
                    "level": "add"
                },
                {
                    "text": "Automatically selected image amzn-ami-pv-2014.03.2.x86_64-ebs.",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:18:29.952413",
                    "level": "info"
                },
                {
                    "text": "Create in Progress for eb-l2gmi (AWS::CloudFormation::Stack): User Initiated.",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:18:30.693042",
                    "level": "info"
                },
                {
                    "text": "Create in Progress for testserveebl2gmi1Machine (AWS::EC2::Instance).",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:18:40.934764",
                    "level": "info"
                },
                {
                    "text": "Create in Progress for testserveebl2gmi1Machine (AWS::EC2::Instance): Resource creation Initiated.",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:18:40.945462",
                    "level": "info"
                },
                {
                    "text": "Create Complete for testserveebl2gmi1Machine (AWS::EC2::Instance).",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:19:11.677807",
                    "level": "info"
                },
                {
                    "text": "Create Complete for eb-l2gmi (AWS::CloudFormation::Stack).",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:19:11.687805",
                    "level": "info"
                },
                {
                    "text": "Waiting to install ElasticBox agent in machine testserve-eb-l2gmi-1.",
                    "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
                    "created": "2018-12-26 15:19:12.339171",
                    "level": "waiting"
                },
                {
                    "box": "",
                    "created": "2018-12-26 15:21:52.584981",
                    "text": "Executing pre_install:php-server in machine testserve-eb-l2gmi-1.",
                    "level": "install",
                    "exit_code": 0,
                    "machine": "testserve-eb-l2gmi-1",
                    "finished": "2018-12-26 15:21:53.200000",
                    "request_id": "4a0c69bc-9164-4f51-b313-d2ad46f50443",
                    "event": "pre_install"
                },
                {
                    "box": "",
                    "created": "2018-12-26 15:21:53.592944",
                    "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
                    "level": "configure",
                    "exit_code": 0,
                    "machine": "testserve-eb-l2gmi-1",
                    "finished": "2018-12-26 15:21:56.190000",
                    "request_id": "01e52bb8-a6ba-4f36-8d52-056975fc2e34",
                    "event": "configure"
                },
                {
                    "text": "Machine testserve-eb-l2gmi-1 successfully deployed.",
                    "request_id": "9232da27-2106-46cd-972d-c7014f4ece04",
                    "created": "2018-12-26 15:21:56.470664",
                    "level": "success"
                },
                {
                    "text": "Instance successfully deployed.",
                    "request_id": "9232da27-2106-46cd-972d-c7014f4ece04",
                    "created": "2018-12-26 15:21:56.483589",
                    "level": "success"
                }
            ],
            "instance": "i-b1qtkz",
            "state": "done",
            "instance_state": "done",
            "workspace": "operations",
            "request_id": "6886be9c-cdf8-425f-9392-c6f3bb840e22",
            "operation": "deploy",
            "id": "46e7993d-e259-47a6-a353-fa62128fb288",
            "schema": "http://elasticbox.net/schemas/instance-operation"
        },
        {
            "username": "jorge.torres@centurylink.com",
            "updated": "2018-12-26 15:30:59.323268",
            "created": "2018-12-26 15:29:56.569835",
            "deleted": null,
            "activity": [
                {
                    "text": "Shutting-down instance.",
                    "request_id": "0af456dd-86d9-49fd-8ff8-16e3017775a8",
                    "created": "2018-12-26 15:29:56.584842",
                    "level": "stop"
                },
                {
                    "text": "Machine testserve-eb-l2gmi-1 successfully stopped.",
                    "request_id": "36c4a9f6-78f2-44dc-af3f-2445017571e3",
                    "created": "2018-12-26 15:29:57.716319",
                    "level": "success"
                },
                {
                    "text": "Instance successfully stopped.",
                    "request_id": "36c4a9f6-78f2-44dc-af3f-2445017571e3",
                    "created": "2018-12-26 15:29:57.727837",
                    "level": "success"
                },
                {
                    "text": "Shutting-down service eb-l2gmi.",
                    "request_id": "615759d1-1461-44b6-96b8-ad4e9671271a",
                    "created": "2018-12-26 15:29:57.825175",
                    "level": "stop"
                },
                {
                    "text": "Waiting for shutting-down machines testserve-eb-l2gmi-1.",
                    "request_id": "615759d1-1461-44b6-96b8-ad4e9671271a",
                    "created": "2018-12-26 15:29:58.571231",
                    "level": "waiting"
                },
                {
                    "text": "Service eb-l2gmi successfully shutdown.",
                    "request_id": "615759d1-1461-44b6-96b8-ad4e9671271a",
                    "created": "2018-12-26 15:30:59.290583",
                    "level": "success"
                }
            ],
            "instance": "i-b1qtkz",
            "state": "done",
            "instance_state": "done",
            "workspace": "operations",
            "request_id": "0af456dd-86d9-49fd-8ff8-16e3017775a8",
            "operation": "shutdown",
            "id": "16f0376a-ae1c-4d26-8156-119f5fba3d27",
            "schema": "http://elasticbox.net/schemas/instance-operation"
        },
        {
            "username": "jorge.torres@centurylink.com",
            "updated": "2018-12-26 15:33:06.727051",
            "created": "2018-12-26 15:31:27.539879",
            "deleted": null,
            "activity": [
                {
                    "text": "Powering-on instance.",
                    "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
                    "created": "2018-12-26 15:31:27.556072",
                    "level": "start"
                },
                {
                    "text": "Powering-on service eb-l2gmi.",
                    "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
                    "created": "2018-12-26 15:31:27.603268",
                    "level": "start"
                },
                {
                    "text": "Booting machine testserve-eb-l2gmi-1.",
                    "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
                    "created": "2018-12-26 15:31:27.786126",
                    "level": "info"
                },
                {
                    "text": "Waiting to install ElasticBox agent in machine testserve-eb-l2gmi-1.",
                    "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
                    "created": "2018-12-26 15:31:28.176402",
                    "level": "waiting"
                },
                {
                    "box": "",
                    "created": "2018-12-26 15:33:03.801318",
                    "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
                    "level": "configure",
                    "exit_code": 0,
                    "machine": "testserve-eb-l2gmi-1",
                    "finished": "2018-12-26 15:33:06.440000",
                    "request_id": "7d39719d-236e-4277-bd0f-0c0ca21a941c",
                    "event": "configure"
                },
                {
                    "text": "Machine testserve-eb-l2gmi-1 successfully powered-on.",
                    "request_id": "78d61086-0fdc-4a3a-84c7-2848c88d0bed",
                    "created": "2018-12-26 15:33:06.706192",
                    "level": "success"
                },
                {
                    "text": "Instance successfully powered-on.",
                    "request_id": "78d61086-0fdc-4a3a-84c7-2848c88d0bed",
                    "created": "2018-12-26 15:33:06.716120",
                    "level": "success"
                }
            ],
            "instance": "i-b1qtkz",
            "state": "done",
            "instance_state": "done",
            "workspace": "operations",
            "request_id": "5d48b218-330b-42bd-b3b0-0349a29c3c58",
            "operation": "poweron",
            "id": "3776fe57-879c-4c93-b1c8-56abbc6757c0",
            "schema": "http://elasticbox.net/schemas/instance-operation"
        },
        {
            "username": "jorge.torres@centurylink.com",
            "updated": "2018-12-26 15:34:44.995543",
            "created": "2018-12-26 15:34:37.718774",
            "deleted": null,
            "activity": [
                {
                    "text": "Reinstalling instance.",
                    "request_id": "162fc44b-c2a0-4873-a42e-0778d4f628ea",
                    "created": "2018-12-26 15:34:37.732658",
                    "level": "install"
                },
                {
                    "box": "",
                    "created": "2018-12-26 15:34:39.306274",
                    "text": "Executing pre_install:php-server in machine testserve-eb-l2gmi-1.",
                    "level": "install",
                    "exit_code": 0,
                    "machine": "testserve-eb-l2gmi-1",
                    "finished": "2018-12-26 15:34:41.870000",
                    "request_id": "31be6340-2a11-4cad-9643-8082f44515ac",
                    "event": "pre_install"
                },
                {
                    "box": "",
                    "created": "2018-12-26 15:34:42.177262",
                    "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
                    "level": "configure",
                    "exit_code": 0,
                    "machine": "testserve-eb-l2gmi-1",
                    "finished": "2018-12-26 15:34:44.700000",
                    "request_id": "df7ce1ca-4477-4c41-84de-16476b22e329",
                    "event": "configure"
                },
                {
                    "text": "Machine testserve-eb-l2gmi-1 successfully reinstalled.",
                    "request_id": "a0fccf9e-42ac-4cef-9f6b-9f5b28565cd0",
                    "created": "2018-12-26 15:34:44.965676",
                    "level": "success"
                },
                {
                    "text": "Instance successfully reinstalled.",
                    "request_id": "a0fccf9e-42ac-4cef-9f6b-9f5b28565cd0",
                    "created": "2018-12-26 15:34:44.979192",
                    "level": "success"
                }
            ],
            "instance": "i-b1qtkz",
            "state": "done",
            "instance_state": "done",
            "workspace": "operations",
            "request_id": "162fc44b-c2a0-4873-a42e-0778d4f628ea",
            "operation": "reinstall",
            "id": "485be288-a545-4cab-8ade-f5b24832ae01",
            "schema": "http://elasticbox.net/schemas/instance-operation"
        },
        {
            "username": "jorge.torres@centurylink.com",
            "updated": "2018-12-26 15:37:07.824425",
            "created": "2018-12-26 15:37:02.998807",
            "deleted": null,
            "activity": [
                {
                    "text": "Reconfiguring instance.",
                    "request_id": "98299bd7-e89c-4078-b6c6-51d1134cbaba",
                    "created": "2018-12-26 15:37:03.010128",
                    "level": "configure"
                },
                {
                    "box": "",
                    "created": "2018-12-26 15:37:05.022507",
                    "text": "Executing configure:php-server in machine testserve-eb-l2gmi-1.",
                    "level": "configure",
                    "exit_code": 0,
                    "machine": "testserve-eb-l2gmi-1",
                    "finished": "2018-12-26 15:37:07.540000",
                    "request_id": "131c170d-0d76-4bec-a3e8-31877c4cf225",
                    "event": "configure"
                },
                {
                    "text": "Machine testserve-eb-l2gmi-1 successfully reconfigured.",
                    "request_id": "e83e5869-16c3-4a81-9a1f-0e14ff2ca003",
                    "created": "2018-12-26 15:37:07.801594",
                    "level": "success"
                },
                {
                    "text": "Instance successfully reconfigured.",
                    "request_id": "e83e5869-16c3-4a81-9a1f-0e14ff2ca003",
                    "created": "2018-12-26 15:37:07.812196",
                    "level": "success"
                }
            ],
            "instance": "i-b1qtkz",
            "state": "done",
            "instance_state": "done",
            "workspace": "operations",
            "request_id": "98299bd7-e89c-4078-b6c6-51d1134cbaba",
            "operation": "reconfigure",
            "id": "3de6477a-5e16-432f-a98a-8ec99f95ac1a",
            "schema": "http://elasticbox.net/schemas/instance-operation"
        }
    ]
    

    PUT /services/instances/{instance_id}/deploy

    Reimplanta uma instância existente. Requer a id_id especificada.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/deploy
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-ndt46z/deploy
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 409 Conflito de operação

    PUT /services/instances/{instance_id}/poweron

    Alimenta uma instância existente quando você dá a ID da instância.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/poweron
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-b1qtkz/poweron
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 409 Conflito de operação

    PUT /services/instances/{instance_id}/shutdown

    Desliga uma instância existente quando você dá a ID da instância.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/shutdown
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-b1qtkz/shutdown
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 409 Conflito de operação

    PUT /services/instances/{instance_id}/reinstall

    Reinstala uma instância existente quando você fornece sua ID.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/reinstall
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-b1qtkz/reinstall
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 409 Conflito de operação

    PUT /services/instances/{instance_id}/reconfigure

    Reconfigura uma instância existente quando você fornece sua ID.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/reconfigure
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-b1qtkz/reconfigure
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 409 Conflito de operação

    Corpo da resposta

    {
      "id":"i-4g166v",
      "method":"reconfigure"
    }
    

    PUT /services/instances/{instance_id}/import

    Tentativas para importar uma instância não registrada quando você der sua ID.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/import
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-ndt46z/import
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Corpo da resposta

    {
      "id":"i-eruumb",
      "method":"import"
    }
    

    PUT /services/instances/{instance_id}/cancel_import

    Cancela uma importação com falha de uma instância não registrada quando você fornece sua ID.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/cancel_import
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-ndt46z/cancel_import
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Corpo da resposta

    {
      "id":"i-eruumb",
      "method":"cancel_import"
    }
    

    PUT /services/instances/{instance_id}/abort_operation

    Abortar uma operação de processamento executando scripts em uma instância quando você der sua ID.
    A instância precisa estar no processo de processamento e executar scripts de evento.
    Também é necessário editar permissões na instância.

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/abort_operation
    

    Exemplo

    [PUT] https://cam.ctl.io/services/instances/i-ndt46z/abort_operation
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Parâmetro Tipo Descrição Req.
    instance_id cadeia ID de instância Sim

    Resposta

    Códigos de resposta normais

    • 200 OK

    Códigos comuns de resposta ao erro

    • 403 Proibido
    • 404 Não encontrado

    Gerenciamento de delegados de uma instância existente

    Este serviço permite que o usuário delege o gerenciamento de uma instância existente para o CenturyLink.

    Quando usá-lo

    Use esta operação de API se quiser que a CL seja capaz de gerenciar sua instância em seu nome.

    Obs.: Os seguintes requisitos precisam ser atendidos para poder tornar uma instância gerenciada:

    • Apenas instâncias de "computação" (Linux e Windows) podem ser gerenciadas.
    • Termos e condições precisam ser aceitos. Para fazer isso, o seguinte parâmetro de url precisa ser definido como verdadeiro:
      accept_terms=true
      
    • A instância precisa estar no status "Concluído".
    • O usuário que faz a solicitação precisa ter escrever permissões na instância.
    • A empresa proprietária da instância precisa apoiar o "Gerenciamento de delegados".

    Sistemas operacionais suportados

    • Linux
    • Windows

    URL

    Estrutura

    [PUT] /services/instances/{instance_id}/make_managed_os
    

    Exemplo

    PUT https://cam.ctl.io/services/instances/i-fbs9ow/make_managed_os?accept_terms=true
    

    Solicitação

    Cabeçalhos

    Content-Type: application/json
    Authorization: Bearer your_json_web_token
    ElasticBox-Release: 4.0
    

    Parâmetros URI

    Nome Tipo Descrição Req.
    ID InscanceId cadeia Nome da instância Sim
    accept_terms boolean Indica que o cliente aceita os termos e condições Sim

    Resposta

    Códigos de resposta normais

    • 202 Aceito

    Códigos comuns de resposta ao erro

    • Solicitação inválida (400) - A solicitação inclui parâmetros inválidos, incompletos ou ausentes (detalhes fornecidos dentro do corpo)
    • Não autorizado (401) - Token/cookie de acesso inválido
    • Proibido (403) - O usuário não pertence à organização
    • Não encontrado (404) - Organização não encontrada

    Implementar uma caixa.

    Visão geral

    Este guia mostra como implantar uma instância mongoDB usando o nuvem API Application Manager. Nesta amostra, implantamos uma instância MongoDB usando a caixa pública MongoDB existente, as etapas que você precisa são:

    Observação: Usamos comandos CurL para enviar solicitações HTTP aos objetos API em JSON. JSON é o formato necessário para todas as solicitações e respostas de API.

    Agora vamos ver o script em seções para entender como você pode fazer chamadas API de qualquer código que desejar.

    Autenticar com nuvem Gerenciador de aplicativos

    Primeiro, você deve ser Administrador no local de trabalho alvo ou ter Acesso ao administrador para sua organização em nuvem Gerenciador de aplicativos.

    Antes de ligar para a API, você precisa fazer login no site nuvem Gerenciador de aplicativos e obter um token de autenticação. Você usará este token mais tarde como um cabeçalho http para executar todas as chamadas para a API do Gerenciador de aplicativos nuvem.

    Declarar argumentos de implantação

    As próximas variáveis são definidas com parâmetros de chamada de script. Dessa forma, cada vez que você executar o script, pode passar diferentes argumentos de implantação. Essas variáveis declaradas são referenciadas mais tarde em seu script como valores de parâmetros de solicitação.

    Variável Tipo Descrição
    provider_key
    provider_secret
    cadeia Precisaremos da chave da conta do provedor e do segredo para registrar um provedor.
    Descobre abaixo como registrar um provedor e obter seus parâmetros.
    json_web_token cadeia Este é o token de autenticação obtido antes.
    Um exemplo é eyJhbGciOIjSUZi1NiIsInr5Cci6IkpXVCJ9.eyJzdWIIoIjvCgb25z..
    meio ambiente cadeia Defina o nome de host da organização de URL ou o IP do dispositivo, onde as chamadas de API são enviadas.
    Exemplos são: cam.ctl.io (se estiver usando a edição do CAM Saas), 192.168.1.10 (para um aparelho CAM local).
    owner cadeia Especifique a ID de usuário em nuvem Gerenciador de aplicativos que possui a conta do provedor. Você pode recuperá-lo do OBTER provedor Chamada API, na devolução proprietário campo.
    nome de usuário cadeia Nome do usuário administrador.
    senha cadeia Senha do usuário administrador.

    Inicie seu script com as seguintes linhas:

    # Deployment common variables
    provider_key=$1
    provider_secret=$2
    
    json_web_token=$3
    environment=$4
    owner=$5
    
    username=$6
    password=$7
    

    Há outras variáveis obtidas durante a execução do script e necessárias nas próximas etapas do script.

    Variável Tipo Descrição
    provider_id cadeia Obtido ao registrar um provedor.
    policy_box_id cadeia Obtida ao criar uma caixa de política de implantação.
    instance_id cadeia Obtida ao implantar uma instância de caixa.

    Registre o Provedor de SoftLayer no Cloud Application Manager

    Um provedor é uma conta pública ou privada na nuvem que você registra no Cloud Application Manager.

    Para registrar um provedor, enviamos uma solicitação POST ao Objeto do provedor com os parâmetros necessários.

    Neste caso, escolhemos criar um AWS como provedor no dispositivo. A partir das credenciais da conta AWS, precisaremos da chave e do segredo agora. A criação de um serviço de organização exige o código ARN como credencial. Você pode obter os parâmetros necessários para outros provedores em Objeto do provedor Doc. API

    Se houver um erro ao registrar o provedor, nós emitimos o erro. Além disso, emitimos a ID do provedor e a salvamos em id_provedor variável.

    Adicione as seguintes linhas ao seu script:

    # Register the provider AWS in Cloud Application Manager script
    payload="{
      \"icon\": \"images/platform/aws.png\",
      \"type\": \"Amazon Web Services\",
      \"description\": \"Manage EC2, ECS and Cloudformation instances\",
      \"schema\": \"http://elasticbox.net/schemas/aws/provider\",
      \"name\": \"AWS Provider example via API\",
      \"credentials\": {
        \"key\": \"$provider_key\",
        \"secret\": \"$provider_secret\"
      },
      \"owner\": \"$owner\"
    }"
    provider=$(curl -k -s \
        -X POST \
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" \
        -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" \
        -H "Accept: application/json, text/plain, */*" \
        -H "Accept-encoding: gzip, deflate" \
        -H "Content-Type: application/json" \
        -d "$payload" https://$environment/services/providers)
    provider_id=$(echo $provider | python -c 'import json,sys; print json.load(sys.stdin)["id"]')
    if [ -z != $provider_id ]; then
        echo "Created provider $provider_id"
    else
        echo "Error creating the provider: $provider"
    fi;
    

    Criar uma caixa de política de implementação

    Uma caixa de política de implantação é onde você especifica as configurações para implantar aplicativos em um ambiente virtual específico.

    Para criar uma caixa de política de implantação, enviamos uma solicitação POST ao Objeto da caixa com a ID do provedor obtida ao registrar o provedor no id_provedor variável.

    Se houver um erro na criação da caixa de política de implantação, nós emitimos o erro. Além disso, nós entregamos a ID da caixa de política de implantação criada e a salvamos em id_política_política variável.

    Adicione as seguintes linhas ao seu script:

    payload="{
            \"owner\": \"$owner\",
            \"schema\": \"http://elasticbox.net/schemas/boxes/policy\",
            \"claims\": [
            \"linux\"
            ],
            \"lifespan\": {
            \"operation\": \"none\"
            },
            \"automatic_updates\": \"off\",
            \"provider_id\": \"$provider_id\",
            \"name\": \"Deployment Policy Box Example\",
            \"description\": \"Just one example of deployment policy box creation via API\",
            \"profile\": {
            \"schema\": \"http://elasticbox.net/schemas/aws/ec2/profile\",
            \"flavor\": \"t1.micro\",
            \"location\": \"us-east-1\",
            \"instances\": 1,
            \"image\": \"Linux Compute\",
            \"keypair\": \"None\",
            \"cloud\": \"EC2\",
            \"security_groups\": [
    
            ],
            \"subnet\": \"us-east-1a\"
            }
            }"
    policy_box=$(curl -k -s \
            -X POST \
            -H "Content-Type:application/json" \
            -H "Authorization:Bearer $json_web_token" \
            -H "elasticbox-release:4.0" \
            -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" \
            -H "Accept: application/json" \
            -H "Content-Type: application/json;charset=UTF-8" \
            -d "$payload" https://$environment/services/boxes)
    policy_box_id=$(echo $policy_box | python -c 'import json,sys; print json.load(sys.stdin)["id"]')
    if [ -z != $policy_box_id ]; then
            echo "Created Deployment Policy Box $policy_box_id"
    else
            echo "Error launching the Deployment Policy Box: $policy_box"
            exit 1
    fi;
    

    Implantar uma Instância MongoDB

    Para implantar uma instância MongoDB usando a caixa pública MongoDB existente, enviamos uma solicitação POST ao Objeto de instâncias com a ID da caixa MongoDB id_mongo_caixa variável e a ID da caixa de política obtida ao criar a caixa de política no id_política_política variável.

    Se houver um erro na implantação da instância, nós emitimos o erro. Além disso, emitimos a ID da instância implantada e a salvamos em id_instância variável.

    Adicione as seguintes linhas ao seu script:

    #Deploy the instance
    payload="{
        \"schema\": \"http://elasticbox.net/schemas/deploy-instance-request\",
        \"owner\": \"$owner\",
        \"name\": \"ScriptBoxSample\",
        \"box\": {
            \"id\": \"$mongo_box_id\",
            \"variables\": [
                {
                  \"name\": \"username\",
                  \"type\": \"Text\",
                  \"value\": \"$username\",
                  \"required\": true
                },
                {
                  \"name\": \"password\",
                  \"type\": \"Password\",
                  \"value\": \"$password\",
                  \"required\": true
                }
            ]
        },
        \"instance_tags\": [
    
        ],
        \"automatic_updates\": \"off\",
        \"policy_box\": {
            \"id\": \"$policy_box_id\",
            \"variables\": [
    
            ]
         }
    }"
    instance=$(curl -k -s \
        -X POST \
        -H "Content-Type:application/json" \
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" \
        -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" \
        -H "Accept: application/json" \
        -H "Content-Type: application/json;charset=UTF-8" \
        -d "$payload" https://$environment/services/instances)
    instance_id=$(echo $instance | python -c 'import json,sys; print json.load(sys.stdin)["id"]')
    if [ -z != $instance_id ]; then
        echo "Deployed Instance $instance_id"
    else
        echo "Error deploying the Instance: $instance_id"
        exit 1
    fi;
    

    Armazenamos a resposta e verificamos se a instância foi iniciada. Se ele não foi lançado, emitimos um erro ou dizemos que a instância está disponível e fornece sua ID.

    Enquanto a instância está sendo lançada, verificamos seu estado a cada 30 segundos com uma solicitação GET para o objeto Instâncias passando a ID da instância. Então, avaliamos se devemos esperar ou continuar: Se ainda estiver processando, dizemos e aguardamos ou saímos do estado atual da instância e avançamos para a próxima tarefa.

    COUNTER=0
    while [ $COUNTER -lt $cycles_to_wait ]; do
      instance=$(curl -k -s \
        -X GET\
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" \
        -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" \
        -H "Accept: application/json" \
        -H "Content-Type: application/json" \
        https://$environment/services/instances/${instance_id})
      instance_state=$(echo $instance | python -c 'import json,sys; print json.load(sys.stdin)["state"]')
      instance_operation=$(echo $instance | python -c 'import json,sys; print json.load(sys.stdin)["operation"]')
      if [[ "$instance_state" == "processing" ]]; then
        echo "The state of the Instance is $instance_state $instance_operation Waiting for it to be done or unavailable"
        let COUNTER=COUNTER+1
        sleep 30
      else
        echo "The state of the Instance is $instance_state $instance_operation. Process completed"
        break
      fi
    done
    

    Encerrar instância

    Para remover a instância da máquina virtual, enviamos uma solicitação DELETE para o objeto Instâncias com a ID da instância. Então verificamos seu status de resposta. Se for 200, dizemos que a instância específica é encerrada. Além disso, nós emitimos o estado de erro da resposta.

    status=$(curl -s -k \
      -X DELETE \
      -H "Accept: application/json" \
      -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" \
      -H "Content-Type:application/json" \
      -H "Authorization:Bearer $json_web_token" \
      -H "elasticbox-release:4.0" \
      -w '%{http_code}' \
      -o /dev/null \
      https://$environment/services/instances/${instance_id}?operation=terminate)
    if [[ ! $status -eq 202 ]]; then
      echo "Error terminating the instance: Error $status"
      exit 1
    else
      echo "Terminated Instance $instance_id"
    fi
    

    Enquanto aguarda a instância para terminar, fazemos uma GET no objeto Instâncias com a ID de instância para saber a operação executada na instância e seu estado atual. Se estiver processando, dizemos e aguardamos a conclusão da operação e o estado da instância.

    #Wait for the instance to be terminated
    COUNTER=0
    while [[ $COUNTER -lt 30 ]]; do
      instance=$(curl -k -s \
        -X GET \
        -H "Accept: application/json" \
        -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" \
        -H "Content-Type:application/json" \
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" \
        https://$environment/services/instances/${instance_id})
      instance_state=$(echo $instance | python -c 'import json,sys; print json.load(sys.stdin)["state"]')
      instance_operation=$(echo $instance | python -c 'import json,sys; print json.load(sys.stdin)["operation"]')
      if [[ "$instance_state" == "processing" ]]; then
        echo "The state of the instance is $instance_state $instance_operation Waiting for it to be done or unavailable"
        let COUNTER=COUNTER+1
        sleep 30
      else
        echo "The state of the Instance is $instance_state $instance_operation"
        break
      fi
    done
    

    Por último, excluímos a instância e seus registros de nuvem Gerenciador de aplicativos enviando uma solicitação de EXCLUIR com a ID de instância para o objeto Instâncias. Uma vez feito, dizemos que a instância é excluída. Da mesma forma, excluímos a caixa de política de implantação com uma solicitação DELETE para o objeto Perfis e confirmamos que ela foi feita.

    #Remove the deployment policy box
    status=$(curl -s -k \
      -X DELETE \
      -H "Accept: application/json" \
      -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" \
      -H "Content-Type:application/json" \
      -H "Authorization:Bearer $json_web_token" \
      -H "elasticbox-release:4.0" \
      -w '%{http_code}' \
      -o /dev/null \
      https://$environment/services/boxes/${policy_box_id})
    if [[ ! $status -eq 204 ]]; then
      echo "Error terminating the Deployment Policy Box: Error $status"
      exit 1
    else
      echo "Terminated Deployment Policy Box $policy_box_id"
    fi
    

    Como contatar o suporte do Cloud Application Manager

    Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

    Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

    Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

    • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
    • Windows: RDP na instância para localizar o registro em \ProgramData\ElasticBox\Logs\elasticbox-agent.log

    Fluxo de instância

    Neste artigo

    Visão geral

    Este guia mostra como usar nuvem API do Gerenciador de aplicativos de Registrar um provedor para a implantação de uma instância.

    Notas

    1. Os exemplos a seguir usam o comando CurL para enviar solicitações HTTP aos objetos API em JSON. JSON é o formato necessário para todas as solicitações e respostas de API.

    2. O comando CurL é usado com o parâmetro -k para conveniência, permitindo que ele prossiga e opere mesmo para conexões de servidor consideradas inseguras. Não use na produção.

    3. Ao executar um comando, é preciso um tempo para que os recursos estejam prontos e ligar para a próxima etapa antes que o anterior seja concluído pode levar a erro (ou seja, logo após a criação do provedor, ele iniciará a sincronização e a caixa de implantação não pode ser criada até que a primeira sincronização seja concluída).

    Agora vamos ver o script em seções para entender como você pode fazer chamadas API de qualquer código que desejar.

    Autenticar com nuvem Gerenciador de aplicativos

    Em primeiro lugar, você precisa manter a função de administrador em um espaço de trabalho para poder executar essas etapas. Você deve obter Acesso ao administrador para nuvem Gerenciador de aplicativos.
    Antes de ligar para a API, você precisa entrar no site nuvem Gerenciador de aplicativos e obter um token de autenticação. Você usará este token como um cabeçalho HTTP de autenticação para executar todas as chamadas para a API do Gerenciador de aplicativos nuvem.

    Obter Variáveis de Implantação

    Em seguida, defina as variáveis que conterão os parâmetros do script. Dessa forma, cada vez que você executar o script, pode passar diferentes argumentos de implantação. Essas variáveis declaradas são referenciadas mais tarde em seu script como valores de parâmetros de solicitação.

    Variável Descrição
    provider_key Você precisa da chave da conta do provedor e do segredo para registrar um provedor.
    provider_secret Descobre abaixo como registrar um provedor e obter seus parâmetros.
    json_web_token Este é o token de autenticação obtido antes.
    É uma sequência codificada de BASE64 longa que começa com algo como:
    eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYb25z...
    meio ambiente Defina o nome de host da organização de URL ou o IP do dispositivo, onde as chamadas de API são enviadas.
    Exemplos são: cam.ctl.io, sua-organização.cam.ctl.io, 192.168.1.10.
    owner Especifique a ID de usuário em nuvem Gerenciador de aplicativos que possui a conta do provedor.

    Comece com seu script com as seguintes linhas:

    # Deployment common variables
    provider_key=$1
    provider_secret=$2
    json_web_token=$3
    environment=$4
    owner=$5
    

    Há outras variáveis obtidas durante a execução do script e necessárias nas próximas etapas do script.

    Variável Descrição
    provider_id Obtido ao registrar um provedor.
    policy_box_id Obtida ao criar uma caixa de política de implantação.
    box_id Obtido ao criar uma caixa personalizada.
    instance_id Obtida ao implantar uma instância de caixa.

    Registre o Provedor de SoftLayer no Cloud Application Manager

    Um provedor é uma conta pública ou privada na nuvem que você registra no Cloud Application Manager.

    Para registrar um provedor, envie uma solicitação POST ao Ponto final dos provedores com os parâmetros necessários.

    Este exemplo segue as etapas para criar um provedor AWS em um appliance nuvem Application Manager. Será necessário uma chave e o par secreto.
    A criação em um serviço de organização exige um role ARN como instância de credencial de um par de chaves.
    Outros tipos de provedor exigem diferentes conjuntos de credenciais que você pode verificar no Ponto final dos provedores Doc. API

    Se houver um erro ao registrar o provedor, ele gera o erro. Além disso, ele gera a ID do provedor e o salva em id_provedor variável.

    Adicione as seguintes linhas ao script:

    # Register the provider AWS in Cloud Application Manager script
    payload="{
      \"icon\": \"images/platform/aws.png\",
      \"type\": \"Amazon Web Services\",
      \"description\": \"Manage EC2, ECS and Cloudformation instances\",
      \"schema\": \"http://elasticbox.net/schemas/aws/provider\",
      \"name\": \"AWS Provider example via API\",
      \"credentials\": {
        \"key\": \"$provider_key\",
        \"secret\": \"$provider_secret\"
      },
      \"owner\": \"$owner\"
    }"
    provider=$(curl -k -s \
        -X POST \
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" \
        -H "Accept: application/json, text/plain, */*" \
        -H "Accept-encoding: gzip, deflate" \
        -H "Content-Type: application/json" \
        -d "$payload" https://$environment/services/providers)
    provider_id=$(echo $provider | python -c 'import json,sys; print json.load(sys.stdin)["id"]')
    if [ -z != $provider_id ]; then
        echo "Created provider $provider_id"
    else
        echo "Error creating the provider: $provider"
    fi;
    

    Criar uma caixa de política de implementação

    Uma caixa de política de implantação contém as configurações para implantar aplicativos em um ambiente virtual específico. Para AWS, contém detalhes sobre a região, VPC, grupos de segurança, etc.

    Para criar uma caixa de política de implantação, envie uma solicitação POST ao Ponto final das caixas com a ID do provedor obtida ao registrar o provedor no id_provedor variável.

    Se houver um erro na criação da caixa de política de implantação, isso gera o erro. Além disso, ele gera a ID da caixa de política de implantação criada e salva-a em id_política_política variável.

    Adicione as seguintes linhas ao script:

    # Once the provider has been created, the proper policy box can be set
    payload="{
      \"owner\": \"$owner\",
      \"schema\": \"http://elasticbox.net/schemas/boxes/policy\",
      \"claims\": [
        \"linux\"
      ],
      \"lifespan\": {
        \"operation\": \"none\"
      },
      \"automatic_updates\": \"off\",
      \"provider_id\": \"$provider_id\",
      \"name\": \"Deployment Policy Box example via API\",
      \"description\": \"Just one example of deployment policy box creation via API\",
      \"profile\": {
        \"schema\": \"http://elasticbox.net/schemas/aws/ec2/profile\",
        \"flavor\": \"t1.micro\",
        \"location\": \"us-east-1\",
        \"instances\": 1,
        \"image\": \"Linux Compute\",
        \"keypair\": \"None\",
        \"cloud\": \"EC2\",
        \"security_groups\": [
    
        ],
        \"subnet\": \"us-east-1a\"
      }
    }"
    policy_box=$(curl -k -s \
        -X POST \
        -H "Content-Type:application/json" \
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" \
        -H "Accept: application/json, text/plain, */*" \
        -H "Accept-encoding: gzip, deflate" \
        -H "Content-Type: application/json;charset=UTF-8" \
        -d "$payload" https://$environment/services/boxes)
    policy_box_id=$(echo $policy_box | python -c 'import json,sys; print json.load(sys.stdin)["id"]')
    if [ -z != $policy_box_id ]; then
        echo "Created policy_box $policy_box_id"
    else
        echo "Error launching the policy_box: $policy_box"
    fi;
    

    Criar uma caixa personalizada

    Uma caixa de script define o comportamento do seu aplicativo durante a implantação, reconfiguração e terminação.

    Para criar uma caixa, envie uma solicitação POST ao Ponto final das caixas.

    Use também dois blobs já criados. Você pode dar uma olhada na Endpoint de blobs, documentação da API se você precisar saber como pode criá-los.

    Se houver um erro ao criar esta caixa, ele gera o erro. Além disso, ele gera a ID da caixa e o salva em id_caixa variável.

    Adicione as seguintes linhas ao script:

    # Create a box to deploy with that policy box. In this case use a previously uploaded scripts.
    payload="{
      \"automatic_updates\": \"off\",
      \"requirements\": [
    
      ],
      \"description\": \"create box example via API\",
      \"name\": \"ScriptBoxSample\",
      \"deleted\": null,
      \"variables\": [
        {
          \"required\": true,
          \"type\": \"Text\",
          \"name\": \"variable_name\",
          \"value\": \"variable_value\",
          \"visibility\": \"public\"
        }
      ],
      \"visibility\": \"workspace\",
      \"members\": [
    
      ],
      \"owner\": \"$owner\",
      \"organization\": \"elasticbox\",
      \"events\": {
        \"configure\": {
          \"url\": \"/services/blobs/download/5631fa7614841250525226cc/configure\",
          \"length\": 5,
          \"destination_path\": \"scripts\",
          \"content_type\": \"text/x-shellscript\"
        },
        \"install\": {
          \"url\": \"/services/blobs/download/5631fa6614841250525226ca/install\",
          \"length\": 5,
          \"destination_path\": \"scripts\",
          \"content_type\": \"text/x-shellscript\"
        }
      },
      \"schema\": \"http://elasticbox.net/schemas/boxes/script\"
    }"
    box=$(curl -k -s \
        -X POST \
        -H "Content-Type:application/json" \
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" \
        -H "Accept: application/json, text/plain, */*" \
        -H "Accept-encoding: gzip, deflate" \
        -H "Content-Type: application/json;charset=UTF-8" \
        -d "$payload" https://$environment/services/boxes) \
    box_id=$(echo $box | python -c 'import json,sys; print json.load(sys.stdin)["id"]')
    if [ -z != $box_id ]; then
        echo "Created box $box_id"
    else
        echo "Error launching the box: $box"
    fi;
    

    Implemente a instância

    Para implantar uma instância da caixa anterior, envie uma solicitação POST ao Endpoint de instâncias com a ID da caixa obtida ao criar a caixa no id_caixa variável e a ID da caixa de política obtida ao criar a caixa de política no id_política_política variável.

    Se houver um erro ao implantar a instância, ele gera o erro. Além disso, ele gera a ID de instância implantada e o salva em id_instância variável.

    Adicione as seguintes linhas ao script:

    # Finally, deploy the instance
    payload="{
        \"schema\": \"http://elasticbox.net/schemas/deploy-instance-request\",
        \"owner\": \"$owner\",
        \"name\": \"ScriptBoxSample\",
        \"box\": {
            \"id\": \"$box_id\",
            \"variables\": [
            ]
        },
        \"instance_tags\": [
    
        ],
        \"automatic_updates\": \"off\",
        \"policy_box\": {
            \"id\": \"$policy_box_id\",
            \"variables\": [
    
            ]
         }
    }"
    instance=$(curl -k -s \
        -X POST \
        -H "Content-Type:application/json" \
        -H "Authorization:Bearer $json_web_token" \
        -H "elasticbox-release:4.0" 
        -H "Accept: application/json, text/plain, */*" \
        -H "Accept-encoding: gzip, deflate" \
        -H "Content-Type: application/json;charset=UTF-8" \
        -d "$payload" https://$environment/services/instances)
    instance_id=$(echo $instance | python -c 'import json,sys; print json.load(sys.stdin)["id"]')
    if [ -z != $instance_id ]; then
        echo "Deployed instance $instance_id"
    else
        echo "Error deploying the instance: $instance_id"
    fi;
    

    Encerrar e excluir a instância

    A remoção da instância da máquina virtual deve ser feita em duas etapas: primeiro, encerre a instância e a segunda, exclua-a.

    Encerrar executa os scripts de parada e de eventos de desligamento e, em seguida, remove os recursos da nuvem, mas não remove a instância do banco de dados do Gerenciador de aplicativos nuvem. Enviar uma solicitação de EXCLUSÃO para o Endpoint de instâncias com a ID de instância obtida ao implantar a instância no id_instância variável e com um operação=encerrar Parâmetro URL.

    Em seguida, verifique seu status de resposta. Se for 200, a instância específica foi encerrada. Além disso, verifique o estado de erro da resposta.

    Você pode forçar a terminação usando operação=forçar_encerrar Parâmetro URL. Descobre detalhada Comando EXCLUIR API em Instâncias API.

    Adicione as seguintes linhas ao script:

    curl -k -s \
    -X DELETE \
    -H "Authorization:Bearer $json_web_token" \
    -H "elasticbox-release:4.0" \
    -H "Accept: application/json, text/plain, */*" \
    -H "Accept-encoding: gzip, deflate" \
     https://$environment/services/instances/$instance_id??operation=terminate
    
    echo "Undeployed box instance: $instance_id"
    

    Depois, envie um comando EXCLUIR novamente com um operação=excluir Parâmetro URL para remover definitivamente a instância de nuvem Gerenciador de aplicativos.

    Copie linhas de script anteriores novamente e substitua as duas últimas linhas com estas novas:

       https://$environment/services/instances/$instance_id??operation=delete
    
     echo "Removed box instance: $instance_id"
    

    Como contatar o suporte do Cloud Application Manager

    Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

    Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

    Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

    • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
    • Windows: RDP na instância para localizar o registro em \ProgramData\ElasticBox\Logs\elasticbox-agent.log
    Powered by Translations.com GlobalLink OneLink SoftwarePowered By OneLink