Descripción general y acceso a la API
Resumen
El gestor de aplicaciones en la nube (CAM, por sus siglas en inglés) proporciona una API para configurar y desplegar de forma programática configuraciones de casillas complejas para proveedores de nube privada y pública o su propia infraestructura.
La API del Gestor de aplicaciones en la nube es especialmente útil para estos casos:
-
Para automatizar e integrar las funciones del Gestor de aplicaciones en la nube dentro un marco de compilación e implementación más grande, como el desarrollo y la integración continua con Jenkins.
-
Para integrar las funciones del Gestor de aplicaciones en la nube con aplicaciones e interfaces externas. Por ejemplo, puede proporcionar informes detallados sobre el uso de casillas, el espacio de trabajo y el proveedor.
-
Para automatizar las acciones de implementación en aplicaciones personalizadas, en las que su aplicación puede llamar a las funciones del Gestor de aplicaciones en la nube a pedido.
Puede insertar solicitudes de API dentro de su Python, Ruby, Java, C, C++, Go y otros códigos similares existentes mediante acciones comunes de la API, como GET, POST, DELETE y PUT.
Encabezados
Todos los encabezados de solicitud deben tener tres elementos: Content-Type (tipo de contenido), Authorization (autorización) y ElasticBox-Release (versión de ElasticBox).
Content-Type (tipo de contenido)
La API de REST admite solicitudes HTTP y respuestas en formato JSON. Todos los encabezados de solicitud deben identificar el tipo de contenido JSON.
Autorización
El token basado en la cuenta de un usuario autoriza el acceso a los datos en el Gestor de aplicaciones en la nube. Normalmente, es deseable que el usuario tenga un acceso amplio a los datos del Gestor de aplicaciones en la nube como un usuario con privilegios de administrador. Las solicitudes de API desde aplicaciones externas deben realizarse con este usuario. Las respuestas de la API devuelven datos según el nivel de acceso de este usuario en el Gestor de aplicaciones en la nube.
Los tokens garantizan una forma segura de conectarse al Gestor de aplicaciones en la nube sin comprometer las credenciales mientras realiza solicitudes de API en la web. Los tokens funcionan para cualquier tipo de autenticación, ya sea nombre de usuario, contraseña, Google, GitHub o protocolo ligero de acceso a directorios (LDAP, por sus siglas en inglés). Autorizamos el acceso con token usando autenticación básica.
Siga estos pasos para obtener un token desde su cuenta del Gestor de aplicaciones en la nube.
Pasos
-
Inicie sesión en el sitio web del Gestor de aplicaciones en la nube.
-
En el menú desplegable del usuario de la derecha, haga clic en Authentication Tokens (tokens de autenticación).
-
Ingrese un nombre descriptivo para el token y haga clic en Create Token (crear token).
-
Utilice el icono del portapapeles para copiar el token y, a continuación, pegarlo en los encabezados de solicitudes de API.
Más información sobre tokens
- Puede crear y usar hasta 50 tokens.
- Los tokens nunca caducan. Para invalidar una llamada API, simplemente elimine el token utilizado.
- Al realizar llamadas API al recurso para proveedores, pueden aplicarse límites adicionales de token del proveedor. Para conocer esos límites, compruebe la documentación de su proveedor.
ElasticBox-Release (versión de ElasticBox)
Como parte de los encabezados de la solicitud, especifique la versión más reciente del Gestor de aplicaciones en la nube, que es 4.0.
Ejemplo
Los encabezados para una solicitud de muestra se ven así.
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
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
Últimos cambios
Cambios principales en esta versión
Este artículo cubre los cambios principales de la API en los puntos de enlace para casillas, instancias, espacios de trabajo y perfiles.
En este artículo:
- Novedades
- Llamadas API de muestra
- Esquema
Novedades
Punto de conexión | Agregado, modificado o eliminado |
---|---|
Instancias | Agregado
Eliminado
|
Casillas | Modificado El punto de enlace de las casillas acepta ahora cuatro tipos de casillas. Cuando llame a una casilla, utilice uno de los siguientes esquemas:
Eliminado Parámetros:
|
Lugares de trabajo | Eliminado Esta operación particular en el punto de enlace Workspaces:
|
Perfiles | Eliminado Todas las operaciones del punto de enlace de perfiles están en desuso y se sustituyen por casillas de política de implementación.
|
Organizaciones | Eliminado
|
Proveedores | Eliminado
|
Instancias
Punto de conexión
PUT /services/instances/{instance_id}/pull
Nuevo punto de enlace que actualiza una instancia activa aplicando una versión de la casilla.
Solicitud
Parámetro | Tipo | Descripción |
---|---|---|
box_id | secuencia | Required. ID de la versión de la casilla utilizada para actualizar la instancia. La versión debe estar relacionada con la casilla implementada actualmente en la instancia. |
Respuesta
Ninguno.
Casillas
Script box
- Casilla para políticas de implementación
- Casilla de CloudFormation
- Casilla de contenedor de Docker
- Script Box
Este tipo de casilla se comporta igual que las casillas antiguas.
Punto de conexión
/services/boxes
Esquema
http://elasticbox.net/schemas/boxes/script
Nuevos parámetros
Parámetro | Tipo | Descripción |
---|---|---|
automatic_updates | secuencia | Required. Especifique una opción: off (desactivadas) major (mayores), minor (menores) o patch (parche). El valor predeterminado es off (apagado). |
draft_from | guid | Opcional. ID de la versión de la casilla de la que esta casilla es un borrador. |
requisitos | array | Required. Contiene secuencias como etiquetas. Especifica las tecnologías de tiempo de ejecución que la casilla necesita para implementarse. |
Parámetros modificados
Parámetro | Tipo | Descripción |
---|---|---|
eventos | objeto | Opcional. Contiene estos eventos: pre_configure (preconfigución), configure (configuración), pre_install (preinstalación), install (instalación), pre_start (preinico), start (inicio) , stop (detención), post_stop (posdetención), dispose (eliminación), post_dispose (poseliminación). Cada uno hace referencia a un blob de la secuencia. Nota: Los eventos post_install (posinstalación), post_configure (posconfiguración) y post_start (posinicio) están en desuso. Los nuevos eventos son pre_install (preinstalación), pre_configure (preconfiguración) y pre_start (preinicio). |
versión | objeto | Opcional. Requiere estas propiedades:
|
Casilla para políticas de implementación
Este tipo de casilla sustituye a los perfiles de implementación antiguos, pero contiene la misma información de un perfil de implementación, incluidas las propiedades de la casilla.
Nota: En contraste con las casillas de secuencia, las casillas de política de implementación no incluyen estos parámetros: events (eventos), requirements (requisitos).
Punto de conexión
/services/boxes
Esquema
http://elasticbox.net/schemas/boxes/policy
Nuevos parámetros
Parámetro | Tipo | Descripción |
---|---|---|
perfil | objeto | Required. Describe todas las propiedades para implementar una instancia de una casilla. Contiene los mismos datos que el punto de enlace de perfil de implementación anterior. |
provider_id | objeto | Required. Especifica la ID del proveedor. |
draft_from | guid | Opcional. ID de la versión de la casilla de la que esta casilla es un borrador. |
reclamos | array | Required. Una matriz de secuencias; especifica los requisitos aplicados a una casilla. |
automatic_updates | secuencia | Required. Especifique una opción: off (desactivadas) major (mayores), minor (menores) o patch (parche). El valor predeterminado es off (apagado). |
CloudFormation Box
Nota: En contraste con las casillas de secuencia, las casillas de CloudFormation no incluyen el parámetro: events (eventos).
Punto de conexión
/services/boxes
Esquema
http://elasticbox.net/schemas/boxes/cloudformation
Nuevos parámetros
Parámetro | Tipo | Descripción |
---|---|---|
perfil | objeto | Describe todas las propiedades para implementar una instancia de una casilla. Contiene los mismos datos que el punto de enlace de perfil de implementación anterior. Solo acepta información de AWS. No es un requisito para las casillas de la plantilla de CloudFormation. |
automatic_updates | secuencia | Required. Especifique una opción: off (desactivadas) major (mayores), minor (menores) o patch (parche). El valor predeterminado es off (apagado). |
provider_id | objeto | Required. Especifica la ID de un proveedor de AWS. |
tipo | objeto | Required. Especifica un servicio. El valor aceptado es CloudFormation Service (servicio de CloudFormation). |
draft_from | guid | Opcional. ID de la versión de la casilla de la que esta casilla es un borrador. |
requisitos | array | Required. Contiene secuencias como etiquetas. Especifica las tecnologías de tiempo de ejecución que una casilla necesita para implementarse. |
Casilla de contenedor de Docker
Punto de conexión
/services/boxes
Esquema
http://elasticbox.net/schemas/boxes/docker
Nuevos parámetros
Parámetro | Tipo | Descripción |
---|---|---|
dockerfile | objeto | Opcional. Se refiere al esquema del blob que contiene la secuencia de Dockerfile. Esto sustituye a la variable de casilla de Dockerfile anteriormente conocida como DOCKER_FILE. |
automatic_updates | secuencia | Required. Especifique una opción: off (desactivadas) major (mayores), minor (menores) o patch (parche). El valor predeterminado es off (apagado). |
draft_from | guid | Opcional. ID de la versión de la casilla de la que esta casilla es un borrador. |
requisitos | array | Required. Contiene secuencias como etiquetas. Especifica las tecnologías de tiempo de ejecución que una casilla necesita para implementarse. |
Llamadas API de muestra
- Casillas
- Instancias
- Organizaciones
- Proveedores
- Solicitud de instancia de implementación
- Instancia
- Versión
- Casillas
GET /services/boxes
Esta solicitud devuelve casillas de todos los tipos: secuencia, política, cloudformation y docker.
Solicitud
Ninguno.
Respuesta
Devuelve una matriz de casillas (cloudformation, docker, secuencia, 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
Solicitud
Esquema de la casilla.
{
"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"
}
Respuesta
El comparador de JSON ha cambiado, ahora incluye la propiedad “box_profile_properties” (propiedades del perfil de la casilla) si se utiliza una casilla para política de implementación.
{
"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
}
Instancias
GET /services/instances
Parámetro eliminado
medio ambiente
Nuevos parámetros
Parámetro | Tipo | Descripción |
---|---|---|
automatic_updates | secuencia | Required. Especifique una opción: off (desactivadas) major (mayores), minor (menores) o patch (parche). El valor predeterminado es off (apagado). |
box | secuencia | Required. ID de la casilla (no la versión) implementada en la instancia. |
policy_box | secuencia | Opcional. Es una casilla para política de implementación o de CloudFormation. |
Solicitud
Ninguno.
Respuesta
Esquema de la matriz de la instancia.
[
{
"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ámetros eliminados
environment (entorno), profile (perfil), variables
Nuevos parámetros
Parámetro | Tipo | Descripción |
---|---|---|
automatic_updates | secuencia | Required. Especifique una opción: off (desactivadas) major (mayores), minor (menores) o patch (parche). El valor predeterminado es off (apagado). |
box | objeto | Required. Contiene dos parámetros:
|
policy_box | objeto | Required. Contiene dos parámetros:
|
instance_tags | Array | Opcional. Etiquetas personalizadas para describir una instancia. |
ipv4_address | secuencia | Opcional. Dirección IP de la máquina donde quiere ejecutar el agente del Gestor de aplicaciones en la nube para implementar una casilla. |
Solicitud
Contiene el esquema para implementar una instancia.
{
"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"
}
Respuesta
Devuelve el esquema de la instancia implementada.
{
"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'
}
Organizaciones
GET /services/organizations/{organization_name}
Parámetro eliminado
admin_boxes
Solicitud
Ninguno.
Respuesta
Devuelve el esquema de la organización.
{
"schema": "http://elasticbox.net/schemas/organization",
"name": "elasticbox",
"features": {
"cost_center": false,
"custom_pricing": false,
"onboard_checklist": false,
“provider_sharing": true,
"reporting": false
},
...
"webhooks": []
}
Proveedores
GET /services/providers
Parámetro eliminado
admin_box
Solicitud
Ninguno.
Respuesta
Devuelve una matriz del esquema del proveedor.
{
"state": "ready",
"services": [
{
"name": "Linux Compute"
}
],
"type": "Test Provider",
...
"name": "report-c04cbc85dc"
}
Esquema
- Organización
- Proveedor
- Script Box
- Casilla para política
- Casilla de contenedor
- CloudFormation Box
Organización
{
"$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"
}
}
}
}
}
]
}
Proveedor
Este esquema utiliza un ejemplo de 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"
}
}
}
}
]
}
Casilla para política
{
"$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"
]
}
}
}
]
}
Casilla de contenedor
{
"$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"
}
}
}
]
}
CloudFormation Box
{
"$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"
}
}
}
]
}
Solicitud de instancia de implementación
{
"$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"
]
}
}
}
Instancia
{
"$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
}
}
}
}
}
}
}
}
Versión
{
"$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
}
}
}
}
}
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
API para proveedores
Gestione y realice acciones en proveedores.
Gestionar proveedores
Recursos | Descripción |
---|---|
POST /services/providers | Crea una nueva cuenta de proveedor en el Gestor de aplicaciones en la nube y obtiene el estado del proveedor. |
GET /services/providers | Obtiene la lista de proveedores. |
GET /services/providers/{provider_id} | Recupera un proveedor existente. |
PUT /services/providers/{provider_id} | Actualiza un proveedor existente. |
DELETE /services/providers/{provider_id} | Elimina un proveedor existente. |
Operaciones del proveedor
Recursos | Descripción |
---|---|
PUT /services/providers/{provider_id}/sync | Sincroniza un proveedor existente. |
GET /services/providers/{provider_id}/logs | Obtiene los registros de un proveedor. |
GET /services/providers/{provider_id}/unregisted-instances | Obtiene las instancias no registradas de un proveedor. |
POST /services/providers/{provider_id}/images | Agrega una nueva imagen de máquina a un proveedor. |
DELETE /services/providers/{provider_id}/images/{machine_image_id} | Elimina una imagen de máquina existente de un proveedor. |
POST /services/providers
Crea una nueva cuenta de proveedor en el Gestor de aplicaciones en la nube y obtiene el estado del proveedor.
URL
Estructura
[POST] /services/providers
Ejemplo
POST https://cam.ctl.io/services/providers
Solicitud
Encabezados
content-type:application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Solicitar parámetros para todos los proveedores
Parámetro | Tipo | Descripción |
---|---|---|
icon | secuencia | Especifica un URI de ícono para la cuenta del proveedor. |
tipo | secuencia | Required. Especifica el tipo de cuenta como uno de los siguientes: Amazon Web Services, Amazon Web Services 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. |
descripción | secuencia | Describe los servicios del proveedor. |
esquema | secuencia | Required. Proporciona el esquema para la solicitud. |
nombre | secuencia | Required. Proporciona a la cuenta del proveedor un nombre en el Gestor de aplicaciones en la nube. |
owner | secuencia | Especifica la ID del espacio de trabajo en el Gestor de aplicaciones en la nube propietario de la cuenta del proveedor. |
Parámetros de solicitud de Amazon Web Services
Parámetro | Tipo | Descripción |
---|---|---|
credentials | objeto | Required. Contiene el objeto Credential (credencial), que es el nombre ARN del rol de AWS, si se utiliza el Gestor de aplicaciones en la nube como un software como servicio, o la clave y el secreto, si se utiliza como un dispositivo. |
Cuerpo de la solicitud de Amazon Web Services
{
"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"
}
Parámetros de la solicitud de Amazon Web Services Gov
Parámetro | Tipo | Descripción |
---|---|---|
credentials | objeto | Obligatorio (clave secreta o rol). Contiene el objeto Credential (credencial), que es el nombre ARN del rol de AWS, si se utiliza el Gestor de aplicaciones en la nube como un software como servicio, o la clave y el secreto, si se utiliza como un dispositivo. |
Cuerpo de la solicitud de Amazon Web Services 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 la solicitud de Rackspace y OpenStack
Parámetro | Tipo | Descripción |
---|---|---|
identity_url | secuencia | Required. Especifica el punto de enlace del servicio de identidad. |
project | secuencia | Required. Especifica la ID del proyecto para Rackspace o el inquilino para OpenStack. |
nombre de usuario | secuencia | Required. Especifica el nombre de usuario. |
contraseña | secuencia | Required. Especifica la contraseña. |
Cuerpo de la solicitud de 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"
}
Cuerpo de la solicitud de 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 la solicitud de VMware vSphere
Parámetro | Tipo | Descripción |
---|---|---|
nombre de usuario | secuencia | Required. Especifica un nombre de usuario de vCenter. |
secreto | secuencia | Required. Especifica la contraseña del usuario. |
punto de conexión | secuencia | Required. Especifica el URL del servidor de vCenter. |
Cuerpo de la solicitud de 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 la solicitud de VMware vCloud Director
Parámetro | Tipo | Descripción |
---|---|---|
nombre de usuario | secuencia | Required. Especifica un nombre de usuario de vCenter. |
contraseña | secuencia | Required. Especifica la contraseña del usuario. |
url | secuencia | Required. Especifica el URL del servidor de vCenter. |
organización | secuencia | Required. Organización. |
Cuerpo de la solicitud de 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"
}
Parámetros de la solicitud de Google Cloud
Parámetro | Tipo | Descripción |
---|---|---|
project_id | secuencia | Required. Especifica una ID de proyecto en Google Cloud que tiene la facturación y la API Compute Engine de Google habilitadas. |
secuencia | Required. Especifica su cuenta de Gmail asociada con Google Cloud. | |
credentials | objeto | Required. Especifica el objeto refresh_token (token de actualización) o la clave. Puede obtener el token de actualización de Google OAuth 2.0 para permitir que el Gestor de aplicaciones en la nube realice solicitudes de API en su nombre. O puede proporcionar la clave JSON para la cuenta de servicio del proyecto. |
Cuerpo de la solicitud de Google Cloud
{
"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 la solicitud de Microsoft Azure Classic
Para agregar una suscripción de Azure en el Gestor de aplicaciones en la nube, primero tendrá que cargar el certificado de gestión del Gestor de aplicaciones en la nube a su suscripción de Azure Classic.
Parámetro | Tipo | Descripción |
---|---|---|
subscription_id | secuencia | Required. Especifica la ID de suscripción de Azure. |
Cuerpo de la solicitud de 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 la solicitud de Microsoft Azure
Para agregar una suscripción de Azure en el Gestor de aplicaciones en la nube, primero tendrá que cargar el certificado de gestión del Gestor de aplicaciones en la nube a su suscripción de Azure.
Parámetro | Tipo | Descripción |
---|---|---|
subscription_id | secuencia | Required. Especifica la ID de suscripción de Azure. |
client_id | secuencia | Solo es un requisito para usuarios normales. Los revendedores no requieren este campo. |
secreto | secuencia | La clave secreta que proporcionará Azure al usuario. |
tenant | secuencia | La instancia de inquilino especificada en el panel de Azure. |
Cuerpo de la solicitud de 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 la solicitud de CloudStack
Parámetro | Tipo | Descripción |
---|---|---|
url | secuencia | Required. Especifica el punto de enlace de la API al servidor de administración de CloudStack. |
api_key | secuencia | Required. Especifica la clave de la API para la cuenta de usuario de CloudStack. |
secret_key | secuencia | Required. Especifica el secreto de API para la cuenta de usuario de CloudStack. |
Cuerpo de la solicitud de 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 la solicitud de SoftLayer
Parámetro | Tipo | Descripción |
---|---|---|
nombre de usuario | secuencia | Required. Especifica un nombre de usuario de la cuenta de SoftLayer. |
api_key | secuencia | Required. Especifica la clave de la API para el usuario de SoftLayer. |
Cuerpo de la solicitud de 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"
}
Respuesta
Código normal
- 202 aceptado
Códigos de error
- Sin códigos de error
Parámetros de respuesta para todos los proveedores
Parámetro | Tipo | Descripción |
---|---|---|
updated | secuencia | Devuelve la fecha en la que se actualizó el proveedor. |
descripción | secuencia | Devuelve la descripción del proveedor. |
deleted | objeto | Identifica si se eliminó al proveedor. |
servicios | array | Devuelve los servicios disponibles del proveedor. |
members | array | Devuelve a los usuarios con los que se comparte el proveedor. |
owner | secuencia | Devuelve el propietario de la cuenta del proveedor en el Gestor de aplicaciones en la nube. |
id | secuencia | Devuelve la ID de la cuenta del proveedor en el Gestor de aplicaciones en la nube. |
icon | secuencia | Devuelve el ícono utilizado para la cuenta del proveedor. |
nombre | secuencia | Devuelve el nombre usado para identificar la cuenta del proveedor en el Gestor de aplicaciones en la nube. |
created | secuencia | Devuelve la fecha en la que se agregó el proveedor. |
uri | secuencia | Devuelve la ruta del identificador único de recursos a la cuenta del proveedor. |
admin_boxes | secuencia | Enumera las casillas de administración adjuntas al proveedor. |
organización | secuencia | Identifica el nombre de la organización. |
tipo | secuencia | Identifica al proveedor como uno de los siguientes: Amazon Web Services, Rackspace, Openstack, VMware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer. |
esquema | secuencia | Devuelve el URL del esquema. |
Parámetros de la respuesta de AWS
Parámetro | Tipo | Descripción |
---|---|---|
credentials | objeto | Devuelve el ARN del rol de Amazon Web Services, si se utiliza el Gestor de aplicaciones en la nube como un software como servicio, o identifica la clave y el secreto, si se utiliza como un dispositivo. |
Cuerpo de respuesta de 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 la respuesta de Rackspace y OpenStack
Parámetro | Tipo | Descripción |
---|---|---|
nombre de usuario | secuencia | Devuelve el nombre de usuario. |
contraseña | secuencia | Enmascara la contraseña de la cuenta del proveedor. |
project | secuencia | Devuelve la ID de proyecto de Rackspace o el inquilino de OpenStack. |
identity_url | secuencia | Devuelve el punto de enlace de servicio de identidad de OpenStack. |
Ejemplo de la respuesta 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"
}
Ejemplo de la respuesta de 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 la respuesta de vSphere
Parámetro | Tipo | Descripción |
---|---|---|
nombre de usuario | secuencia | Devuelve el nombre de usuario de vCenter. |
secreto | secuencia | Enmascara la contraseña del usuario. |
punto de conexión | secuencia | Devuelve el URL del servidor de vCenter. |
Ejemplo de la respuesta de 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"
}
Parámetros de la respuesta de Google Cloud
Parámetro | Tipo | Descripción |
---|---|---|
project_id | secuencia | Devuelve la ID de proyecto de Google Cloud que utiliza la cuenta de proveedor. |
secuencia | Devuelve la cuenta de Gmail asociada con Google Cloud para la cuenta del proveedor. | |
credentials | objeto | Devuelve los objetos access_token (token de acceso) y refresh_token (token de actualización) o la clave. Devuelve una clave si se proporcionó una clave JSON para la cuenta de servicio del proyecto. |
Ejemplo de la respuesta de Google Cloud
{
"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 respuesta de Microsoft Azure Classic
Parámetro | Tipo | Descripción |
---|---|---|
subscription_id | secuencia | Devuelve la ID de suscripción de Azure que utiliza la cuenta del proveedor. |
Ejemplo de la respuesta de Microsoft Azure Classic
{
"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"
}
Ejemplo de la respuesta de 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 la respuesta de CloudStack
Parámetro | Tipo | Descripción |
---|---|---|
url | secuencia | Devuelve el punto de enlace de la API al servidor de administración de CloudStack. |
api_key | secuencia | Devuelve la clave API para la cuenta de usuario de CloudStack. |
secret_key | secuencia | Devuelve el secreto de API para la cuenta de usuario de CloudStack. |
Ejemplo de la respuesta de 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 la respuesta de SoftLayer
Parámetro | Tipo | Descripción |
---|---|---|
nombre de usuario | secuencia | Devuelve el nombre de usuario de SoftLayer que utiliza la cuenta del proveedor. |
api_key | secuencia | Devuelve la clave API para el usuario de SoftLayer. |
Ejemplo de la respuesta de 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
Obtiene proveedores disponibles del espacio de trabajo personal del usuario autenticado.
URL
Estructura
[GET] /services/providers
Ejemplo
GET https://cam.ctl.io/services/providers
Solicitud
Encabezados
content-type:application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
-------- | ------- | --------------- | ----- |
Respuesta
Código normal
- 200 aceptado
Códigos de error
- 400: Solicitud incorrecta
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
updated | secuencia | Fecha de la última actualización. |
descripción | secuencia | Descripción del proveedor. |
created | secuencia | Fecha de creación. |
uri | secuencia | URI del proveedor. |
nombre | secuencia | Nombre de proveedor. |
servicios | array | Lista de servicios asociados al proveedor; cada servicio tiene un nombre. |
state | secuencia | Estado del proveedor; hay cinco estados posibles: initializing (iniciándose), processing (en proceso), ready (listo), deleting (borrándose) o unavailable (no disponible). |
members | array | Lista de miembros con acceso al proveedor. |
owner | secuencia | Propietario del proveedor. |
tipo | secuencia | Tipo de proveedor; uno de los proveedores disponibles: Amazon Web Services (AWS), VShpere, VCloud, RackSpace, Openstack, Google Compute, Azure, CloudStack, SoftLayer, AWS Gov. |
id | secuencia | Identificador único del proveedor. |
icon | secuencia | URI del ícono del proveedor. |
esquema | secuencia | El esquema de URI del proveedor adecuado. |
Cuerpo de respuesta
[
{
"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}
Recupera un proveedor existente cuando se proporciona la ID del proveedor.
URL
Estructura
[GET] /services/providers/{provider_id}
Ejemplo
GET https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e
Solicitud
Encabezados
content-type:application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
provider_id | secuencia | La ID del proveedor. | Sí |
Respuesta
Código normal
- 202 Aceptado
Códigos de error
- 403: Prohibido
- 404: No se encontró
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
updated | secuencia | Fecha de la última actualización. |
descripción | secuencia | Descripción del proveedor. |
created | secuencia | Fecha de creación. |
uri | secuencia | URI del proveedor. |
nombre | secuencia | Nombre de proveedor. |
servicios | array | Lista de servicios asociados al proveedor; cada servicio tiene un nombre. |
state | secuencia | Estado del proveedor; hay cinco estados posibles: initializing (iniciándose), processing (en proceso), ready (listo), deleting (borrándose) o unavailable (no disponible). |
members | array | Lista de miembros con acceso al proveedor. |
owner | secuencia | Propietario del proveedor. |
tipo | secuencia | Tipo de proveedor; uno de los proveedores disponibles: Amazon Web Services (AWS), VShpere, VCloud, RackSpace, Openstack, Google Compute, Azure, CloudStack, SoftLayer, AWS Gov. |
id | secuencia | Identificador único del proveedor. |
esquema | secuencia | El esquema de URI del tipo de proveedor. |
icon | secuencia | URI del ícono del proveedor. |
Cuerpo de respuesta
{
"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}
Actualiza un proveedor existente cuando se proporciona la ID del proveedor. Transfiere el objeto Provider (proveedor) en el cuerpo de la solicitud para actualizar estos campos: name (nombre), description (descripción) y members (miembros).
Para AWS, también puede actualizar la clave y el secreto. Para VMware vShpere y SoftLayer, también puede actualizar el nombre de usuario, el secreto y el punto de enlace.
URL
Estructura
[PUT] /services/providers/{provider_id}
Ejemplo
PUT https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
provider_id | secuencia | La ID única del proveedor creado. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptado
Códigos de respuesta de error comunes
- 400: Solicitud incorrecta - Datos no válidos
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
- 409: Conflicto
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
updated | secuencia | Fecha de la última actualización. |
descripción | secuencia | Descripción del proveedor. |
created | secuencia | Fecha de creación. |
uri | secuencia | URI del proveedor. |
nombre | secuencia | Nombre de proveedor. |
servicios | array | Lista de servicios asociados al proveedor; cada servicio tiene un nombre. |
state | secuencia | Estado del proveedor; hay cinco estados posibles: initializing (iniciándose), processing (en proceso), ready (listo), deleting (borrándose) o unavailable (no disponible). |
members | array | Lista de miembros con acceso al proveedor. |
owner | secuencia | Propietario del proveedor. |
tipo | secuencia | Tipo de proveedor; hay dos proveedores posibles: Amazon Web Services o VMware vShpere. |
id | secuencia | Identificador único del proveedor. |
icon | secuencia | URI del ícono del proveedor. |
Cuerpo de respuesta
{
"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}
Elimina un proveedor existente cuando se proporciona la ID del proveedor.
URL
Estructura
[DELETE] /services/providers/{provider_id}
Ejemplo
DELETE https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|
| provider_id | secuencia | La ID única que se proporciona a cada proveedor. | Sí |
Respuesta
Códigos de respuesta normales
- 202 Aceptado
Códigos de respuesta de error comunes
- 400: Solicitud incorrecta - Datos no válidos
- 400: Solicitud incorrecta - Servicio activo usando el proveedor
- 403: Prohibido
- 404: No se encontró
PUT /services/providers/{provider_id}/sync
Sincroniza un proveedor existente cuando se proporciona la ID del proveedor.
URL
Estructura
[PUT] /services/providers/{provider_id}/sync
Ejemplo
PUT https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/sync
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|
| provider_id | secuencia | La ID única que se proporciona a cada proveedor. | Sí |
Respuesta
Códigos de respuesta normales
- 202 Aceptado
Códigos de respuesta de error comunes
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
GET /services/providers/{provider_id}/logs
Recupera los registros de un proveedor cuando se proporciona la ID del proveedor.
URL
Estructura
[GET] /services/providers/{provider_id}/logs
Ejemplo
GET https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/logs
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|
| provider_id | secuencia | La ID única que se proporciona a cada proveedor. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptado
Códigos de respuesta de error comunes
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
workspace | secuencia | ID del espacio de trabajo que realiza la acción. |
provider_id | secuencia | Identificador único del proveedor. |
created | secuencia | Fecha de creación. |
texto | secuencia | Descripción de la acción de registro de proveedor. |
level | integer | Nivel de la acción de registro de proveedor. |
updated | array | Fecha de la actualización. |
id | secuencia | Identificador único del proveedor. |
esquema | secuencia | URL del esquema del registro de proveedor. |
Cuerpo de respuesta
[
{
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 una lista de instancias no registradas que se encuentran en un proveedor cuando se proporciona la ID del proveedor.
URL
Estructura
[GET] /services/providers/{provider_id}/unregisted-instances
Ejemplo
GET https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/unregisted-instances
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
provider_id | secuencia | La ID única que se proporciona a cada proveedor. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptado
Códigos de respuesta de error comunes
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
perfil | objeto | Perfil de la instancia (el objeto de perfil depende del proveedor; tiene un subobjeto diferente) |
provider_id | secuencia | Identificador único del proveedor de la instancia. |
nombre | secuencia | Nombre de instancia. |
created | secuencia | Fecha de creación. |
deleted | secuencia | Fecha de eliminación lógica. |
tipo | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
server_info | objeto | IP pública y privada y DNS público de la instancia. |
updated | array | Fecha de la actualización. |
power_state | secuencia | Puede ser running (ejecutándose) o stopped (detenido). |
organización | secuencia | Organización a la que pertenece la instancia. |
external_id | secuencia | ID externa de la instancia. |
id | secuencia | Identificador único de la instancia. |
esquema | secuencia | URL del esquema de la instancia sin registrar. |
Cuerpo de respuesta
[
{
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
Agrega una nueva imagen de máquina a un proveedor cuando se proporciona la ID del proveedor. Solo compatible con AWS y Azure.
URL
Estructura
[POST] /services/providers/{provider_id}/images
Ejemplo
POST https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/images
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
provider_id | secuencia | La ID única que se proporciona a cada proveedor. | Sí |
Parámetros del cuerpo de la solicitud
Parámetro | Tipo | Descripción |
---|---|---|
ubicación | secuencia | Región de la imagen. |
nombre | secuencia | Nombre de la imagen. |
descripción | secuencia | Descripción de la imagen. |
Cuerpo de la solicitud
{
"location":"us-east-1",
"name":"ami-3275ee5b",
"description":"New Image Description"
}
Respuesta
Códigos de respuesta normales
- 202 Aceptado
Códigos de respuesta de error comunes
- 400: Solicitud incorrecta: solicitud ausente, incompleta o con propiedades no válidas (detalles proporcionados dentro del cuerpo)
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
DELETE /services/providers/{provider_id}/images/{machine_image_id}
Elimina una imagen de máquina existente cuando se proporciona la ID del proveedor y la ID de la imagen de máquina.
URL
Estructura
[DELETE] /services/providers/{provider_id}/images/{machine_image_id}
Ejemplo
DELETE https://cam.ctl.io/services/providers/338f38dc-e667-47e0-9026-b253138f109e/images/b253138f109e?location=us-east-1
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
provider_id | secuencia | La ID única que se proporciona a cada proveedor. | Sí |
Parámetros del cuerpo de la solicitud
Parámetro | Tipo | Descripción |
---|---|---|
ubicación | secuencia | Región de la imagen de máquina que se va a eliminar. |
Respuesta
Códigos de respuesta normales
- 202 Aceptado
Códigos de respuesta de error comunes
- 400: Solicitud incorrecta: solicitud ausente, incompleta o con propiedades no válidas (detalles proporcionados dentro del cuerpo)
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
GET /services/providers/{provider_id}/search/images"
Elimina una imagen de máquina existente cuando se proporciona la ID del proveedor y la ID de la imagen de máquina.
URL
Estructura
[GET] GET /services/providers/{provider_id}/search/images
Ejemplo
GET https://cam.ctl.io/services/providers/de5524a3-94f4-406b-a878-c9600bf3ed1a/search/images?publisher=4psa&offer=voipnow
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
provider_id | secuencia | La ID única que se proporciona a cada proveedor. | Sí |
publicador | secuencia | El número único del publicador | No |
oferta | secuencia | El número de la oferta | No |
Respuesta
Si ningún publicador está en la cadena de consulta
{
"publishers": [
"128technology",
"1e",
"4psa",
"5nine-software-inc",
"7isolutions",
"a10networks",
"a10_networks-5255398",
...
}
si el editor tiene ofertas
{
offers: [
"voipnow"
]
}
Códigos de respuesta normales
- 202 Aceptado
Códigos de respuesta de error comunes
- 400: Solicitud incorrecta - Operación no admitida para XXXXXXXXXXX
- 500: Error interno del servidor - Error crítico al procesar la solicitud XXXXXXXXXXX
- 404: No encontrado - No se puede encontrar el proveedor con la ID XXXXXXXXXXX
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
API para centros de costos
Gestione centros de costos
Recursos | Descripción |
---|---|
POST /services/costcenters | Crear un centro de costos. |
GET /services/costcenters/{costcenter_id} | Recupera un centro de costos existente. |
PUT /services/costcenters/{costcenter_id} | Actualiza un centro de costos existente. |
DELETE /services/costcenters/{costcenter_id} | Elimina un centro de costos existente. |
POST /services/costcenters
Crea un nuevo centro de costos y obtiene el centro de costos creado.
URL
Estructura
[POST] /services/costcenters
Ejemplo
[POST] https://cam.ctl.io/services/costcenters
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Parámetros del cuerpo de la solicitud
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
nombre | secuencia | Nombre del centro de costos. | Sí |
organización | secuencia | Nombre de la organización con acceso al centro de costos. | Sí |
esquema | secuencia | Esquema del centro de costos. Siempre “http://elasticbox.net/schemas/costcenter” | Sí |
members | array | Lista de las ID de los miembros del centro de costos como administradores. | No |
Parámetros de lista de miembros
Un elemento de la lista members
(miembros) requiere 3 parámetros:
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
id | secuencia | Puede ser una ID de espacio de trabajo o un DN de grupo de LDAP. | Sí |
rol | secuencia | Siempre es administrator (administrador). | No |
tipo | secuencia | Puede ser workspace (espacio de trabajo) (predeterminado) o LDAP. | No |
{
"name": "Cost Center example",
"organization": "camdemo",
"schema": "http://elasticbox.net/schemas/costcenter",
"members":[{"id":"camdemo"}]
}
Respuesta
Códigos de respuesta normales
- 201 Creado
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
Encabezados
Content-Type: application/json
Content-Length: 489
Date: Thu, 27 Dec 2018 09:57:34 GMT
Elasticbox-Release: 4.0.0
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
clc_alias | secuencia | Alias de la cuenta del centro de costos en la organización. |
created | secuencia | Fecha de creación. Ejemplo: “2015-07-02 10:23:47.748740” |
deleted | objeto | Identifica si se elimina el centro de costos; null (nulo) para objetos existentes. |
id | secuencia | Identificador único del centro de costos. |
members | array | Lista de miembros de un centro de costos. Ver parámetros de los miembros |
nombre | secuencia | Nombre del centro de costos |
organización | secuencia | Organización a la que pertenece el centro de costos. |
esquema | secuencia | URI del esquema. http://elasticbox.net/schemas/costcenter. |
updated | secuencia | Fecha de la última actualización. Ejemplo: “2018-10-30 16:03:14.409029” |
uri | secuencia | URI del centro de costos. |
Cuerpo de respuesta
{
"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
Recupera un centro de costos existente.
URL
Estructura
[GET] /services/costcenters/{costcenter_id}
Ejemplo
[GET] https://cam.ctl.io/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
costcenter_id | secuencia | ID del centro de costos. | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
clc_alias | secuencia | Alias de la cuenta del centro de costos en la organización. |
created | secuencia | Fecha de creación. Ejemplo: “2015-07-02 10:23:47.748740” |
deleted | objeto | Identifica si se elimina el centro de costos. |
id | secuencia | Identificador único del centro de costos. |
members | array | Lista de miembros de un centro de costos. Ver parámetros de los miembros |
nombre | secuencia | Nombre del centro de costos |
organización | secuencia | Organización a la que pertenece el centro de costos. |
esquema | secuencia | URI del esquema. http://elasticbox.net/schemas/costcenter. |
updated | secuencia | Fecha de la última actualización. Ejemplo: “2018-10-30 16:03:14.409029” |
uri | secuencia | URI del centro de costos. |
Cuerpo de respuesta
{
"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
Actualiza uno o varios valores en un centro de costos existente.
Nota:
Tenga cuidado con este comando porque puede agregar o eliminar algunos valores, dependiendo de si están incluidos o no como parámetro de la solicitud. Recomendamos obtener primero estos datos con el comando GET y luego hacer cambios sobre ellos.
Preste atención a valores como members (miembros), que se agregarán o eliminarán si existen o no en el parámetro de la solicitud.
URL
Estructura
[PUT] /services/costcenters/{costcenter_id}
Ejemplo
[PUT] https://cam.ctl.io/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
costcenter_id | secuencia | ID del centro de costos. | Sí |
Parámetros del cuerpo de la solicitud
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
id | secuencia | Identificador único del centro de costos. | Sí |
members | array | Lista de miembros del centro de costos. Ver parámetros de los miembros | Sí |
nombre | secuencia | Nombre del centro de costos. | Sí |
organización | secuencia | Organización a la que pertenece el centro de costos. | Sí |
esquema | secuencia | URI del esquema. http://elasticbox.net/schemas/costcenter. | Sí |
icon_metadata | secuencia | Icono utilizado para la cuenta del centro de costos. | No |
Nota:
Tenga cuidado con este comando porque algunos valores como members (miembros) se agregarán o eliminarán si existen o no en el parámetro de la solicitud. Para que no se elimine un miembro existente, solo tiene que proporcionar su ID de miembro.
{
"id":"1072ca63-d84d-42f2-87a5-f09c72338eb1",
"name":"Cost Center example",
"organization":"camdemo",
"schema":"http://elasticbox.net/schemas/costcenter",
"members":[{"id":"camdemo"}]
}
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
- 404 No encontrado
Encabezados
Content-Type: application/json
Content-Length: 489
Date: Thu, 27 Dec 2018 09:57:34 GMT
Elasticbox-Release: 4.0.0
Parámetros de la respuesta
- Ninguno
Cuerpo de respuesta
- Vea la respuesta en el comando GET.
DELETE /services/costcenters
Elimina un centro de costos existente del usuario autenticado.
URL
Estructura
[DELETE] /services/costcenters/{costcenter_id}
Ejemplo
[DELETE] https://cam.ctl.io/services/costcenters/1072ca63-d84d-42f2-87a5-f09c72338eb1
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
costcenter_id | secuencia | ID del centro de costos. | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 204 Aceptar - Sin contenido
Códigos de respuesta de error comunes
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
- Ninguno
Cuerpo de respuesta
- Ninguno
API para organizaciones
Gestione una organización
Recursos | Descripción |
---|---|
GET /services/organizations/{organization_name} | Obtiene el documento de la organización. |
GET /services/organizations/{organization_name}/boxes | Obtiene las casillas de la organización proporcionada. |
GET /services/organizations/{organization_name}/instances | Obtiene las instancias de la organización proporcionada. |
GET /services/organizations/{organization_name}/providers | Get the providers of the given organization. |
GET /services/organizations/{organization_name}/workspaces | Obtiene los espacios de trabajo de la organización proporcionada. |
PUT /services/organizations/{organization_name} | Actualiza una organización existente. |
PUT /organizations/{organization_name}/sync_groups | Pone una solicitud en cola para sincronizar grupos de LDAP. |
GET /services/organizations/{organization_name}
Obtiene el esquema de una organización proporcionada.
URL
Estructura
[GET] /services/organizations/{organization_name}
Ejemplo
GET https://cam.ctl.io/services/organizations/customer_org
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
organization_name | secuencia | El nombre de la organización. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 401: No autorizado - Cookie o token de acceso no válido
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No encontrado - No se ha encontrado ninguna organización con el nombre proporcionado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
esquema | secuencia | URI del esquema de la organización: //elasticbox.net/schemas/organization |
nombre | secuencia | Nombre de la organización |
icon | secuencia | URI del ícono de la organización |
updated | secuencia | Fecha de la última actualización |
created | secuencia | Fecha de creación |
setup | boolean | Esto es de solo lectura. Indica que el dispositivo del Gestor de aplicaciones en la nube está configurado y listo para su uso. |
administrators | array | Lista de usuarios que pueden administrar la organización. |
domains | secuencia | Dominios que forman parte de la organización. |
autenticación | objeto | Lista de métodos de autenticación para permitir el inicio de sesión único en la organización. Contiene las siguientes propiedades:
|
ldap_last_sync_completed | secuencia | Marca de tiempo de la última sincronización exitosa de grupo de LDAP, por ejemplo, 2015-04-06 14:28:12.874910. El valor es nulo si ldap_group_sync está configurado como falso. |
ldap_groups | array | Lista de objetos, cada uno de los cuales es un grupo de LDAP. Cada grupo tiene dos propiedades: |
proveedores | array | Lista de proveedores de nube que la organización puede permitir para registrar e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas: |
etiquetas | array | Lista de etiquetas aplicada en las instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades: |
webhooks | array | Lista de webhooks que se integran con la organización. |
Cuerpo de respuesta
{
"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
Obtenga las casillas en la organización proporcionada.
URL
Estructura
[GET] /services/organizations/{organization_name}/boxes
Ejemplo
GET https://cam.ctl.io/services/organizations/centurylink/boxes
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
organization_name | Secuencia | El nombre de la organización. | Sí |
Respuesta
Código normal
- 200 Aceptar
Códigos de error
- 401: No autorizado - Cookie o token de acceso no válido
- 403: Prohibido - El usuario no pertenece a la organización
- 404 - No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
esquema | secuencia | URI del esquema de la casilla: //elasticbox.net/schemas/boxes |
nombre | secuencia | Nombre de la casilla de la organización. |
id | secuencia | Número de identificación de la casilla de la organización. |
auto_update | boolean | Actualiza automáticamente la casilla si se actualiza cualquier requisito relacionado. |
updated | secuencia | Fecha de la última actualización. |
created | secuencia | Fecha de creación. |
deleted | secuencia | Fecha de eliminación. |
perfil | array | Muestra la información de perfil de la casilla. |
members | array | Lista de usuarios que pueden acceder a esta casilla. |
organización | secuencia | Muestra el nombre de la organización. |
provider_id | secuencia | Dice a qué proveedor pertenece esta casilla. |
uri | secuencia | Un URL del servicio de API que permite recuperar los datos de esta casilla directamente mediante una solicitud GET. |
readme | array | Lista de la información sobre la documentación de este servicio de API. |
owner | secuencia | Muestra el propietario de esta casilla. |
visibilidad | strings | Indica la visibilidad de la casilla: para el público, el espacio de trabajo o la organización únicamente. |
variables | array | Una lista de las variables definidas en la casilla. |
reclamos | array | Una lista de los reclamos definidos en la casilla. |
Cuerpo de respuesta
{
"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
Obtenga el esquema de instancias en la organización proporcionada.
URL
Estructura
[GET] /services/organizations/{organization_name}/instances
Ejemplo
GET https://cam.ctl.io/services/organizations/customer_org/instances
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
organization_name | Secuencia | El nombre de la organización. | Sí |
Respuesta
Código normal
- 200 Aceptar
Códigos de error
- 401: No autorizado - Cookie o token de acceso no válido
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
esquema | secuencia | URI del esquema de la organización: //elasticbox.net/schemas/instance |
nombre | secuencia | Nombre de instancia |
id | secuencia | Identificador de la instancia. |
updated | secuencia | Fecha de la última actualización |
created | secuencia | Fecha de creación |
auto_update | boolean | Actualiza automáticamente la casilla si se actualiza cualquier requisito relacionado. |
box | secuencia | Identificador de la última casilla implementada. |
casillas | array | Una lista de las casillas definidas en el ciclo de vida de la instancia. |
bindings | array | Lista de enlaces especificados de la instancia. |
uri | secuencia | Un URL del servicio de API que permite recuperar los datos de esta casilla directamente mediante una solicitud GET. |
owner | secuencia | Muestra el propietario de esta casilla. |
state | secuencia | El último estado de la instancia. |
members | array | Lista de usuarios que pueden acceder a esta casilla. |
servicio | objeto | Un objeto que contiene información sobre el servicio de la instancia. |
policy_box | objeto | Un objeto que incluye la política de la casilla definida para la instancia. |
Cuerpo de respuesta
{
"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
Obtenga el esquema de proveedores en la organización proporcionada.
URL
Estructura
[GET] /services/organizations/{organization_name}/providers
Ejemplo
GET https://cam.ctl.io/services/organizations/centurylink/providers
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
organization_name | Secuencia | El nombre de la organización. | Sí |
Respuesta
Código normal
- 200 Aceptar
Códigos de error
- 401: No autorizado - Cookie o token de acceso no válido
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
esquema | secuencia | URI del esquema del proveedor: //elasticbox.net/schemas/providers |
nombre | secuencia | Define el nombre del proveedor. |
icon | secuencia | URI del ícono del proveedor. |
updated | secuencia | Fecha de la última actualización |
created | secuencia | Fecha de creación |
descripción | secuencia | Breve descripción del proveedor. |
uri | secuencia | Un URL del servicio de API que permite recuperar los datos de esta casilla directamente mediante una solicitud GET. |
state | secuencia | Muestra el último estado del proveedor. |
members | array | Lista de usuarios que pueden acceder a esta casilla. |
tipo | secuencia | Indica el tipo de proveedor. |
id | secuencia | Contiene la ID del proveedor. |
proveedores | array | Lista de proveedores de nube que la organización puede permitir para registrar e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas: |
owner | secuencia | Muestra el propietario de esta casilla. |
servicio | objeto | Un objeto que contiene información sobre el servicio de la instancia. |
Cuerpo de respuesta
{
"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
Obtenga el esquema de espacios de trabajo en la organización proporcionada.
URL
Estructura
[GET] /services/organizations/{organization_name}/workspaces
Ejemplo
GET https://cam.ctl.io/services/organizations/centurylink/workspaces
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
organization_name | Secuencia | El nombre de la organización. | Sí |
Respuesta
Código normal
- 200 Aceptar
Códigos de error
- 401: No autorizado - Cookie o token de acceso no válido
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
last_name | secuencia | El apellido del usuario. |
favorites | array | Lista de usuarios u organizaciones seleccionados como favoritos. |
clc_alias | secuencia | Indica el alias de facturación de CenturyLink, si existe, para el espacio de trabajo. |
id | secuencia | El nombre de usuario en este espacio de trabajo. |
last_login | secuencia | La fecha del último inicio de sesión. |
add_provider | boolean | |
deploy_instance | boolean | |
tipo | secuencia | El tipo de usuario. |
secuencia | El email del usuario. | |
esquema | secuencia | URI del esquema del proveedor: //elasticbox.net/schemas/providers |
updated | secuencia | Fecha de la última actualización |
take_tour | boolean | Indica si se ha realizado o no el paseo al iniciar sesión por primera vez. |
deleted | secuencia | La fecha de eliminación del usuario. |
costcenter | secuencia | El nombre proporcionado del centro de costos cuando se proporcionó el usuario. |
icon | secuencia | URI del ícono de usuario. |
group_dns | array | La lista de usuarios que se han configurado por Active Directory en una red local. |
email_validated_at | secuencia | La fecha en la que se validó al usuario. |
validate_email_id | secuencia | La ID de validación que se generó para el usuario. |
reset_password_id | secuencia | La ID de restablecimiento que se generó para el usuario. |
nombre | secuencia | El nombre proporcionado al usuario. |
created | secuencia | La fecha de creación del usuario. |
uri | secuencia | Un URL del servicio de API que permite recuperar los datos de esta casilla directamente mediante una solicitud GET. |
members | array | Si el tipo de usuario es “team” (equipo), muestra los espacios de trabajo a los que pertenece este usuario. |
organización | secuencia | El nombre de la organización a la que pertenece el usuario. |
Cuerpo de respuesta
{
"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}
Actualiza una organización existente cuando se proporciona su nombre. Solo el administrador de la organización lo puede actualizar.
URL
Estructura
[PUT] /services/organizations/{organization_name}
Ejemplo
PUT https://cam.ctl.io/services/organizations/{organization_name}
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
organization_name | Secuencia | El nombre de la organización. | Sí |
Cuerpo de la solicitud
{
"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 la solicitud
Parámetro | Tipo | Descripción |
---|---|---|
esquema | secuencia | URI del esquema de la organización: //elasticbox.net/schemas/organization |
nombre | secuencia | Nombre de la organización |
icon | secuencia | URI del ícono de la organización |
updated | secuencia | Fecha de la última actualización |
created | secuencia | Fecha de creación |
setup | boolean | Esto es de solo lectura. Indica que el dispositivo del Gestor de aplicaciones en la nube está configurado y listo para su uso. |
administrators | array | Lista de usuarios que pueden administrar la organización. |
domains | secuencia | Dominios que forman parte de la organización. |
autenticación | objeto | Lista de métodos de autenticación para permitir el inicio de sesión único en la organización. Contiene las siguientes propiedades:
|
ldap_last_sync_completed | secuencia | Marca de tiempo de la última sincronización exitosa de grupo de LDAP, por ejemplo, 2015-04-06 14:28:12.874910. El valor es nulo si ldap_group_sync está configurado como falso. |
ldap_groups | array | Lista de objetos, cada uno de los cuales es un grupo de LDAP. Cada grupo tiene dos propiedades: |
proveedores | array | Lista de proveedores de nube que la organización puede permitir para registrar e implementar. Cada tipo de proveedor tiene las siguientes propiedades: |
etiquetas | array | Lista de etiquetas aplicada en las instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades: |
webhooks | array | Lista de webhooks que se integran con la organización. |
cost_centers | array | Lista de centros de costos. Cada centro de costos contiene las siguientes propiedades:
|
Respuesta
Código normal
- 200 Aceptar
Códigos de error
- 400: Solicitud incorrecta: solicitud ausente, incompleta o con propiedades no válidas (detalles proporcionados dentro del cuerpo)
- 401: No autorizado - Cookie o token de acceso no válido
- 403: Prohibido - El usuario no pertenece a la organización
- 404: No se encontró
- 409: Conflicto - La propiedad “actualizada” no coincide. (Haga una llamada GET a la API para recuperar la propiedad “actualizada” actual y usarla en una nueva solicitud PUT)
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
esquema | secuencia | URI del esquema de la organización: http://elasticbox.net/schemas/organization |
nombre | secuencia | Nombre de la organización |
icon | secuencia | URI del ícono de la organización |
updated | secuencia | Fecha de la última actualización |
created | secuencia | Fecha de creación |
setup | boolean | Esto es de solo lectura. Indica que el dispositivo del Gestor de aplicaciones en la nube está configurado y listo para su uso. |
administrators | array | Lista de usuarios que pueden administrar la organización. |
domains | secuencia | Dominios que forman parte de la organización. |
autenticación | objeto | Lista de métodos de autenticación para permitir el inicio de sesión único en la organización. Contiene las siguientes propiedades:
|
ldap_last_sync_completed | secuencia | Marca de tiempo de la última sincronización exitosa de grupo de LDAP, por ejemplo, 2015-04-06 14:28:12.874910. El valor es nulo si ldap_group_sync está configurado como falso. |
ldap_groups | array | Lista de objetos, cada uno de los cuales es un grupo de LDAP. Cada grupo tiene dos propiedades: |
proveedores | array | Lista de proveedores de nube que la organización puede permitir para registrar e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas: |
etiquetas | array | Lista de etiquetas aplicada en las instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades: |
webhooks | array | Lista de webhooks que se integran con la organización. |
cost_centers | array | Lista de centros de costos. Cada centro de costos contiene las siguientes propiedades:
|
Cuerpo de respuesta
{
"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
Pone una solicitud en cola para sincronizar grupos de LDAP. La solicitud de sincronización, dependiendo de la cantidad de datos del servicio de LDAP, puede tardar unos minutos. La propiedad ldap_last_sync_completed se actualiza cuando la solicitud finaliza correctamente.
URL
Estructura
[PUT] /organizations/{organization_name}/sync_groups
Ejemplo
PUT https://cam.ctl.io/organizations/{organization_name}/sync_groups
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
organization_name | Secuencia | El nombre de la organización. | Sí |
Respuesta
Código normal
- 202 Aceptado
Códigos de error
- 401: No autorizado - Cookie o token de acceso no válido
- 404: No se encontró
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
esquema | secuencia | URI del esquema de la organización: //elasticbox.net/schemas/organization |
nombre | secuencia | Nombre de la organización |
icon | secuencia | URI del ícono de la organización |
updated | secuencia | Fecha de la última actualización |
created | secuencia | Fecha de creación |
setup | boolean | Esto es de solo lectura. Indica que el dispositivo del Gestor de aplicaciones en la nube está configurado y listo para su uso. |
administrators | array | Lista de usuarios que pueden administrar la organización. |
domains | secuencia | Dominios que forman parte de la organización. |
autenticación | objeto | Lista de métodos de autenticación para permitir el inicio de sesión único en la organización. Contiene las siguientes propiedades:
|
ldap_last_sync_completed | secuencia | Marca de tiempo de la última sincronización exitosa de grupo de LDAP, por ejemplo, 2015-04-06 14:28:12.874910. El valor es nulo si ldap_group_sync está configurado como falso. |
ldap_groups | array | Lista de objetos, cada uno de los cuales es un grupo de LDAP. Cada grupo tiene dos propiedades: |
proveedores | array | Lista de proveedores de nube que la organización puede permitir para registrar e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas: |
etiquetas | array | Lista de etiquetas aplicada en las instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades: |
webhooks | array | Lista de webhooks que se integran con la organización. |
cost_centers | array | Lista de centros de costos. Cada centro de costos contiene las siguientes propiedades:
|
Cuerpo de respuesta
{
"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":[
]
}
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
API para espacios de trabajo
Gestione y realice acciones en espacios de trabajo.
Crear o enumerar espacios de trabajo
Recursos | Descripción |
---|---|
GET /services/workspaces | Obtiene la lista de espacios de trabajo. |
POST /services/workspace | Crea un nuevo espacio de trabajo de equipo. |
Realizar otras operaciones de espacios de trabajo
Parámetro | Descripción |
---|---|
GET /services/workspaces/{workspace_id} | Recupera un espacio de trabajo existente. |
PUT /services/workspaces/{workspace_id} | Actualiza un espacio de trabajo existente. |
DELETE /services/workspaces/{workspace_id} | Elimina un espacio de trabajo existente. |
GET /services/workspaces/{workspace_id}/providers | Obtiene los proveedores de nube registrados en un espacio de trabajo. |
GET /services/workspaces/{workspace_id}/boxes | Obtiene las casillas de un espacio de trabajo. |
GET /services/workspaces/{workspace_id}/instances | Obtiene las instancias de un espacio de trabajo. |
GET /services/workspaces
Obtiene el espacio de trabajo predeterminado si no se proporciona ningún parámetro y el usuario no tiene otro privilegio. Si se proporciona el parámetro de ID (una lista de ID de espacios de trabajo), recupera todos los espacios de trabajo correspondientes a esa lista y a los que tiene acceso el usuario.
URL
Estructura
[GET] /services/workspaces
Ejemplo
[GET] https://cam.ctl.io/services/workspaces
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
ids | secuencia | Recupera los espacios de trabajo correspondientes a cada ID de espacio de trabajo de la secuencia. Las ID se separarán por comas. Por ejemplo: workspace4,operations,workspace5. | No |
limit | integer | Limita la cantidad de espacios de trabajo enumerados en la respuesta. | No |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
add_provider | boolean | Indica true (verdadero) si un espacio de trabajo personal tiene un proveedor. |
billing_notice | boolean | Si el indicador es False (falso), no se muestra el aviso de facturación al usuario. |
clc_alias | secuencia | (opcional) ID de la cuenta para clientes de facturación que tienen una cuenta en CL. |
clc_username | secuencia | Si el usuario tiene autenticación de Lumen Cloud. |
created | secuencia | Fecha de creación |
costcenter | secuencia | ID del centro de costos. |
dashboard_notice | boolean | Si el indicador es False (falso), no se muestra el aviso en el panel al usuario. |
deleted | secuencia | Será null (nulo) si el recurso es válido, o una secuencia con la hora y fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como null (nulo). |
deploy_instance | boolean | Indica si el espacio de trabajo ha implementado una instancia. |
secuencia | Email de usuario | |
email_validated_at | secuencia | Fecha de validación del email. |
favorites | array | Lista de los espacios de trabajo favoritos del usuario. El usuario configura un espacio de trabajo como favorito cuando hace clic en una estrella. |
group_dns | array | Lista de nombres completos de grupos de LDAP a los que pertenece el espacio de trabajo personal de un usuario. No se puede actualizar este campo. Presente en espacios de trabajo personales. |
icon | secuencia | URL relativo a un archivo que se almacena como blob en el CAM y representa el ícono del espacio de trabajo. |
id | secuencia | Identificador único del espacio de trabajo. |
last_login | secuencia | Fecha del último inicio de sesión. Ejemplo: “2015-07-02 10:23:47.748740” |
last_name | secuencia | Apellido del usuario. |
ldap_groups | array | Lista de nombres completos de grupos de LDAP que son miembros de un espacio de trabajo. Presente en los espacios de trabajo de equipo. |
members | array | Enumera los miembros de un espacio de trabajo de equipo. |
nombre | secuencia | Nombre del usuario (del espacio de trabajo). |
organización | secuencia | (Espacios de trabajo personales) Organización del espacio de trabajo. |
organizaciones | array | (Espacios de trabajo de equipo) Lista de nombres de las organizaciones del espacio de trabajo |
owner | secuencia | Se refiere al nombre del usuario propietario del espacio de trabajo. Presente en los espacios de trabajo de equipo. |
saml_id | secuencia | (opcional) ID de cuenta si el usuario ha iniciado sesión con lenguaje de marcado para confirmaciones de seguridad (SAML, por sus siglas en inglés). |
esquema | secuencia | URI del esquema. Para espacio de trabajo personal: “http://elasticbox.net/schemas/workspaces/personal” Para el espacio de trabajo de equipo: “http://elasticbox.net/schemas/workspaces/team” |
support_user_created | boolean | True (verdadero) si se ha creado el usuario de soporte del CAM para este espacio de trabajo y está listo. |
take_tour | boolean | Si es true (verdadero), el usuario ha descartado la ventana emergente del paseo. |
tipo | secuencia | Tipo de espacio de trabajo. Puede ser personal o team (de equipo). Los usuarios pueden editar el espacio de trabajo personal siempre que tengan privilegios y los esquemas sean válidos. |
updated | secuencia | Fecha de la última actualización |
uri | secuencia | URI del espacio de trabajo |
Cuerpo de respuesta
- Respuesta a solicitud sin 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"
}
]
- Respuesta a solicitud con parámetros
[
{
"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
Crea un espacio de trabajo y obtiene el espacio de trabajo creado.
URL
Estructura
[POST] /services/workspaces
Ejemplo
[POST] https://cam.ctl.io/services/workspaces
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Parámetros del cuerpo de la solicitud
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
costcenter | secuencia | ID del centro de costos. | Sí |
nombre | secuencia | Nombre de espacio de trabajo | Sí |
esquema | secuencia | URL del esquema. Por ejemplo, http://elasticbox.net/schemas/workspaces/team | Sí |
Respuesta
Códigos de respuesta normales
- 201 Creado
Códigos de respuesta de error comunes
- 400 Datos no válidos
- 401 No autorizado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
costcenter | secuencia | ID del centro de costos. |
created | secuencia | Fecha de creación |
deleted | secuencia | Será null (nulo) si el recurso es válido, o una secuencia con la hora y fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como null (nulo). |
id | secuencia | ID de espacio de trabajo |
members | array | Muestra los miembros de un espacio de trabajo de equipo. |
nombre | secuencia | Nombre de espacio de trabajo |
organizaciones | array | Lista de nombres de las organizaciones. |
esquema | secuencia | URI del esquema. “http://elasticbox.net/schemas/workspaces/personal” o “http://elasticbox.net/schemas/workspaces/team” |
tipo | secuencia | Tipo de espacio de trabajo. Puede ser personal o team (de equipo). Los usuarios pueden editar el espacio de trabajo personal siempre que tengan privilegios y los esquemas sean válidos. |
updated | secuencia | Fecha de actualización. |
uri | secuencia | URL para acceder al espacio de trabajo |
Cuerpo de respuesta
{
"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}
Recupera un espacio de trabajo existente para la ID de espacio de trabajo especificada.
URL
Estructura
[GET] /services/workspaces/{workspace_id}
Ejemplo
[GET] https://cam.ctl.io//services/workspaces/workspace4
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
workspace_id | secuencia | ID de espacio de trabajo. | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
costcenter | secuencia | ID del centro de costos. |
created | secuencia | Fecha de creación |
deleted | secuencia | Será null (nulo) si el recurso es válido, o una secuencia con la hora y fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como null (nulo). |
icon | secuencia | URL al avatar del área de trabajo. |
id | secuencia | ID de espacio de trabajo |
members | array | Enumera los miembros de un espacio de trabajo de equipo. |
nombre | secuencia | Nombre de espacio de trabajo |
organizaciones | array | Lista de nombres de las organizaciones. |
esquema | secuencia | URI del esquema. “http://elasticbox.net/schemas/workspaces/personal” o “http://elasticbox.net/schemas/workspaces/team” |
tipo | secuencia | Tipo de espacio de trabajo. Puede ser personal o team (de equipo). Los usuarios pueden editar el espacio de trabajo personal siempre que tengan privilegios y los esquemas sean válidos. |
updated | secuencia | Fecha de actualización. |
uri | secuencia | URL para acceder al espacio de trabajo |
Cuerpo de respuesta
{
"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}
Actualiza un espacio de trabajo existente.
URL
Estructura
[PUT] /services/workspaces/{workspace_id}
Ejemplo
[PUT] https://cam.ctl.io/services/workspaces/workspace4
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
workspace_id | secuencia | ID de espacio de trabajo. | Sí |
Parámetros del cuerpo de la solicitud
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
costcenter | secuencia | ID del centro de costos. | Sí |
created | secuencia | Fecha de creación del espacio de trabajo. | No |
deleted | secuencia | Será null (nulo) si el recurso es válido, o una secuencia con la hora y fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como null (nulo). | No |
icon | secuencia | URL del ícono. | No |
id | secuencia | ID de espacio de trabajo | Sí |
members | array | Lista de objetos que representan a los miembros (otros espacios de trabajo) agregados a este espacio de trabajo. | No |
nombre | secuencia | Nombre del nuevo espacio de trabajo. | Sí |
organizaciones | array | Lista de nombres de las organizaciones. | Sí |
esquema | secuencia | URL del esquema del espacio de trabajo. URI del esquema. “http://elasticbox.net/schemas/workspaces/personal” o “http://elasticbox.net/schemas/workspaces/team” | Sí |
tipo | secuencia | Tipo de espacio de trabajo. Puede ser personal o team (de equipo). Los usuarios pueden editar el espacio de trabajo personal siempre que tengan privilegios y los esquemas sean válidos. | No |
updated | secuencia | Fecha de actualización del espacio de trabajo. | No |
{
"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"
}
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
costcenter | secuencia | ID del centro de costos. |
created | secuencia | Fecha de creación del espacio de trabajo. |
deleted | secuencia | Será null (nulo) si el recurso es válido, o una secuencia con la hora y fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como null (nulo). |
icon | secuencia | URL del ícono. |
id | secuencia | ID de espacio de trabajo |
members | array | Lista de objetos que representan a los miembros (otros espacios de trabajo) agregados a este espacio de trabajo. |
nombre | secuencia | Nombre del nuevo espacio de trabajo. |
organizaciones | array | Lista de nombres de las organizaciones. |
esquema | secuencia | URL del esquema del espacio de trabajo. URI del esquema. “http://elasticbox.net/schemas/workspaces/personal” o “http://elasticbox.net/schemas/workspaces/team” |
tipo | secuencia | Tipo de espacio de trabajo. Puede ser personal o team (de equipo). Los usuarios pueden editar el espacio de trabajo personal siempre que tengan privilegios y los esquemas sean válidos. |
updated | secuencia | Fecha de actualización del espacio de trabajo. |
uri | secuencia | URL para acceder a la vista del espacio de trabajo actualizado. |
Cuerpo de respuesta
{
"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}
Elimina un espacio de trabajo.
URL
Estructura
[DELETE] /services/workspaces/{workspace_id}
Ejemplo
[DELETE] https://cam.ctl.io/services/workspaces/workspace4
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
workspace_id | secuencia | ID de espacio de trabajo. | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 204 Sin contenido
Códigos de respuesta de error comunes
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
- Ninguno
Cuerpo de respuesta
- Ninguno
GET /services/workspaces/{workspace_id}/providers
Obtiene los proveedores registrados en un espacio de trabajo.
URL
Estructura
[GET] /services/workspaces/{workspace_id}/providers
Ejemplo
[GET] https://cam.ctl.io/services/workspaces/workspace4/providers
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
workspace_id | secuencia | ID de espacio de trabajo | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
created | secuencia | Fecha de creación del proveedor. |
descripción | secuencia | Descripción del proveedor. |
icon | secuencia | URL del ícono del proveedor. |
id | secuencia | ID del proveedor. |
members | array | Lista de miembros con acceso al proveedor. |
nombre | secuencia | Nombre de proveedor |
owner | secuencia | ID del espacio de trabajo al que pertenece el proveedor. |
esquema | secuencia | URI del esquema del proveedor. Por ejemplo, “http://elasticbox.net/schemas/aws/provider” Ver la documentación de API para proveedores para obtener una lista completa de los tipos de esquema. |
servicios | array | Lista de servicios asociados al proveedor. |
state | secuencia | Estado del proveedor. |
tipo | secuencia | Tipo de proveedor. |
updated | secuencia | Fecha de actualización del proveedor. |
uri | secuencia | URL para acceder a la vista del proveedor. |
Cuerpo de respuesta
[
{
"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
Obtiene todas las casillas de un espacio de trabajo.
URL
Estructura
[GET] /services/workspaces/{workspace_id}/boxes
Ejemplo
[GET] https://cam.ctl.io/services/workspaces/workspace4/boxes
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
workspace_id | secuencia | ID de espacio de trabajo | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
automatic_updates | secuencia | Tipo de actualización automática. |
created | secuencia | Fecha de creación de la casilla. |
deleted | secuencia | Será null (nulo) si el recurso es válido, o una secuencia con la hora y fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como null (nulo). |
descripción | secuencia | Descripción de la casilla. |
event | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date, (fecha de carga) length (longitud) y destination_path (ruta de destino) |
eventos | objeto | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). |
icon | secuencia | URL del ícono de la casilla. |
id | secuencia | ID de la casilla. |
members | array | Lista de miembros con acceso a la casilla. |
nombre | secuencia | Nombre de casilla |
organización | secuencia | Nombre de la organización |
owner | secuencia | ID del propietario del área de trabajo. |
requisitos | array | Lista de requisitos de la casilla. |
esquema | secuencia | URI del esquema de la casilla. |
tipo | secuencia | Tipo de casilla. |
updated | secuencia | Fecha de actualización de la casilla. |
uri | secuencia | URL para acceder a la vista de la casilla. |
variables | array | Lista de variables asociadas a la casilla. |
visibilidad | secuencia | Tipo de visibilidad que tiene el proveedor. |
Cuerpo de respuesta
[
{
"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
Obtiene todas las instancias de un espacio de trabajo.
URL
Estructura
[GET] /services/workspaces/{workspace_id}/instances
Ejemplo
[GET] https://cam.ctl.io/services/workspaces/myworkspace/instances
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
workspace_id | secuencia | ID de espacio de trabajo | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 401 No autorizado
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
automatic_updates | secuencia | Tipo de actualización automática. |
bindings | array | Lista de enlaces de la instancia. |
casillas | array | Lista de casillas donde cada objeto de casilla contiene un parámetro de servicio. El parámetro de servicio puede tener uno de estos valores: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
icon | secuencia | URI del ícono de la instancia. |
id | secuencia | ID de la instancia. |
is_deploy_only | boolean | Si la instancia se implementa solamente. |
machine | objeto | Máquina incluida en la lista de máquinas de servicio. |
machine.name | secuencia | Nombre de la máquina. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). |
members | array | Lista de miembros con acceso a la instancia. |
nombre | secuencia | Nombre de instancia |
operation | objeto | Última operación; hay varios tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar), terminate_service (finalizar servicio). |
policy_box | objeto | Casilla para política de la instancia. |
esquema | secuencia | URI del esquema de la instancia. |
servicio | objeto | Servicio de la instancia. |
service.id | secuencia | ID del servicio. |
service.machines | array | Lista de máquinas del servicio. |
service.type | secuencia | Required. Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
etiquetas | array | Lista de etiquetas de la instancia. |
updated | secuencia | Fecha de la última actualización |
uri | secuencia | URI de la instancia. |
variables | array | Lista de variables de la instancia. |
Cuerpo de respuesta
[
{
"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"
}
]
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
API para blobs
Gestionar blobs
Recursos | Descripción |
---|---|
POST /services/blobs/upload | Carga un archivo utilizando multipart/form-data. |
POST /services/blobs/upload/{file_name} | Crea un blob con datos enviados. |
GET /services/blobs/download/{file_id}/{file_name} | Descarga un archivo cargado anteriormente. |
POST /services/blobs/upload
Carga un archivo utilizando multipart/form-data.
URL
Estructura
[POST] /services/blobs/upload
Ejemplo
[POST] https://cam.ctl.io/services/blobs/upload
Solicitud
Encabezados
Content-Type: multipart/form-data
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Parámetros del cuerpo de la solicitud
- Datos de formulario: blob (binario)
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
content-type (tipo de contenido) | secuencia | Tipo de contenido del archivo. |
length | number | Tamaño del archivo en bytes. |
upload_date | secuencia | Fecha en la que se cargó el archivo. |
url | secuencia | URL para descargar el archivo. |
Cuerpo de respuesta
{
"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}
Crea un blob con datos enviados.
URL
Estructura
[POST] /services/blobs/upload/{file_name}
Ejemplo
[POST] https://cam.ctl.io/services/blobs/upload/another-file-name.png
Solicitud
Encabezados
Content-Type: multipart/form-data
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Parámetros del cuerpo de la solicitud
- Datos de formulario: blob (binario)
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
content-type (tipo de contenido) | secuencia | Tipo de contenido del archivo. |
length | number | Tamaño del archivo en bytes. |
upload_date | secuencia | Fecha en la que se cargó el archivo. |
url | secuencia | URL para descargar el archivo. |
Cuerpo de respuesta
{
"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}
Descarga un archivo cargado anteriormente.
URL
Estructura
[GET] /services/blobs/download/{file_id}/{file_name}
Ejemplo
[GET] https://cam.ctl.io/services/blobs/download/5be2de281862a32389a50d81/Screen-Shot-2018-11-07-at-13.44.12.png
Solicitud
Encabezados
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
NOMBRE | TIPO | DESCRIPCIÓN | REQ. |
---|---|---|---|
file_id | secuencia | ID del archivo. | Sí |
file_name | secuencia | Nombre del archivo. | Sí |
Parámetros del cuerpo de la solicitud
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
content-type (tipo de contenido) | secuencia | Tipo de contenido del archivo. |
length | number | Tamaño del archivo en bytes. |
upload_date | secuencia | Fecha en la que se cargó el archivo. |
url | secuencia | URL para descargar el archivo. |
Cuerpo de respuesta
The file
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log
API para casillas
Gestione y realice acciones en casillas.
Crear o enumerar casillas
Recursos | Descripción |
---|---|
GET /services/boxes | Obtiene la lista de casillas accesibles en el espacio de trabajo personal. |
POST /services/boxes | Crea una nueva casilla. |
Realizar operaciones de casilla
Recursos | Descripción |
---|---|
GET /services/boxes/{box_id} | Recupera una casilla existente. |
PUT /services/boxes/{box_id} | Actualiza una casilla existente. |
DELETE /services/box/{box_id} | Elimina una casilla existente. |
GET /services/boxes/{box_id}/stack | Obtiene el stack de las casillas. |
GET /services/boxes/{box_id}/bindings | Obtiene los enlaces de las casillas. |
GET /services/boxes/{box_id}/versions | Obtiene la lista de versiones de las casillas. |
PUT /services/boxes/{box_id}/diff | Obtiene las diferencias entre dos casillas. |
CloudFormation Box
La casilla de CloudFormation del Gestor de aplicaciones en la nube funciona con el servicio AWS CloudFormation. Permite crear y personalizar plantillas que se pueden iniciar como un solo stack de servicios combinados en AWS. Gestione las configuraciones de CloudFormation en el Gestor de aplicaciones en la nube utilizando estas acciones de API.
Algunos ejemplos son:
Ejemplo |
---|
Crear una casilla de CloudFormation con una plantilla |
Modificar la plantilla de CloudFormation |
Iniciar una casilla de CloudFormation |
Actualizar un stack de CloudFormation en tiempo real |
GET /services/boxes
Obtiene casillas accesibles en el espacio de trabajo personal del usuario autenticado.
URL
Estructura
[GET] /services/boxes
[GET] /services/boxes?ids=value
Ejemplo
[GET] https://cam.ctl.io/services/boxes
Ejemplo con parámetros para especificar una lista de ID de casillas:
[GET] https://cam.ctl.io/services/boxes?ids=8117657c-572a-4608-a2e2-82204ffa2ba5,540da08f-bbcf-4bb8-95bb-fcb690d44268
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Estilo | Tipo | Descripción | Req. |
---|---|---|---|---|
ids | plain | secuencia | Lista de ID de casillas separadas por comas. | Opc. |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
organización | plain | secuencia | Organización a la que pertenece la casilla. |
updated | plain | secuencia | Fecha de la última actualización. |
descripción | plain | secuencia | Descripción de la casilla. |
requisitos | plain | array | Requisitos de la casilla. |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | plain | secuencia | Fecha de creación. |
uri | plain | secuencia | URI de la casilla. |
id | plain | array | Identificador único de la casilla. |
esquema | plain | secuencia | URI del esquema de la casilla. |
members | plain | array | Lista de miembros de la casilla. |
owner | plain | secuencia | Propietario de la casilla. |
icon | plain | secuencia | URI del ícono de la casilla. |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
nombre | plain | secuencia | Nombre de la casilla. |
Cuerpo de respuesta
[
{
"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 /services/boxes
Crea una nueva casilla en el espacio de trabajo personal y obtiene la casilla creada.
URL
Estructura
[POST] /services/boxes
Ejemplo
[POST] https://cam.ctl.io/services/boxes
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Parámetros del cuerpo de la solicitud
Parámetro | Estilo | Tipo | Descripción | Req. |
---|---|---|---|---|
requisitos | plain | array | Requisitos de la casilla. | |
owner | plain | secuencia | Propietario de la casilla, el nombre de usuario de un espacio de trabajo personal y el nombre del espacio de trabajo para un espacio de trabajo de equipo. | |
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
|
nombre | plain | secuencia | Nombre de la casilla. | Sí |
descripción | plain | secuencia | Descripción de la casilla. | |
icon | plain | secuencia | URL del ícono. | |
esquema | plain | secuencia | Esquema de la casilla. | Sí |
Cuerpo de la solicitud
{
"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": ""
}
]
}
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
- 409 Conflicto
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
organización | plain | secuencia | Organización a la que pertenece la casilla. |
updated | plain | secuencia | Fecha de la última actualización. |
descripción | plain | secuencia | Descripción de la casilla. |
requisitos | plain | array | Requisitos de la casilla. |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | plain | secuencia | Fecha de creación. |
uri | plain | secuencia | URI de la casilla. |
id | plain | array | Identificador único de la casilla. |
esquema | plain | secuencia | URI del esquema de la casilla. |
members | plain | array | Lista de miembros de la casilla. |
owner | plain | secuencia | Propietario de la casilla. |
icon | plain | secuencia | URI del ícono de la casilla. |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
nombre | plain | secuencia | Nombre de la casilla. |
Cuerpo de respuesta
{
"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 /services/boxes/{box_id}
Recupera una casilla existente, requiere la ID de la casilla especificada.
URL
Estructura
[GET] /services/boxes/{box_id}
Ejemplo
[GET] https://cam.ctl.io/services/boxes/0e725f03-052b-43e2-8c5d-32341bf60a8d
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
box_id | secuencia | ID de la casilla. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
organización | plain | secuencia | Organización a la que pertenece la casilla. |
updated | plain | secuencia | Fecha de la última actualización. |
descripción | plain | secuencia | Descripción de la casilla. |
requisitos | plain | array | Requisitos de la casilla. |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | plain | secuencia | Fecha de creación. |
uri | plain | secuencia | URI de la casilla. |
id | plain | array | Identificador único de la casilla. |
esquema | plain | secuencia | URI del esquema de la casilla. |
members | plain | array | Lista de miembros de la casilla. |
owner | plain | secuencia | Propietario de la casilla. |
icon | plain | secuencia | URI del ícono de la casilla. |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
nombre | plain | secuencia | Nombre de la casilla. |
Cuerpo de respuesta
{
"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 /services/boxes/{box_id}
Requiere la ID de casilla para actualizar una casilla existente. El cuerpo de la solicitud debe contener el objeto de la casilla y solo puede actualizar los siguientes campos: files (archivos), variables, ports (puertos), requirements (requisitos), description (descripción), icon (ícono), name (nombre), events (eventos) y members (miembros).
URL
Estructura
[PUT] /services/boxes/{box_id}
Ejemplo
[PUT] https://cam.ctl.io/services/boxes/{box_id}
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Estilo | Tipo | Descripción | Req. |
---|---|---|---|---|
box_id | plain | secuencia | ID de la casilla. | Sí |
Parámetros del cuerpo de la solicitud
Parámetro | Estilo | Tipo | Descripción | Req. |
---|---|---|---|---|
updated | plain | secuencia | Fecha de la última actualización. | |
descripción | plain | secuencia | Descripción de la casilla. | |
requisitos | plain | array | Requisitos de la casilla. | |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. | |
created | plain | secuencia | Fecha de creación. | |
uri | plain | secuencia | URI de la casilla. | |
id | plain | array | Identificador único de la casilla. | |
esquema | plain | secuencia | URI del esquema de la casilla. | Sí |
members | plain | array | Lista de miembros de la casilla. | |
owner | plain | secuencia | Propietario de la casilla. | Sí |
organización | plain | secuencia | Organización a la que pertenece la casilla. | Sí |
icon | plain | secuencia | URI del ícono de la casilla. | |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). | |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). | |
nombre | plain | secuencia | Nombre de la casilla. | Sí |
Cuerpo de la solicitud
{
"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"
}
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
organización | plain | secuencia | Organización a la que pertenece la casilla. |
updated | plain | secuencia | Fecha de la última actualización. |
descripción | plain | secuencia | Descripción de la casilla. |
requisitos | plain | array | Requisitos de la casilla. |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | plain | secuencia | Fecha de creación. |
uri | plain | secuencia | URI de la casilla. |
id | plain | array | Identificador único de la casilla. |
esquema | plain | secuencia | URI del esquema de la casilla. |
members | plain | array | Lista de miembros de la casilla. |
owner | plain | secuencia | Propietario de la casilla. |
icon | plain | secuencia | URI del ícono de la casilla. |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
nombre | plain | secuencia | Nombre de la casilla. |
Cuerpo de respuesta
{
"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}
Borra una casilla existente, requiere la ID de la casilla especificada.
URL
Estructura
[DELETE] /services/boxes/{box_id}
Ejemplo
[DELETE] https://cam.ctl.io/services/boxes/0e725f03-052b-43e2-8c5d-32341bf60a8d
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Estilo | Tipo | Descripción | Req. |
---|---|---|---|---|
box_id | plain | secuencia | ID de la casilla. | Sí |
Respuesta
Códigos de respuesta normales
- 204 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
GET /services/boxes/{box_id}/stack
Obtiene el stack de las casillas. El stack de casillas es una lista de casillas. Se incluyen todas las casillas que son una variable de la casilla proporcionada. La primera casilla es siempre la casilla proporcionada.
URL
Estructura
[GET] /services/boxes//{box_id}/stack
Ejemplo
[GET] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/stack
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
box_id | secuencia | ID de la casilla. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
organización | plain | secuencia | Organización a la que pertenece la casilla. |
updated | plain | secuencia | Fecha de la última actualización. |
descripción | plain | secuencia | Descripción de la casilla. |
etiquetas | plain | array | Etiquetas de casilla. |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | plain | secuencia | Fecha de creación. |
uri | plain | secuencia | URI de la casilla. |
id | plain | array | Identificador único de la casilla. |
esquema | plain | secuencia | URI del esquema de la casilla. |
members | plain | array | Lista de miembros de la casilla. |
owner | plain | secuencia | Propietario de la casilla. |
icon | plain | secuencia | URI del ícono de la casilla. |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
nombre | plain | secuencia | Nombre de la casilla. |
Cuerpo de respuesta
El siguiente ejemplo es de la casilla que instala y configura Magento utilizando las casillas nginx y php-fpm para ejecutar la aplicación.
[
{
"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
Obtiene una lista de objetos de casilla que son enlaces de la casilla solicitada. Requiere la ID de casilla especificada como parámetro box_id.
URL
Estructura
[GET] /services/boxes//{box_id}/bindings
Ejemplo
[GET] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/bindings
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
box_id | secuencia | ID de la casilla. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
uri | plain | secuencia | URI de la casilla. |
id | plain | array | Identificador único de la casilla. |
icon | plain | secuencia | URI del ícono de la casilla. |
nombre | plain | secuencia | Nombre de la casilla. |
Cuerpo de respuesta
[
{
"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
Obtiene una lista de versiones de la casilla solicitada. Requiere la ID de casilla especificada como parámetro box_id. Si la casilla especificada no tiene versiones, obtiene una lista vacía.
URL
Estructura
[GET] /services/boxes//{box_id}/versions
Ejemplo
[GET] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/versions
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
box_id | secuencia | ID de la casilla. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
updated | plain | secuencia | Fecha de la última actualización. |
descripción | plain | secuencia | Descripción de la casilla. |
etiquetas | plain | array | Etiquetas de casilla. |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
members | plain | array | Lista de miembros de la casilla. |
owner | plain | secuencia | Propietario de la casilla. |
id | plain | array | Identificador único de la casilla. |
icon | plain | secuencia | URI del ícono de la casilla. |
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
organización | plain | secuencia | Organización a la que pertenece la casilla. |
nombre | plain | secuencia | Nombre de la casilla. |
created | plain | secuencia | Fecha de creación. |
uri | plain | secuencia | URI de la casilla. |
versión | plain | objeto | El objeto de versión de casilla contiene los parámetros box (casilla), description (descripción) y workspace (espacio de trabajo). |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
esquema | plain | secuencia | URI del esquema de la casilla. |
Cuerpo de respuesta
[
{
"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 una casilla con la casilla enviada. Requiere la ID de la casilla especificada como parámetro box_id.
URL
Estructura
[PUT] /services/boxes//{box_id}/diff
Ejemplo
[PUT] https://cam.ctl.io/services/boxes/f4dd017f-4bec-42f4-9614-bd27fd8baf74/diff
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Estilo | Tipo | Descripción | Req. |
---|---|---|---|---|
box_id | plain | secuencia | ID de la casilla. | Sí |
Parámetros del cuerpo de la solicitud
Parámetro | Estilo | Tipo | Descripción | Req. |
---|---|---|---|---|
updated | plain | secuencia | Fecha de la última actualización. | |
descripción | plain | secuencia | Descripción de la casilla. | |
etiquetas | plain | array | Etiquetas de casilla. | |
variables | plain | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. | |
members | plain | array | Lista de miembros de la casilla. | |
owner | plain | secuencia | Propietario de la casilla. | Sí |
id | plain | array | Identificador único de la casilla. | Sí |
icon | plain | secuencia | URI del ícono de la casilla. | |
visibilidad | plain | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
|
organización | plain | secuencia | Organización a la que pertenece la casilla. | Sí |
nombre | plain | secuencia | Nombre de la casilla. | Sí |
created | plain | secuencia | Fecha de creación. | |
uri | plain | secuencia | URI de la casilla. | |
versión | plain | objeto | El objeto de versión de casilla contiene los parámetros box (casilla), description (descripción) y workspace (espacio de trabajo). | |
eventos | plain | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), pre_configure (preconfiguración), pre_dispose (preeliminación), pre_install (preinstalación), pre_start (preinicio), pre_stop (predetención), start and stop (inicio y detención). | |
event | plain | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). | |
esquema | plain | secuencia | URI del esquema de la casilla. | Sí |
Cuerpo de la solicitud
{
"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"
}
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Estilo | Tipo | Descripción |
---|---|---|---|
box_variables | plain | objeto | Diferencias en las variables de la casilla; el objeto contiene un título y tres listas: removed (eliminadas), added (agregadas) y changed (modificadas). |
box_variables.removed | plain | array | Lista de variables de la casilla eliminadas; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
box_variables.added | plain | array | Lista de variables de la casilla agregadas; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
box_variables.changed | plain | array | Lista de variables de la casilla modificadas; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
box_details | plain | objeto | Diferencias en los detalles de la casilla; el objeto contiene un título y tres listas: removed (eliminadas), added (agregadas) y changed (modificadas). |
box_profile_properties | plain | objeto | Diferencias en las propiedades del perfil de la casilla, el objeto contiene un título y tres listas: removed (eliminadas), added (agregadas) y changed (modificadas). Disponible para casillas para política. |
box_events | plain | array | Lista de eventos de la casilla. |
modificado | plain | boolean | Hubo cambios entre las versiones. |
{
"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": []
}
}
Cree y lance una casilla de CloudFormation
Crear una casilla de CloudFormation con una plantilla
-
POST /services/boxes
Crea una casilla del tipo de servicio de CloudFormation. Ver el ejemplo para crear una en CloudFormation. -
GET /services/blobs/download/{file_id}/{file_name}
Recupera contenido de un URL o archivo URL proporcionado. Ver el ejemplo para crear una en CloudFormation, parte 2.
Envía una plantilla de JSON vacía como blob. -
POST /services/blobs/upload/{file_name}
Crea un blob desde datos de una plantilla enviada a través de un archivo o URL. Aquí los datos de la plantilla están en el cuerpo de la solicitud. Ver el ejemplo para crear una en CloudFormation, parte 3. -
PUT /services/boxes/{box_id}
Actualiza la casilla de CloudFormation con la plantilla. Ver el ejemplo para crear una en CloudFormation, parte 4.
Modificar la plantilla de CloudFormation
-
POST /services/blobs/upload/{file_name}
Crea un blob desde datos de una plantilla modificada. Ver el ejemplo para modificar una en CloudFormation. -
PUT /services/boxes/{box_id}
Actualiza la casilla de CloudFormation. Ver el ejemplo para modificar una en CloudFormation, parte 2.
Eliminar una casilla de CloudFormation
- DELETE /services/box/{box_id}
Elimina la casilla de CloudFormation del catálogo de plantillas.
Iniciar una casilla de CloudFormation
-
POST /services/profiles
Este paso es opcional. Transfiere la configuración de implementación a un nuevo perfil de implementación para iniciar la casilla en la infraestructura del proveedor. Ver el ejemplo para iniciar una en CloudFormation. -
POST /services/instances
Crea una nueva instancia de la casilla de CloudFormation.
Actualizar un stack de CloudFormation en tiempo real
-
POST /services/blobs/upload
Carga los datos de la plantilla modificada. Ver el ejemplo para actualizar una en CloudFormation. -
PUT /services/instances/{instance_id}
Actualiza la instancia con los cambios de la plantilla. Ver el ejemplo para actualizar una en CloudFormation, parte 2. -
PUT /services/instances/{instance_id}/reconfigure
Reconfigura el stack según los cambios. Ver el ejemplo para actualizar una en CloudFormation, parte 3.
Ejemplo: Crear una casilla de CloudFormation con una plantilla
1. POST https://cam.ctl.io/services/boxes/
Creación de una casilla del tipo de servicio CloudFormation.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"owner": "operations",
"schema":"http://elasticbox.net/schemas/boxes/cloudformation",
"automatic_updates":"off",
"name":"Wordpress Starter CF",
"description":"Wordpress Started for our showcase"
}
Respuesta
Cuerpo de respuesta
{
"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
Recupera contenido de un URL proporcionado. Una vez que se ha comprobado que la plantilla es la correcta, se la puede asignar a la casilla de CloudFormation.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Respuesta
Cuerpo de respuesta
{
"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
Otra opción es crear la plantilla desde los datos enviados a través de un URL.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"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"
}
}
}
Respuesta
Cuerpo de respuesta
{
"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}
Por último, se actualiza la casilla de CloudFormation con una de las plantillas que se obtuvieron en los dos últimos pasos.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"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"
}
}
Respuesta
Cuerpo de respuesta
{
"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"
}
Ejemplo: Modificar la plantilla de CloudFormation
1. POST http://cam.ctl.io/services/blobs/upload/template.json
Crea un blob desde datos de una plantilla modificada.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"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"
}
}
}
Respuesta
Cuerpo de respuesta
{
"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}
Actualiza la casilla de CloudFormation.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"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"
}
}
Respuesta
Cuerpo de respuesta
{
"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"
}
Ejemplo: Iniciar una casilla de CloudFormation
1. POST https://cam.ctl.io/services/instances
Crea una nueva instancia de la casilla de CloudFormation.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"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"
}
]
}
}
Respuesta
Cuerpo de respuesta
{
"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
}
Ejemplo: Actualizar un stack de CloudFormation en tiempo real
1. POST http://cam.ctl.io/services/blobs/upload/simple_template.json
Carga los datos de la plantilla modificada.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"Resources" : {
"HelloBucket" : {
"Type" : "AWS::S3::Bucket"
}
}
}
Respuesta
Cuerpo de respuesta
{
"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}
Actualiza la instancia con los cambios de la plantilla.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"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
}
Respuesta
Cuerpo de respuesta
{
"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 el stack según los cambios.
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Cuerpo de la solicitud
{
"id":"i-ywf1hu",
"method":"reconfigure"
}
Respuesta
Ninguno.
API para instancias
Gestione y realice acciones en instancias.
Crear o enumerar instancias
Recursos | Descripción |
---|---|
GET /services/instances | Obtiene la lista de instancias. |
POST /services/instances | Crea una nueva instancia o importa instancias sin registrar o basadas en un esquema. |
Realizar operaciones de instancia
Recursos | Descripción |
---|---|
GET /services/instances/{instance_id} | Recupera una instancia existente. |
PUT /services/instances/{instance_id} | Actualiza una instancia existente. |
DELETE /services/instances/{instance_id} | Finaliza una instancia existente, fuerza su finalización o la elimina. |
GET /services/instances/{instance_id}/service | Obtiene el servicio de la instancia. |
GET /services/instances/{instance_id}/activity | Obtiene todos los registros de actividad de las operaciones ejecutadas de una instancia. |
GET /services/instances/{instance_id}/machine_logs | Obtiene los registros de todas las máquinas de una instancia implementada. |
GET /services/instances/{instance_id}/bindings | Obtiene el enlace de una instancia. |
GET /services/instances/{instance_id}/operations | Obtiene todas las operaciones de una instancia. |
PUT /services/instances/{instance_id}/deploy | Vuelve a implementar una instancia existente. |
PUT /services/instances/{instance_id}/poweron | Enciende una instancia existente. |
PUT /services/instances/{instance_id}/shutdown | Cierra una instancia existente. |
PUT /services/instances/{instance_id}/reinstall | Vuelve a instalar una instancia existente. |
PUT /services/instances/{instance_id}/reconfigure | Vuelve a configurar una instancia existente. |
PUT /services/instances/{instance_id}/import | Reintenta importar una instancia sin registrar. |
PUT /services/instances/{instance_id}/cancel_import | Cancela una importación fallida de una instancia no registrada. |
PUT /services/instances/{instance_id}/abort_operation | Anula la ejecución de secuencias de una operación de instancia en proceso. |
GET /services/instances
Obtiene instancias accesibles en el espacio de trabajo personal del usuario autenticado.
URL
Estructura
[GET] /services/instances
Ejemplo
[GET] https://cam.ctl.io/services/instances
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Solicitud incorrecta
- 401 No autorizado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
box | secuencia | Identificador único de casilla utilizado para crear la instancia. |
lease | array | Programa una instancia con tres parámetros: |
created | secuencia | Fecha de creación. |
updated | secuencia | Fecha de la última actualización. |
automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). La opción predeterminada es off (desactivadas). |
members | array | Lista de miembros con quien se ha compartido la instancia. |
owner | secuencia | Propietario de la instancia. |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar servicio). |
nombre | secuencia | Nombre de instancia. |
servicio | objeto | Servicio de la instancia. |
service.type | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
service.id | secuencia | Identificador único del servicio. |
service.machines | array | Lista de máquinas del servicio. |
machine | objeto | Máquina incluida en la lista de máquinas del servicio. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.name | secuencia | Nombre de la máquina. |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). |
workflow.box | secuencia | Casilla de acción de flujo de trabajo. |
workflow.event | secuencia | Evento de acción de flujo de trabajo. |
workflow.script | secuencia | URL de acción de flujo de trabajo. |
etiquetas | array | Etiquetas de instancia. |
variables | array | Lista de variables de la instancia; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
casillas | array | Lista de casillas donde cada objeto de casilla contiene un parámetro de servicio. El parámetro de servicio puede tener uno de estos valores: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
uri | secuencia | URI de la instancia. |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
bindings | array | Lista de enlaces de la instancia. |
vinculante | objeto | Enlace contenido en la lista de enlaces; cada objeto de enlace contiene estos parámetros: instance (instancia) y name (nombre). |
id | array | Identificador único de la instancia. |
icon | secuencia | URI del ícono de la instancia. |
esquema | secuencia | URI del esquema de la instancia. |
Cuerpo de respuesta
[{
"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
Crea una nueva instancia y obtiene la instancia creada.
URL
Estructura
[POST] /services/instances
Ejemplo
[POST] https://cam.ctl.io/services/instances
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Parámetros del cuerpo de la solicitud
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
esquema | secuencia | URI del esquema de la instancia. | Sí |
owner | secuencia | ID del espacio de trabajo donde se publicó la instancia. | Sí |
box | Objeto | Objeto de casilla con su ID y una lista de objetos de variables anuladas en la implementación. | Sí |
policy_box | Objeto | Objeto de casilla con su ID y una lista de objetos de variables anuladas en la implementación. | Sí |
automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). La opción predeterminada es off (desactivadas). | |
lease | array | Programa una instancia con dos parámetros: |
|
nombre | secuencia | Nombre de instancia. | Sí |
instance_tags | array | Lista de etiquetas definidas en la implementación. |
Cuerpo de la solicitud
En el siguiente ejemplo, la solicitud programa la nueva instancia.
{
"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": []
}
}
Respuesta
Códigos de respuesta normales
- 202 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
lease | array | Si está programado, este objeto muestra estos parámetros para la instancia: |
bindings | array | Lista de enlaces de la instancia. |
vinculante | objeto | Enlace contenido en la lista de enlaces; cada objeto de enlace contiene estos parámetros: instance (instancia) y name (nombre). |
updated | secuencia | Fecha de la última actualización. |
nombre | secuencia | Nombre de instancia. |
servicio | Objeto | Servicio de la instancia. |
service.type | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
service.id | secuencia | Tipo de servicio. |
service.machines | array | Lista de máquinas del servicio. |
machine | objeto | Máquina incluida en la lista de máquinas del servicio. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.name | secuencia | Nombre de la máquina. |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). |
workflow.box | secuencia | Casilla de acción de flujo de trabajo. |
workflow.event | secuencia | Evento de acción de flujo de trabajo. |
workflow.script | secuencia | URL de acción de flujo de trabajo. |
etiquetas | array | Etiquetas de instancia. |
variables | array | Lista de variables de la instancia; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | secuencia | Fecha de creación. |
casillas | array | Lista de casillas. |
box.visibility | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
box.organization | secuencia | Organización a la que pertenece la casilla. |
box.updated | secuencia | Fecha de la última actualización. |
box.description | secuencia | Descripción de la casilla. |
box.service | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
box.tags | array | Etiquetas de casilla. |
box.variables | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
box.created | secuencia | Fecha de creación. |
box.uri | secuencia | URI de la casilla. |
box.id | array | Identificador único de la casilla. |
box.schema | secuencia | URI del esquema de la casilla. |
box.members | array | Lista de miembros de la casilla. |
box.owner | secuencia | Propietario de la casilla. |
box.bindings | array | Lista de enlaces de la casilla. |
box.binding | objeto | Enlace contenido en la lista de enlaces; cada enlace contiene una casilla y un nombre. |
box.icon | secuencia | URI del ícono de la casilla. |
box.events | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), post_configure (posconfiguración), post_dispose (poseliminación), post_install (posinstalación), post_start (posinicio), post_stop (posdetención), start (inicio) y stop (detención). |
box.event | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
box.name | secuencia | Nombre de la casilla. |
uri | secuencia | URI de la instancia. |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
members | array | Miembros de la instancia. |
owner | secuencia | Propietario de la instancia. |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar servicio). |
icon | secuencia | URI del ícono de la instancia. |
id | array | Identificador único de la instancia. |
esquema | secuencia | URI del esquema de la instancia. |
policy_box | objeto | Política de implementación específica para un proveedor. |
policy_box.provider_id | secuencia | ID del proveedor. |
policy_box.automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). |
policy_box.name | secuencia | Nombre de la casilla para políticas. |
policy_box.variables | array | Lista de variables de la casilla para políticas de implementación. |
policy_box.claims | array | Lista de reclamos de la casilla para políticas de implementación. |
policy_box.id | secuencia | ID de la casilla para políticas de implementación. |
policy_box.schema | secuencia | Esquema de la casilla para políticas de implementación. |
policy_box.members | array | Lista de miembros que comparten la casilla para políticas de implementación. |
policy_box.owner | secuencia | Propietario de la casilla para políticas de implementación. |
policy_box.readme | objeto | Archivo Léame para la casilla para políticas de implementación. |
Cuerpo de respuesta
{
"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 una instancia sin registrar: observe que es el mismo punto de enlace que para crear una nueva instancia.
URL
Estructura
[POST] /services/instances
Ejemplo
[POST] https://cam.ctl.io/services/instances
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
- Ninguno
Parámetros del cuerpo de la solicitud
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
esquema | secuencia | URI del esquema de la solicitud de registro de instancia. | Sí |
owner | secuencia | ID del espacio de trabajo a donde se importa la instancia. | Sí |
nombre | secuencia | Nombre de la instancia que se registra. | Sí |
descripción | secuencia | Descripción de la instancia que se registra. | |
unregistered_id | secuencia | Identificador único de la instancia. | Sí |
linux_username | secuencia | Usuario de Linux para instalar agente. | Sí |
private_key | secuencia | Clave de Linux para instalar agente. | Sí |
windows_username | secuencia | Nombre de usuario de Windows para instalar agente. | Sí |
windows_password | secuencia | Contraseña de Windows para instalar agente. | Sí |
instance_tags | array | Lista de etiquetas definidas en la implementación. | |
automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). La opción predeterminada es off (desactivadas). | |
lease | array | Programa una instancia con dos parámetros: |
Cuerpo de la solicitud
{
"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 utilizar la importación en bloque, la solicitud debe tener un esquema de solicitud de importación en bloque y una lista de
instancias no registradas:
{
"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"
]
}
Respuesta
Códigos de respuesta normales
- 202 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
lease | array | Si está programado, este objeto muestra estos parámetros para la instancia: |
bindings | array | Lista de enlaces de la instancia. |
vinculante | objeto | Enlace contenido en la lista de enlaces; cada objeto de enlace contiene estos parámetros: instance (instancia) y name (nombre). |
updated | secuencia | Fecha de la última actualización. |
nombre | secuencia | Nombre de instancia. |
servicio | Objeto | Servicio de la instancia. |
service.type | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
service.id | secuencia | Tipo de servicio. |
service.machines | array | Lista de máquinas del servicio. |
machine | objeto | Máquina incluida en la lista de máquinas del servicio. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.name | secuencia | Nombre de la máquina. |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). |
workflow.box | secuencia | Casilla de acción de flujo de trabajo. |
workflow.event | secuencia | Evento de acción de flujo de trabajo. |
workflow.script | secuencia | URL de acción de flujo de trabajo. |
etiquetas | array | Etiquetas de instancia. |
variables | array | Lista de variables de la instancia; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | secuencia | Fecha de creación. |
casillas | array | Lista de casillas. |
box.visibility | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
box.organization | secuencia | Organización a la que pertenece la casilla. |
box.updated | secuencia | Fecha de la última actualización. |
box.description | secuencia | Descripción de la casilla. |
box.service | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
box.tags | array | Etiquetas de casilla. |
box.variables | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
box.created | secuencia | Fecha de creación. |
box.uri | secuencia | URI de la casilla. |
box.id | array | Identificador único de la casilla. |
box.schema | secuencia | URI del esquema de la casilla. |
box.members | array | Lista de miembros de la casilla. |
box.owner | secuencia | Propietario de la casilla. |
box.bindings | array | Lista de enlaces de la casilla. |
box.binding | objeto | Enlace contenido en la lista de enlaces; cada enlace contiene una casilla y un nombre. |
box.icon | secuencia | URI del ícono de la casilla. |
box.events | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), post_configure (posconfiguración), post_dispose (poseliminación), post_install (posinstalación), post_start (posinicio), post_stop (posdetención), start (inicio) y stop (detención). |
box.event | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
box.name | secuencia | Nombre de la casilla. |
uri | secuencia | URI de la instancia. |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
members | array | Miembros de la instancia. |
owner | secuencia | Propietario de la instancia. |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar servicio). |
icon | secuencia | URI del ícono de la instancia. |
id | array | Identificador único de la instancia. |
esquema | secuencia | URI del esquema de la instancia. |
policy_box | objeto | Política de implementación específica para un proveedor. |
policy_box.provider_id | secuencia | ID del proveedor. |
policy_box.automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). |
policy_box.name | secuencia | Nombre de la casilla para políticas. |
policy_box.variables | array | Lista de variables de la casilla para políticas de implementación. |
policy_box.claims | array | Lista de reclamos de la casilla para políticas de implementación. |
policy_box.id | secuencia | ID de la casilla para políticas de implementación. |
policy_box.schema | secuencia | Esquema de la casilla para políticas de implementación. |
policy_box.members | array | Lista de miembros que comparten la casilla para políticas de implementación. |
policy_box.owner | secuencia | Propietario de la casilla para políticas de implementación. |
policy_box.readme | objeto | Archivo Léame para la casilla para políticas de implementación. |
Cuerpo de respuesta
{
"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}
Recupera una instancia existente con una ID proporcionada.
URL
Estructura
[GET] /services/instances/{instance_id}
Ejemplo
[GET] https://cam.ctl.io/services/instances/i-b1qtkz
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
bindings | array | Lista de enlaces de la instancia. |
vinculante | objeto | Enlace contenido en la lista de enlaces; cada objeto de enlace contiene estos parámetros: instance (instancia) y name (nombre). |
updated | secuencia | Fecha de la última actualización. |
nombre | secuencia | Nombre de instancia. |
servicio | objeto | Servicio de la instancia. |
service.type | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
service.id | secuencia | Tipo de servicio. |
service.machines | array | Lista de máquinas del servicio. |
machine | objeto | Máquina incluida en la lista de máquinas del servicio. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.name | secuencia | Nombre de la máquina. |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). |
workflow.box | secuencia | Casilla de acción de flujo de trabajo. |
workflow.event | secuencia | Evento de acción de flujo de trabajo. |
workflow.script | secuencia | URL de acción de flujo de trabajo. |
etiquetas | array | Etiquetas de instancia. |
variables | array | Lista de variables de la instancia; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | secuencia | Fecha de creación. |
casillas | array | Lista de casillas. |
box.visibility | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
box.organization | secuencia | Organización a la que pertenece la casilla. |
box.updated | secuencia | Fecha de la última actualización. |
box.description | secuencia | Descripción de la casilla. |
box.service | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
box.tags | array | Etiquetas de casilla. |
box.variables | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
box.created | secuencia | Fecha de creación. |
box.uri | secuencia | URI de la casilla. |
box.id | array | Identificador único de la casilla. |
box.schema | secuencia | URI del esquema de la casilla. |
box.members | array | Lista de miembros de la casilla. |
box.owner | secuencia | Propietario de la casilla. |
box.bindings | array | Lista de enlaces de la casilla. |
box.binding | objeto | Enlace contenido en la lista de enlaces; cada enlace contiene una casilla y un nombre. |
box.icon | secuencia | URI del ícono de la casilla. |
box.events | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), post_configure (posconfiguración), post_dispose (poseliminación), post_install (posinstalación), post_start (posinicio), post_stop (posdetención), start (inicio) y stop (detención). |
box.event | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
box.name | secuencia | Nombre de la casilla. |
policy_box | objeto | Política de implementación específica para un proveedor. |
policy_box.provider_id | secuencia | ID del proveedor. |
policy_box.automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). |
policy_box.name | secuencia | Nombre de la casilla para políticas. |
policy_box.variables | array | Lista de variables de la casilla para políticas de implementación. |
policy_box.claims | array | Lista de reclamos de la casilla para políticas de implementación. |
policy_box.id | secuencia | ID de la casilla para políticas de implementación. |
policy_box.schema | secuencia | Esquema de la casilla para políticas de implementación. |
policy_box.members | array | Lista de miembros que comparten la casilla para políticas de implementación. |
policy_box.owner | secuencia | Propietario de la casilla para políticas de implementación. |
policy_box.readme | objeto | Archivo Léame para la casilla para políticas de implementación. |
uri | secuencia | URI de la instancia. |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
members | array | Miembros de la instancia. |
owner | secuencia | Propietario de la instancia. |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar servicio). |
icon | secuencia | URI del ícono de la instancia. |
id | array | Identificador único de la instancia. |
esquema | secuencia | URI del esquema de la instancia. |
Cuerpo de respuesta
{
"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}
Con la ID de la instancia, actualiza solo estos campos de una instancia existente: boxes (casillas), tags (etiquetas), schedule (programación), members (miembros) y variables. El cuerpo de la solicitud debe contener un objeto de instancia.
URL
Estructura
[PUT] /services/instances/{instance_id}
Ejemplo
[PUT] https://cam.ctl.io/services/instances/eb-bbhzh
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Parámetros del cuerpo de la solicitud
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
bindings | array | Lista de enlaces de la instancia. | |
vinculante | objeto | Enlace contenido en la lista de enlaces; cada objeto de enlace contiene estos parámetros: instance (instancia) y name (nombre). | |
updated | secuencia | Fecha de la última actualización. | |
nombre | secuencia | Nombre de instancia. | Sí |
servicio | objeto | Servicio de la instancia. | Sí |
service.type | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). | Sí |
service.id | secuencia | Tipo de servicio. | Sí |
service.machines | array | Lista de máquinas del servicio. | |
machine | objeto | Máquina incluida en la lista de máquinas del servicio. | |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). | |
machine.name | secuencia | Nombre de la máquina. | |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). | |
workflow.box | secuencia | Casilla de acción de flujo de trabajo. | |
workflow.event | secuencia | Evento de acción de flujo de trabajo. | |
workflow.script | secuencia | URL de acción de flujo de trabajo. | |
etiquetas | array | Etiquetas de instancia. | |
variables | array | Lista de variables de la instancia; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. | |
created | secuencia | Fecha de creación. | |
casillas | array | Lista de casillas. | Sí |
box.visibility | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
|
box.organization | secuencia | Organización a la que pertenece la casilla. | Sí |
box.updated | secuencia | Fecha de la última actualización. | |
box.description | secuencia | Descripción de la casilla. | |
box.service | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). | Sí |
box.tags | array | Etiquetas de casilla. | |
box.variables | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. | |
box.created | secuencia | Fecha de creación. | |
box.uri | secuencia | URI de la casilla. | |
box.id | array | Identificador único de la casilla. | Sí |
box.schema | secuencia | URI del esquema de la casilla. | Sí |
box.members | array | Lista de miembros de la casilla. | |
box.owner | secuencia | Propietario de la casilla. | Sí |
box.bindings | array | Lista de enlaces de la casilla. | |
box.binding | objeto | Enlace contenido en la lista de enlaces; cada enlace contiene una casilla y un nombre. | |
box.icon | secuencia | URI del ícono de la casilla. | |
box.events | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), post_configure (posconfiguración), post_dispose (poseliminación), post_install (posinstalación), post_start (posinicio), post_stop (posdetención), start (inicio) y stop (detención). | |
box.event | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). | |
box.name | secuencia | Nombre de la casilla. | Sí |
policy_box | objeto | Política de implementación específica para un proveedor. | |
policy_box.provider_id | secuencia | ID del proveedor. | |
policy_box.automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). | |
policy_box.name | secuencia | Nombre de la casilla para políticas. | |
policy_box.variables | array | Lista de variables de la casilla para políticas de implementación. | |
policy_box.claims | array | Lista de reclamos de la casilla para políticas de implementación. | |
policy_box.id | secuencia | ID de la casilla para políticas de implementación. | |
policy_box.schema | secuencia | Esquema de la casilla para políticas de implementación. | |
policy_box.members | array | Lista de miembros que comparten la casilla para políticas de implementación. | |
policy_box.owner | secuencia | Propietario de la casilla para políticas de implementación. | |
policy_box.readme | objeto | Archivo Léame para la casilla para políticas de implementación. | |
uri | secuencia | URI de la instancia. | |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). | Sí |
members | array | Miembros de la instancia. | |
owner | secuencia | Propietario de la instancia. | Sí |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar servicio). | Sí |
icon | secuencia | URI del ícono de la instancia. | |
id | array | Identificador único de la instancia. | Sí |
esquema | secuencia | URI del esquema de la instancia. | Sí |
lease | array | Programa una instancia con dos parámetros: |
Cuerpo de la solicitud
{
"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"
}
Respuesta
Códigos de respuesta normales
- 200 Aceptar
- 202 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
bindings | array | Lista de enlaces de la instancia. |
vinculante | objeto | Enlace contenido en la lista de enlaces; cada objeto de enlace contiene estos parámetros: instance (instancia) y name (nombre). |
updated | secuencia | Fecha de la última actualización. |
nombre | secuencia | Nombre de instancia. |
servicio | Objeto | Servicio de la instancia. |
service.type | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
service.id | secuencia | Tipo de servicio. |
service.machines | array | Lista de máquinas del servicio. |
machine | objeto | Máquina incluida en la lista de máquinas del servicio. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.name | secuencia | Nombre de la máquina. |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). |
workflow.box | secuencia | Casilla de acción de flujo de trabajo. |
workflow.event | secuencia | Evento de acción de flujo de trabajo. |
workflow.script | secuencia | URL de acción de flujo de trabajo. |
etiquetas | array | Etiquetas de instancia. |
variables | array | Lista de variables de la instancia; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
created | secuencia | Fecha de creación. |
casillas | array | Lista de casillas. |
box.visibility | secuencia | Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles en el espacio de trabajo en el que se crean. Puede tener uno de estos valores: |
box.organization | secuencia | Organización a la que pertenece la casilla. |
box.updated | secuencia | Fecha de la última actualización. |
box.description | secuencia | Descripción de la casilla. |
box.service | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
box.tags | array | Etiquetas de casilla. |
box.variables | array | Lista de variables de la casilla; cada objeto de variable contiene estos parámetros: type (tipo), name (nombre), value (valor), visibility (visibilidad), required (requerido), etc. |
box.created | secuencia | Fecha de creación. |
box.uri | secuencia | URI de la casilla. |
box.id | array | Identificador único de la casilla. |
box.schema | secuencia | URI del esquema de la casilla. |
box.members | array | Lista de miembros de la casilla. |
box.owner | secuencia | Propietario de la casilla. |
box.bindings | array | Lista de enlaces de la casilla. |
box.binding | objeto | Enlace contenido en la lista de enlaces; cada enlace contiene una casilla y un nombre. |
box.icon | secuencia | URI del ícono de la casilla. |
box.events | array | Lista de eventos de la casilla; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), post_configure (posconfiguración), post_dispose (poseliminación), post_install (posinstalación), post_start (posinicio), post_stop (posdetención), start (inicio) y stop (detención). |
box.event | objeto | Evento contenido en una de las listas de eventos; cada objeto de evento contiene estos parámetros: url, upload_date (fecha de carga), length (longitud) y destination_path (ruta de destino). |
box.name | secuencia | Nombre de la casilla. |
policy_box | objeto | Política de implementación específica para un proveedor. |
policy_box.provider_id | secuencia | ID del proveedor. |
policy_box.automatic_updates | secuencia | Una de estas opciones: major (mayores), minor (menores), patch (parche) u off (desactivadas). |
policy_box.name | secuencia | Nombre de la casilla para políticas. |
policy_box.variables | array | Lista de variables de la casilla para políticas de implementación. |
policy_box.claims | array | Lista de reclamos de la casilla para políticas de implementación. |
policy_box.id | secuencia | ID de la casilla para políticas de implementación. |
policy_box.schema | secuencia | Esquema de la casilla para políticas de implementación. |
policy_box.members | array | Lista de miembros que comparten la casilla para políticas de implementación. |
policy_box.owner | secuencia | Propietario de la casilla para políticas de implementación. |
policy_box.readme | objeto | Archivo Léame para la casilla para políticas de implementación. |
uri | secuencia | URI de la instancia. |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
members | array | Miembros de la instancia. |
owner | secuencia | Propietario de la instancia. |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar servicio). |
icon | secuencia | URI del ícono de la instancia. |
id | array | Identificador único de la instancia. |
esquema | secuencia | URI del esquema de la instancia. |
lease | array | Programa una instancia con dos parámetros: |
Cuerpo de respuesta
{
"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}
Finaliza una instancia existente, fuerza su finalización o la elimina con base en la ID.
URL
Estructura
[DELETE] /services/instances/{instance_id}?operation=value
Ejemplo
[DELETE] https://cam.ctl.io/services/instances/eb-bbhzh?operation=force_terminate
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
operation | secuencia | El tipo de operación debe ser uno de los siguientes valores: terminate (finalizar), force_terminate (forzar terminación) o delete (eliminar) | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 400 Datos no válidos
- 403 Prohibido
- 404 No encontrado
- 409 Conflicto de operación
GET /services/instances/{instance_id}/service
Obtiene el servicio en la instancia con la ID de la instancia proporcionada.
URL
Estructura
[GET] /services/instances/{instance_id}/service
Ejemplo
[GET] https://cam.ctl.io/services/instances/i-b1qtkz/service
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
perfil | objeto | Perfil del servicio. |
profile.subnet | secuencia | Subred del perfil. |
profile.image | secuencia | Imagen del perfil. |
profile.keypair | secuencia | Par de claves del perfil. |
profile.location | secuencia | Ubicación del perfil. |
profile.security_group | secuencia | Grupo de seguridad del perfil. |
profile.flavor | secuencia | Tipo de perfil. |
profile.autoscalable | boolean | Escalabilidad automática del perfil. |
profile.cloud | boolean | Tipo de nube. |
profile.schema | secuencia | URI del esquema del perfil. |
provider_id | secuencia | Identificador único del proveedor del perfil. |
created | secuencia | Fecha de creación. |
etiquetas | array | Etiquetas del servicio. |
state | secuencia | Estado del servicio; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
token | secuencia | Token del servicio. |
operation | secuencia | La última operación del servicio; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar el servicio). |
icon | secuencia | URL del ícono de servicio. |
tipo | secuencia | Tipo de instancia. |
id | secuencia | Identificador único de la instancia. |
machines | array | Lista de máquinas del servicio. |
machine.token | secuencia | Token de la máquina. |
machine.name | secuencia | Nombre de la máquina. |
machine.address | array | La matriz contiene la dirección pública y la privada. |
machine.agent_version | array | Versión del agente de la máquina. |
machine.external_id | array | ID externa de la máquina. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.schema | array | URI del esquema de la máquina. |
esquema | secuencia | URI del esquema del servicio. |
organización | secuencia | Nombre de la organización propietaria de este servicio. |
deleted | secuencia | Nulo cuando la instancia está disponible. |
Cuerpo de respuesta
{
"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
Obtiene todos los registros de actividad de operaciones ejecutadas en una instancia cuando se proporciona la ID de esa instancia.
URL
Estructura
[GET] /services/instances/{instance_id}/activity
Ejemplo
[GET] https://cam.ctl.io/services/instances/i-b1qtkz/activity
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
* box | secuencia | Nombre de la casilla. |
nombre de usuario | secuencia | Usuario que realizó la actividad. |
* machine | secuencia | Máquina. |
level | secuencia | Tipo de actividad. |
texto | secuencia | Descripción de la actividad. |
created | secuencia | Fecha de creación de la actividad. |
* event | secuencia | Evento de actividad. |
* Nota: Solo se muestra cuando la actividad de la instancia está relacionada con el parámetro.
Cuerpo de respuesta
[
{
"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
Obtiene los registros de una máquina para una instancia implementada cuando se proporciona la ID de esa instancia.
URL
Estructura
[GET] /services/instances/{instance_id}/machine_logs?machine_name={machine}
Ejemplo
[GET] https://cam.ctl.io/services/instances/eb-bbhzh/activity?operation=nfs-client1-eb-osw3o-1
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
machine_name | secuencia | El nombre de la máquina de la que desea recuperar el registro. Puede obtener el nombre de la máquina de la documentación de la instancia. | Sí |
box | secuencia | Nombre de la casilla. | |
event | secuencia | Tipo de evento; puede haber nueve listas de eventos: configure (configuración), dispose (eliminación), install (instalación), post_dispose (poseliminación), post_stop (posdetención), pre_configure (preconfiguración), pre_install (preinstalación), pre_start (preinicio), start and stop (inicio y detención). | |
operation | secuencia | La ID de operación específica; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar el servicio). |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Cuerpo de respuesta
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
Obtiene el enlace de una instancia cuando se proporciona la ID de esa instancia.
URL
Estructura
[GET] /services/instances/{instance_id}/bindings
Ejemplo
[GET] https://cam.ctl.io/services/instances/eb-bbhzh/bindings
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
updated | secuencia | Fecha de la última actualización. |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar servicio). |
nombre | secuencia | Nombre de instancia. |
servicio | Objeto | Servicio de la instancia. |
service.type | secuencia | Puede ser uno de estos tipos: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
service.id | secuencia | Tipo de servicio. |
service.machines | array | Lista de máquinas del servicio. |
machine | objeto | Máquina incluida en la lista de máquinas del servicio. |
machine.state | secuencia | Estado de la máquina; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
machine.name | secuencia | Nombre de la máquina. |
machine.workflow | array | Lista de acciones de flujo de trabajo; cada objeto de acción de flujo de trabajo contiene tres parámetros: box (casilla), event (evento) y script (secuencia). |
workflow.box | secuencia | Casilla de acción de flujo de trabajo. |
workflow.event | secuencia | Evento de acción de flujo de trabajo. |
workflow.script | secuencia | URL de acción de flujo de trabajo. |
etiquetas | array | Etiquetas de instancia. |
casillas | array | Lista de casillas donde cada objeto de casilla contiene un parámetro de servicio. El parámetro de servicio puede tener uno de estos valores: Linux Compute (proceso de Linux), Windows Compute (proceso de Windows) o CloudFormation Service (servicio de CloudFormation). |
uri | secuencia | URI de la instancia. |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
bindings | array | Lista de enlaces de la instancia. |
vinculante | objeto | Enlace contenido en la lista de enlaces; cada objeto de enlace contiene estos parámetros: instance (instancia) y name (nombre). |
id | array | Identificador único de la instancia. |
icon | secuencia | URI del ícono de la instancia. |
esquema | secuencia | URI del esquema de la instancia. |
Cuerpo de respuesta
[
{
"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
Obtiene todas las operaciones ejecutadas en una instancia cuando se proporciona la ID de esa instancia.
URL
Estructura
[GET] /services/instances/{instance_id}/operations
Ejemplo
[GET] https://cam.ctl.io/services/instances/i-b1qtkz/operations
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Parámetros de la respuesta
Parámetro | Tipo | Descripción |
---|---|---|
nombre de usuario | secuencia | Nombre del usuario. |
updated | secuencia | Fecha de la última actualización. |
created | secuencia | Fecha de creación. |
instancia | secuencia | Identificador único de la instancia. |
state | secuencia | Estado de la instancia; hay tres estados posibles: processing (en proceso), done (terminado) y unavailable (no disponible). |
workspace | secuencia | Nombre del espacio de trabajo. |
actividades | array | Lista de actividades. |
activity.username | secuencia | Usuario que realizó la actividad. |
activity.text | secuencia | Descripción de la actividad. |
activity.level | secuencia | Tipo de actividad. |
activity.created | secuencia | Fecha de la actividad. |
operation | secuencia | Última operación; hay siete tipos de operaciones: deploy (implementar), shutdown (cerrar), poweron (encender), reinstall (reinstalar), reconfigure (reconfigurar), terminate (finalizar) y terminate_service (finalizar el servicio). |
id | secuencia | Identificador único de la operación. |
deleted | secuencia | Fecha de eliminación. |
esquema | secuencia | URI del esquema de la operación. |
Cuerpo de respuesta
[
{
"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
Vuelve a implementar una instancia existente. Requiere la instance_id (ID de instancia) especificada.
URL
Estructura
[PUT] /services/instances/{instance_id}/deploy
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-ndt46z/deploy
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 409 Conflicto de operación
PUT /services/instances/{instance_id}/poweron
Enciende una instancia existente cuando se proporciona la ID de esa instancia.
URL
Estructura
[PUT] /services/instances/{instance_id}/poweron
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-b1qtkz/poweron
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 409 Conflicto de operación
PUT /services/instances/{instance_id}/shutdown
Cierra una instancia existente cuando se proporciona la ID de esa instancia.
URL
Estructura
[PUT] /services/instances/{instance_id}/shutdown
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-b1qtkz/shutdown
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 409 Conflicto de operación
PUT /services/instances/{instance_id}/reinstall
Reinstala una instancia existente cuando se proporciona su ID.
URL
Estructura
[PUT] /services/instances/{instance_id}/reinstall
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-b1qtkz/reinstall
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 409 Conflicto de operación
PUT /services/instances/{instance_id}/reconfigure
Vuelve a configurar una instancia existente cuando se proporciona su ID.
URL
Estructura
[PUT] /services/instances/{instance_id}/reconfigure
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-b1qtkz/reconfigure
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 409 Conflicto de operación
Cuerpo de respuesta
{
"id":"i-4g166v",
"method":"reconfigure"
}
PUT /services/instances/{instance_id}/import
Reintenta importar una instancia sin registrar cuando se proporciona su ID.
URL
Estructura
[PUT] /services/instances/{instance_id}/import
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-ndt46z/import
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Cuerpo de respuesta
{
"id":"i-eruumb",
"method":"import"
}
PUT /services/instances/{instance_id}/cancel_import
Cancela una importación fallida de una instancia sin registrar cuando se proporciona su ID.
URL
Estructura
[PUT] /services/instances/{instance_id}/cancel_import
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-ndt46z/cancel_import
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Cuerpo de respuesta
{
"id":"i-eruumb",
"method":"cancel_import"
}
PUT /services/instances/{instance_id}/abort_operation
Anula una operación en proceso ejecutando secuencias en una instancia cuando se proporciona su ID.
La instancia debe estar en proceso y ejecutando secuencias de eventos.
También se requieren permisos de edición en la instancia.
URL
Estructura
[PUT] /services/instances/{instance_id}/abort_operation
Ejemplo
[PUT] https://cam.ctl.io/services/instances/i-ndt46z/abort_operation
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Parámetro | Tipo | Descripción | Req. |
---|---|---|---|
instance_id | secuencia | ID de la instancia. | Sí |
Respuesta
Códigos de respuesta normales
- 200 Aceptar
Códigos de respuesta de error comunes
- 403 Prohibido
- 404 No encontrado
Delegar la gestión de una instancia existente
Este servicio permite al usuario delegar la gestión de una instancia existente a CenturyLink.
Cuándo utilizarlo
Utilice esta operación de API si desea que CL pueda gestionar una instancia en su nombre.
NOTA: Deben cumplirse los siguientes requisitos para poder hacer que una instancia sea gestionada:
- Solo se pueden gestionar instancias “compute” (de proceso) (Linux y Windows).
- Deben aceptarse los términos y condiciones. Para ello, el siguiente parámetro de URL debe establecerse como true (verdadero):
accept_terms=true
- La instancia debe estar en estado “Done” (terminada).
- El usuario que realiza la solicitud debe tener permisos de write (escritura) para la instancia.
- La empresa propietaria de la instancia debe admitir la “delegación de gestión”.
Sistemas operativos admitidos
- Linux
- Windows
URL
Estructura
[PUT] /services/instances/{instance_id}/make_managed_os
Ejemplo
PUT https://cam.ctl.io/services/instances/i-fbs9ow/make_managed_os?accept_terms=true
Solicitud
Encabezados
Content-Type: application/json
Authorization: Bearer your_json_web_token
ElasticBox-Release: 4.0
Parámetros del URI
Nombre | Tipo | Descripción | Req. |
---|---|---|---|
InscanceId | secuencia | ID de la instancia. | Sí |
accept_terms | boolean | Indica que el cliente acepta los términos y condiciones. | Sí |
Respuesta
Códigos de respuesta normales
- 202 Aceptado
Códigos de respuesta de error comunes
- Solicitud incorrecta (400) - La solicitud tiene parámetros no válidos, incompletos o faltantes (detalles proporcionados dentro del cuerpo)
- No autorizado (401) - Cookie o token de acceso no válido
- Prohibido (403) - El usuario no pertenece a la organización
- No encontrado (404) - Organización no encontrada
Implementar una casilla
Resumen
Esta guía muestra cómo implementar una instancia de mongoDB usando la API del Gestor de aplicaciones en la nube. En este ejemplo, implementamos una instancia de MongoDB utilizando la casilla pública de MongoDB existente. Los pasos que debe seguir son:
- Autenticar con el Gestor de aplicaciones en la nube
- Declarar argumentos de implementación
- Registrar un proveedor en el Gestor de aplicaciones en la nube
- Crear una casilla para políticas de implementación
- Implementar una instancia de MongoDB
- Finalizar la instancia
Nota: Utilizamos comandos de cURL para enviar solicitudes HTTP a los objetos de API en JSON. JSON es el formato necesario para todas las solicitudes y respuestas de API.
A continuación veamos la secuencia en secciones, para entender cómo pueden realizarse llamadas API con cualquier código que desee.
Autenticar con el Gestor de aplicaciones en la nube
En primer lugar, debe ser el administrador del espacio de trabajo en cuestión o tener acceso de administrador a su organización en el Gestor de aplicaciones en la nube.
Antes de llamar a la API, debe iniciar sesión en el sitio web del Gestor de aplicaciones en la nube y obtener un token de autenticación. Este token se utilizará más tarde como encabezado http para realizar cada llamada a la API del Gestor de aplicaciones en la nube.
Declarar argumentos de implementación
Las variables siguientes se configuran con parámetros de llamada a secuencia. De esta forma, cada vez que se ejecuta la secuencia, pueden transferir diferentes argumentos de implementación. Estas variables declaradas se mencionan más adelante en la secuencia como valores de los parámetros de solicitud.
Variable | Tipo | Descripción |
---|---|---|
provider_key provider_secret |
secuencia | Se necesitan la clave y el secreto de la cuenta del proveedor para registrar un proveedor. Vea a continuación cómo registrar un proveedor y obtener sus parámetros. |
json_web_token | secuencia | Este es el token de autenticación obtenido antes. Un ejemplo es eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYb25z... |
medio ambiente | secuencia | Establece del nombre del host de la organización del URL o la IP de su dispositivo, a donde se envían las llamadas API. Ejemplos: cam.ctl.io (si está utilizando la edición SaaS del CAM), 192.168.1.10 (para un dispositivo CAM local). |
owner | secuencia | Especifica la ID de usuario propietario de la cuenta del proveedor en el Gestor de aplicaciones en la nube. Puede recuperarla de la llamada API GET provider, en el campo owner (propietario) devuelto. |
nombre de usuario | secuencia | Nombre del usuario administrador. |
contraseña | secuencia | Contraseña del usuario administrador. |
Inicie la secuencia con las siguientes líneas:
# Deployment common variables
provider_key=$1
provider_secret=$2
json_web_token=$3
environment=$4
owner=$5
username=$6
password=$7
Hay otras variables obtenidas durante la ejecución de la secuencia, necesarias para los siguientes pasos.
Variable | Tipo | Descripción |
---|---|---|
provider_id | secuencia | Se obtiene al registrar un proveedor. |
policy_box_id | secuencia | Se obtiene al crear una casilla para política de implementación. |
instance_id | secuencia | Se obtiene al implementar una instancia de casilla. |
Registrar un proveedor en el Gestor de aplicaciones en la nube
Un proveedor es una cuenta de nube privada o pública que puede registrarse en el Gestor de aplicaciones en la nube.
Para registrar un proveedor, enviamos una solicitud POST al objeto Provider (proveedor) con los parámetros necesarios.
En este caso, elegimos configurar Amazon Web Services como proveedor en el dispositivo. En este momento se necesitan la clave y el secreto de las credenciales de la cuenta de AWS. Para crearla en un servicio de organización se requiere el código del ARN como credencial. Puede obtener los parámetros necesarios para otros proveedores en el documento de API del objeto Provider (proveedor).
Si hay una falla al registrar el proveedor, indicamos el error. De lo contrario, indicamos la ID del proveedor, y la guardamos en la variable id_provider.
Agregue las siguientes líneas a su secuencia:
# 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;
Crear una casilla para políticas de implementación
Una casilla para política para implementación es donde se especifican las configuraciones para implementar aplicaciones en un entorno virtual específico.
Para crear una casilla para política de implementación, enviamos una solicitud POST al objeto Box (casilla) con la ID del proveedor obtenida al registrar el proveedor en la variable id_provider.
Si hay una falla al crear la casilla para política de implementación, indicamos el error. De lo contrario, indicamos la ID de la casilla para política de implementación creada y la guardamos en la variable policy_box_id.
Agregue las siguientes líneas a su secuencia:
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;
Implementar una instancia de MongoDB
Para implementar una instancia de MongoDB utilizando la casilla pública existente de MongoDB, enviamos una solicitud POST al objeto Instances (instancias) con la ID de casilla de la variable mongo_box_id de la casilla de MongoDB y la ID de la casilla para política obtenida al crear dicha casilla en la variable policy_box_id.
Si hay una falla al implementar la instancia, indicamos el error. De lo contrario, indicamos la ID de la instancia implementada y la guardamos en la variable instance_id.
Agregue las siguientes líneas a su secuencia:
#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;
Almacenamos la respuesta y comprobamos si la instancia se inició. Si no se inició, indicamos un error, o indicamos que la instancia está disponible y proporcionamos su ID.
Mientras la instancia se está iniciando, comprobamos su estado cada 30 segundos con una solicitud GET al objeto Instances (instancias), transfiriendo la ID de la instancia. A continuación, evaluamos si esperar o continuar: si aún se está procesando, indicamos eso y esperamos; si no, indicamos el estado actual de la instancia y pasamos a la siguiente tarea.
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
Finalizar la instancia
Para eliminar la instancia de la máquina virtual, enviamos una solicitud DELETE al objeto Instances (instancias) con la ID de la instancia. A continuación, comprobamos su estado de respuesta. Si es 200, indicamos que la instancia específica ha finalizado. De lo contrario, indicamos el estado de error de la respuesta.
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
Mientras esperamos a que finalice la instancia, hacemos un GET en el objeto Instances (instancias) con la ID de la instancia para saber la operación que se está ejecutando en la instancia y su estado actual. Si se está procesando, indicamos eso y esperamos a que se complete, si no, indicamos la operación que se ejecutó y el estado de la instancia.
#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, eliminamos la instancia y sus registros del Gestor de aplicaciones en la nube enviando una solicitud DELETE con la ID de la instancia al objeto Instances (instancias). Una vez finalizado, decimos que la instancia se eliminó. De forma similar, eliminamos la casilla para política de implementación con una solicitud DELETE al objeto Profiles (perfiles) y confirmamos que se haya realizado.
#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
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para buscar el registro en \ProgramData\ElasticBox\Logs\elasticbox-agent.log
Flujo de instancias
En este artículo
- Resumen
- Autenticar con el Gestor de aplicaciones en la nube
- Obtener variables de implementación
- Registrar un proveedor en el Gestor de aplicaciones en la nube
- Crear una casilla para políticas de implementación
- Crear una casilla personalizada
- Implementar la instancia
- Finalizar y eliminar la instancia
- Comunicarse con soporte de Cloud Application Manager
Resumen
Esta guía muestra cómo utilizar la API del Gestor de aplicaciones en la nube desde el registro de un proveedor hasta la implementación de una instancia.
Notas:
-
Los siguientes ejemplos utilizan un comando de cURL para enviar solicitudes HTTP a los objetos API en JSON. JSON es el formato necesario para todas las solicitudes y respuestas de API.
-
El comando de cURL se utiliza con el parámetro -k para más comodidad, lo que le permite continuar y operar incluso con conexiones de servidor consideradas inseguras. No lo utilice en producción.
-
Al ejecutar un comando, se tarda un tiempo en que los recursos estén listos, y llamar al siguiente paso antes de que finalice el anterior puede provocar un error (por ejemplo, justo después de crear el proveedor, se iniciará la sincronización, y no se podrá crear la casilla de implementación hasta que no se complete la primera sincronización).
A continuación veamos la secuencia en secciones, para entender cómo pueden realizarse llamadas API con cualquier código que desee.
Autenticar con el Gestor de aplicaciones en la nube
En primer lugar, debe tener el rol de administrador en un espacio de trabajo para poder ejecutar estos pasos. Debe obtener acceso de administrador al Gestor de aplicaciones en la nube.
Antes de llamar a la API, debe iniciar sesión en el sitio web del Gestor de aplicaciones en la nube y obtener un token de autenticación. Este token se utilizará como encabezado HTTP de autenticación para realizar cada llamada a la API del Gestor de aplicaciones en la nube.
Obtener variables de implementación
A continuación, defina las variables que contendrán los parámetros de la secuencia. De esta forma, cada vez que se ejecuta la secuencia, pueden transferir diferentes argumentos de implementación. Estas variables declaradas se mencionan más adelante en la secuencia como valores de los parámetros de solicitud.
Variable | Descripción |
---|---|
provider_key | Se necesitan la clave y el secreto de la cuenta del proveedor para registrar un proveedor. |
provider_secret | Vea a continuación cómo registrar un proveedor y obtener sus parámetros. |
json_web_token | Este es el token de autenticación obtenido antes. Es una secuencia con codificación BASE64 larga que comienza con algo como: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYb25z... |
medio ambiente | Establece del nombre del host de la organización del URL o la IP de su dispositivo, a donde se envían las llamadas API. Ejemplos: cam.ctl.io, your-organization.cam.ctl.io, 192.168.1.10. |
owner | Especifica la ID de usuario propietario de la cuenta del proveedor en el Gestor de aplicaciones en la nube. |
Comience su secuencia con las siguientes líneas:
# Deployment common variables
provider_key=$1
provider_secret=$2
json_web_token=$3
environment=$4
owner=$5
Hay otras variables obtenidas durante la ejecución de la secuencia, necesarias para los siguientes pasos.
Variable | Descripción |
---|---|
provider_id | Se obtiene al registrar un proveedor. |
policy_box_id | Se obtiene al crear una casilla para política de implementación. |
box_id | Se obtiene al crear una casilla personalizada. |
instance_id | Se obtiene al implementar una instancia de casilla. |
Registrar un proveedor en el Gestor de aplicaciones en la nube
Un proveedor es una cuenta de nube privada o pública que puede registrarse en el Gestor de aplicaciones en la nube.
Para registrar un proveedor, envíe una solicitud POST al punto de enlace Providers (proveedores) con los parámetros necesarios.
En este ejemplo se muestran los pasos para crear un proveedor AWS en el Gestor de aplicaciones en la nube. Se necesitará el par de clave y secreto.
Crearlo en un servicio de organización requiere un ARN de rol como instancia de credencial de un par de claves.
Otros tipos de proveedores requieren diferentes conjuntos de credenciales, que puede consultar en el doc de API Punto de enlace Providers (Proveedores).
Si hay una falla al registrar el proveedor, indica el error. De lo contrario, indica la ID del proveedor y la guarda en la variable id_provider.
Agregue las siguientes líneas a la secuencia:
# 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;
Crear una casilla para políticas de implementación
Una casilla para política de implementación contiene las configuraciones para implementar aplicaciones en un entorno virtual específico. Para AWS, contiene detalles sobre la región, la nube privada virtual (VPC, por sus siglas en inglés), grupos de seguridad, etc.
Para crear una casilla para política de implementación, envíe una solicitud POST al punto de enlace Boxes (casillas) con la ID del proveedor obtenida en la variable id_provider al registrar el proveedor.
Si hay una falla al crear la casilla para política de implementación, indica el error. De lo contrario, indica la ID de la casilla para política de implementación creada y la guarda en la variable policy_box_id.
Agregue las siguientes líneas a la secuencia:
# 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;
Crear una casilla personalizada
Una casilla de secuencia define el comportamiento de su aplicación durante la implementación, la reconfiguración y la finalización.
Para crear una casilla, envíe una solicitud POST al punto de enlace Boxes (casillas).
También utilice dos blobs ya creados. Puede echar un vistazo a la documentación de API punto de enlace Blobs si necesita saber cómo crearlos.
Si hay una falla al crear esta casilla, indica el error. De lo contrario, indica la ID de la casilla y la guarda en la variable box_id.
Agregue las siguientes líneas a la secuencia:
# 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;
Implementar la instancia
Para implementar una instancia de la casilla anterior, envíe una solicitud POST al punto de enlace Instances (instancias) con la ID obtenida en la variable box_id al crear la casilla y la ID obtenida en la variable policy_box_id al crear la casilla para política.
Si hay una falla al implementar la instancia, indica el error. De lo contrario, indica la ID de la instancia implementada y la guarda en la variable instance_id.
Agregue las siguientes líneas a la secuencia:
# 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;
Finalizar y eliminar la instancia
La eliminación de la instancia de la máquina virtual debe realizarse en dos pasos: primero, finalice la instancia, y segundo, elimínela.
La finalización ejecuta las secuencias de eventos de detención y finalización y, a continuación, elimina los recursos de la nube, pero no elimina la instancia de la base de datos del Gestor de aplicaciones en la nube. Envíe una solicitud DELETE al punto de enlace Instances (instancias) con la ID de la instancia obtenida en la variable instance_id al implementar la instancia y con el parámetro de URL operation=terminate
.
A continuación, compruebe su estado de respuesta. Si es 200, la instancia específica ha finalizado. De lo contrario, compruebe el estado de error de la respuesta.
Puede forzar la finalización con el parámetro de URL operation=force_terminate
. Vea los detalles del comando DELETE en la API para instancias.
Agregue las siguientes líneas a la secuencia:
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"
Después, vuelva a enviar un comando DELETE con un parámetro de URL operation=delete
para eliminar definitivamente la instancia del Gestor de aplicaciones en la nube.
Copie de nuevo las líneas de la secuencia anterior y reemplace las dos últimas líneas con estas nuevas:
https://$environment/services/instances/$instance_id??operation=delete
echo "Removed box instance: $instance_id"
Comunicarse con soporte de Cloud Application Manager
Lamentamos que esté teniendo problemas en el Gestor de aplicaciones en la nube. Revise los consejos para solucionar problemas o comuníquese con soporte de Cloud Application Manager para proporcionar detalles y capturas de pantalla de ser posible.
Para problemas relacionados con las llamadas API, envíe el cuerpo de la solicitud junto con los detalles del problema.
En el caso de error de casilla, comparta la casilla en el espacio de trabajo en el que su organización y Cloud Application Manager pueden ingresar y adjunte los registros.
- Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
- Windows: RDP dentro de la instancia para buscar el registro en \ProgramData\ElasticBox\Logs\elasticbox-agent.log