volver arriba

Descripción general y acceso de API

Resumen

nube Application Manager proporciona una API para configurar y desplegar de forma programática configuraciones complejas de cajas a proveedores de nube privada, de nube privada o de su propia infraestructura.

La API de Application Manager nube es especialmente útil para estos escenarios:

  • Para automatizar e integrar las funciones de Application Manager nube dentro de una construcción de mayor tamaño, los marcos de implementación como Jenkins se integran e integran continuamente.

  • Integrar nube funciones de Application Manager en aplicaciones e interfaces externas. Por ejemplo, puede proporcionar informes detallados sobre la caja, el espacio de trabajo y el uso del proveedor.

  • Para automatizar las acciones de implementación en aplicaciones personalizadas donde su aplicación puede llamar a nube Funciones de administrador de aplicaciones a demanda.

Puede incorporar solicitudes de API dentro de sus existentes Python, Ruby, Java, C, C++, Go y otros códigos mediante acciones comunes de API como GET, POST, DELETE y PUT.

Encabezados

Todos los encabezados de solicitud deben tener tres elementos: Tipo de contenido, autorización y elasticBox-Release.

Tipo de contenido

La API 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 nube Application Manager. Normalmente, desea que el usuario tenga un acceso amplio a los datos de administrador de aplicaciones nube como un usuario con privilegios de administrador. Las solicitudes de API de aplicaciones externas deben realizarse como este usuario. Las respuestas a API devuelven los datos según el nivel de acceso de este usuario en nube Application Manager.
Los tokens garantizan una forma segura de conectarse a nube Application Manager sin comprometer las credenciales mientras realiza solicitudes de API sobre la Web. Los tokens funcionan para cualquier tipo de autenticación, ya sea nombre de usuario, contraseña, Google, GiThub o LDAP. Autorizamos el acceso de token mediante la autenticación básica.
Siga estos pasos para obtener un token de su cuenta de administrador de aplicaciones nube.

Pasos

  1. Ingrese a Cloud Application Manager.

  2. En el menú desplegable del usuario de la derecha, haga clic en autenticación Tokens.

    api1

  3. Introduzca un nombre descriptivo para el token y haga clic en Crear token.

    api2

  4. Utilice el icono del portapapeles para copiar el token y, a continuación, pasarlo en los encabezados de solicitud de API.

Más sobre tokens

  • Puede crear y usar hasta 50 tokens.
  • Los tokens nunca caducan. Para invalidar una llamada de API, simplemente elimine el token utilizado.
  • Al realizar llamadas API a la Recursos de proveedores, pueden aplicarse límites adicionales de token de proveedor. Para conocer estos límites, compruebe la documentación de su proveedor.

Liberación de la caja de elasticería

Como parte de los encabezados de la solicitud, especifique la versión más reciente del nube Release Manager release, que es 4.0.

Ejemplo

Los encabezados para una solicitud de muestra tienen el mismo aspecto que esto.

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 Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
  • Windows 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 API en los puntos finales para cajas, instancias, espacios de trabajo y perfiles.

En este artículo:

  • P: ¿Cuáles...
  • Llamadas de API de muestra
  • Esquema

P: ¿Cuáles...

Punto de conexión Añadido, cambiado o eliminado
Instancias AGREGADO:
  • Nuevo criterio de valoración que actualiza una instancia activa aplicando una versión de caja.
    • PUT /services/instances/{instance_id}/pull.
  • Parámetros actualizaciones automáticas, caja, política_box
    • PUT /services/instances/{instance_id}
    • GET /services/instances
  • Parámetros automatic_updates, box, policy_box, instance_tags, ipv4_address (solo para implementar utilizando el agente de Application Manager nube en cualquier infraestructura).
    • POST /services/instances
    • POST /services/instances/dryrun

eliminar
  • Parámetro environment.
    • PUT /services/instances/{instance_id}
    • GET /services/instances
  • Parámetro entorno, perfil, variables.
    • POST /services/instances
    • POST /services/instances/dryrun
Casillas MODIFICADO:
El punto final de las casillas acepta ahora cuatro tipos de cajas. Cuando llame a una caja, utilice uno de los siguientes esquemas:
  • Script box
  • Casilla para políticas de implementación
  • CloudFormation Box
  • Caja del contenedor del acoplador

eliminar
Parámetros
  • etiquetas obsoletas. Utilice los requisitos o reclamaciones en su lugar.
  • servicio
Lugares de trabajo eliminar
Esta operación en particular en el punto final de espacios de trabajo:
  • GET /services/workspaces/{workspace_id}/profiles
Perfiles eliminar
Todas las operaciones del terminal de perfiles se obsoleto y sustituyen por cajas de política de implementación
  • GET /services/profiles
  • POST /services/profiles
  • GET /services/profiles/{profile_id}
  • PUT /services/profiles/{profile_id}
  • DELETE /services/profiles/{profile_id}
Organizaciones eliminar
  • Parámetro admin_boxes
    • GET /services/organizations/{organization_name}
    • POST /services/organizations
    • PUT /services/organizations/{organization_name}
Proveedores eliminar
  • Parámetro admin_box
    • GET /services/providers
    • POST /services/providers
    • GET /services/providers/{provider_id}
    • PUT /services/providers/{provider_id}

Instancias

Punto de conexión

PUT /services/instances/{instance_id}/pull

Nuevo criterio de valoración que actualiza una instancia activa aplicando una versión de caja.

Solicitud

Parámetro Tipo Descripción
box_id secuencia Required. ID de la versión de la caja utilizada para actualizar la instancia. La versión debe estar relacionada con la casilla actualmente implementada en la instancia.

Respuesta

Ninguno.


Casillas

Script box

  • Casilla para políticas de implementación
  • CloudFormation Box
  • Caja del contenedor del acoplador
  • Script Box

Este tipo de caja 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: apagado, mayor, menor o parche. El valor predeterminado está desactivado.
draft_from guid Opcional. ID de la versión de la casilla de la que es un borrador.
requisitos array Required. Contiene cadenas como etiquetas. Especifica las tecnologías de tiempo de ejecución que necesita implementar la caja.

Parámetros modificados

Parámetro Tipo Descripción
eventos object Opcional. Contiene estos eventos: pre_configurar, configurar, pre_instalar, instalar, preinicio, iniciar, detener, post_stop, desechar, post_disposal. Cada uno hace referencia a una transferencia del script.
Nota: Los eventos post_install, post_configure y post_start están obsoletos. Los nuevos eventos son pre_install, pre_configure y pre_start.
versión object Opcional. Requiere estas propiedades:
  • box: Tipo guid. Identifica el ID de la casilla a la que pertenece la versión.
  • descripción. La cadena de tipo describe el cambio en la versión de la caja.
  • number. De tipo de objeto, especifica el número de versión como un entero en este formato: mayor, menor y parche. Por ejemplo, para representar la versión 1.4.5, especificaría la principal:1, menor:4, parche:5.

Casilla para políticas de implementación

Este tipo de caja sustituye a los perfiles de implementación antiguos, pero contiene la misma información de un perfil de implementación, incluyendo las propiedades de la caja.

Nota: En contraste con los cuadros de script, los cuadros de directiva de implementación no incluyen estos parámetros: eventos, requisitos.

Punto de conexión

/services/boxes

Esquema

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

Nuevos parámetros

Parámetro Tipo Descripción
perfil object Required. Describe todas las propiedades para implementar una instancia de una caja. Contiene los mismos datos que el punto final del perfil de implementación anterior.
provider_id object Required. Especifica el ID del proveedor.
draft_from guid Opcional. ID de la versión de la casilla de la que es un borrador.
reclamos array Required. Una serie de cadenas, especifica los requisitos aplicados a una caja.
automatic_updates secuencia Required. Especifique una opción: apagado, mayor, menor o parche. El valor predeterminado está desactivado.

CloudFormation Box

Nota: En contraste con los cuadros de script, las casillas de CloudFormation no incluyen el parámetro: eventos

Punto de conexión

/services/boxes

Esquema

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

Nuevos parámetros

Parámetro Tipo Descripción
perfil object Describe todas las propiedades para implementar una instancia de una caja. Contiene los mismos datos que el punto final del perfil de implementación anterior. Solo acepta información de AWS. No es necesario por las cajas de la plantilla CloudFormation
automatic_updates secuencia Required. Especifique una opción: apagado, mayor, menor o parche. El valor predeterminado está desactivado.
provider_id object Required. Especifica el ID de un proveedor de AWS.
tipo object Required. Especifica un servicio. El valor aceptado es: Servicio de CloudFormation.
draft_from guid Opcional. ID de la versión de la casilla de la que es un borrador.
requisitos array Required. Contiene cadenas como etiquetas. Especifica las tecnologías de tiempo de ejecución que necesita implementar una caja.

Caja del contenedor del acoplador

Punto de conexión

/services/boxes

Esquema

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

Nuevos parámetros

Parámetro Tipo Descripción
dockerfile object Opcional. Se refiere al esquema del bloque que contiene el script de dockerfile. Esto sustituye a la variable de caja del acoplador anteriormente conocida como ARCHIVO_DOCKER.
automatic_updates secuencia Required. Especifique una opción: apagado, mayor, menor o parche. El valor predeterminado está desactivado.
draft_from guid Opcional. ID de la versión de la casilla de la que es un borrador.
requisitos array Required. Contiene cadenas como etiquetas. Especifica las tecnologías de tiempo de ejecución que necesita implementar una caja.

Llamadas de API de muestra

  • Casillas
  • Instancias
  • Organizaciones
  • Proveedores
  • Implementar solicitud de instancia
  • instancia
  • Versión
  • Casillas

GET /services/boxes

Esta solicitud devuelve cajas de todos los tipos: script, política, cloudformation y docker.

Solicitud

Ninguno.

Respuesta

Devuelve una serie de cajas (cloudformation, docker, script, policy).

{
    "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 caja.

{
  "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 diff JSON ha cambiado, ahora incluye la propiedad ‘box_profile_properties’ si se utiliza una caja de directivas 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

Se eliminó el parámetro

medio ambiente

Nuevos parámetros

Parámetro Tipo Descripción
automatic_updates secuencia Required. Especifique una opción: apagado, mayor, menor o parche. El valor predeterminado está desactivado.
box secuencia Required. ID de la caja (no versión) implementada en la instancia.
policy_box secuencia Opcional. Se requiere una política de implementación de CloudFormation para esta casilla

Solicitud

Ninguno.

Respuesta

Esquema de la matriz de ejemplo.

[
    {
        "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

Se eliminó el parámetro

entorno, perfil, variables

Nuevos parámetros

Parámetro Tipo Descripción
automatic_updates secuencia Required. Especifique una opción: apagado, mayor, menor o parche. El valor predeterminado está desactivado.
box object Required. Contiene dos parámetros:
  • id De tipo cadena, es el ID del cuadro de script (no versión) que se implementa en la instancia.
  • Variables De la matriz de tipos, son las variables del cuadro de script.
policy_box object Required. Contiene dos parámetros:
  • id En la cadena de tipo, es el ID del cuadro de directiva de implementación (no versión) que se implementa en la instancia.
  • Variables De la matriz de tipos, son las variables de la caja de directivas de implementación.
instance_tags Array Opcional. Etiquetas personalizadas para describir una instancia.
ipv4_address secuencia Opcional. Ejecute el agente de Cloud Application Manager en la máquina con Linux donde desea lanzar la 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 desplegada.

{
  "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}

Se eliminó el parámetro

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

Se eliminó el parámetro

admin_box

Solicitud

Ninguno.

Respuesta

Devuelve una serie del esquema del proveedor.

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

Esquema

  • Organización
  • Proveedor
  • Script Box
  • política caja
  • Caja de contenedores
  • 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"
                    }
                }
            }
        }
    ]
}

política Caja

{
    "$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"
                    ]
                }
            }
        }
    ]
}

Caja de contenedores

{
    "$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"
                }
            }
        }
    ]
}

Implementar solicitud de instancia

{
    "$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 Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
  • Windows Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log

API de proveedores

Gestionar y realizar acciones de proveedores.

D: Proveedores gestionados

Recursos Descripción
POST /services/providers Crea una nueva cuenta de proveedor en nube Application Manager y recibe el estado del proveedor.
GET /services/providers Recibe 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 Recibe los registros de un proveedor.
GET /services/providers/{provider_id}/unregisted-instances Recibe las instancias no registradas de un proveedor.
POST /services/providers/{provider_id}/images Añade 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 nube Application Manager y recibe 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 Especifique un URI de icono para la cuenta del proveedor.
tipo secuencia Required. Especifique el tipo de cuenta como uno de los siguientes: Amazon Web servicios, Amazon Web servicios 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 Describa los servicios del proveedor.
esquema secuencia Required. Proporcione el esquema para la solicitud.
nombre secuencia Required. Proporcione a la cuenta del proveedor un nombre en nube Application Manager.
owner secuencia Especifique la ID de espacio de trabajo en nube Application Manager (Administrador de aplicaciones) que posee la cuenta del proveedor.

Amazon Web servicios parámetros de solicitud

Parámetro Tipo Descripción
credentials object Required. Contiene el objeto de credencial, que es el nombre de ARN de la función AWS si se utiliza nube Application Manager como un SaaS o la clave y secreto si utiliza nube Application Manager como dispositivo.

Amazon Web servicios solicitar cuerpo

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

Amazon Web servicios Parámetros de solicitud Gov

Parámetro Tipo Descripción
credentials object Obligatorio (secreto clave o función). Contiene el objeto de credencial, que es el Función de AWS Nombre ARN si utiliza nube Application Manager como SaaS o la clave y secreto si utiliza nube Application Manager como dispositivo.

Amazon Web servicios Organismo de solicitud 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 solicitud de Rackspace y OpenStack

Parámetro Tipo Descripción
identity_url secuencia Required. Especifique el criterio de valoración de servicio de identidad.
project secuencia Required. Especifique el ID de proyecto para Rackspace o el inquilino para OpenStack.
nombre de usuario secuencia Required. Especifique el nombre de usuario.
contraseña secuencia Required. Especifique la contraseña.

Cuerpo de 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 solicitud 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 solicitud Vmware vSphere

Parámetro Tipo Descripción
nombre de usuario secuencia Required. Especifique un nombre de usuario vCenter.
secreto secuencia Required. Especifique la contraseña del usuario.
punto de conexión secuencia Required. Especifique la URL del servidor vCenter.

Cuerpo de solicitud 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 solicitud de Vmware vCloud Director

Parámetro Tipo Descripción
nombre de usuario secuencia Required. Especifique un nombre de usuario vCenter.
contraseña secuencia Required. Especifique la contraseña del usuario.
url secuencia Required. Especifique la URL del servidor vCenter.
organización secuencia Required. Organización

Cuerpo de 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 solicitud de Google nube

Parámetro Tipo Descripción
project_id secuencia Required. Especifique un ID de proyecto en Google nube que tenga la facturación y la API de Google Compute Engine habilitada.
email secuencia Required. Especifique su cuenta de Gmail asociada con Google nube.
credentials object Required. Especifique el objeto refresh_token o la clave. Puede obtener la actualización_token de Google OAuth 2.0 para permitir que nube Application Manager realice solicitudes de API en su nombre. O puede proporcionar la clave JSON para la cuenta de servicio del proyecto.

Google nube solicitar cuerpo

{
   "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 solicitud de Microsoft Azure Classic

Para añadir una suscripción de Azure en nube Application Manager, primero tendrá que cargar el certificado de administración de Application Manager nube a su suscripción en Azure Classic.

Parámetro Tipo Descripción
subscription_id secuencia Required. Especifique la ID de suscripción de Azure.

Cuerpo de solicitud 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 solicitud de Microsoft Azure

Para añadir una suscripción de Azure en nube Application Manager, primero tendrá que cargar el certificado de administración de Application Manager nube a su suscripción en Azure.

Parámetro Tipo Descripción
subscription_id secuencia Required. Especifique la ID de suscripción de Azure.
client_id secuencia Solo es necesario para usuarios normales. Los revendedores no requieren este campo.
secreto secuencia La clave secreta que proporcionará Azure para el usuario
tenant secuencia La instancia de inquilino especificada en el panel Azure.

Cuerpo de 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 solicitud de CloudStack

Parámetro Tipo Descripción
url secuencia Required. Especifique el criterio de valoración de API al servidor de administración de CloudStack.
api_key secuencia Required. Especifique la clave de API para la cuenta de usuario de CloudStack.
secret_key secuencia Required. Especifique el secreto de API para la cuenta de usuario de CloudStack.

Cuerpo de solicitud 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 solicitud de SoftLayer

Parámetro Tipo Descripción
nombre de usuario secuencia Required. Especifique un nombre de usuario de cuenta SoftLayer.
api_key secuencia Required. Especifique la clave API para el usuario de SoftLayer.

Cuerpo de 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ódigo 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 object Identifica si se elimina el 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 nube Application Manager.
id secuencia Devuelve el ID de la cuenta del proveedor en nube Application Manager.
icon secuencia Devuelve el icono utilizado para la cuenta del proveedor.
nombre secuencia Devuelve el nombre utilizado para identificar la cuenta del proveedor en nube Application Manager.
created secuencia Devuelve la fecha en la que se añadió el proveedor.
uri secuencia Devuelve la ruta única del identificador de recursos a la cuenta del proveedor.
admin_boxes secuencia Enumera los cuadros de administración adjuntos al proveedor.
organización secuencia Identifica el nombre de la organización.
tipo secuencia Identifica al proveedor como uno de los siguientes: Amazon Web servicios, Rackspace, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer.
esquema secuencia Devuelve la URL de esquema.

Parámetros de respuesta de AWS

Parámetro Tipo Descripción
credentials object Devuelve la función de Amazon Web servicios a ARN si utiliza nube Application Manager como SaaS o identifica la clave y el secreto si utiliza nube Application Manager como 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 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 el ID de proyecto de espacio de Rackspace o el inquilino OpenStack.
identity_url secuencia Devuelve el criterio de valoración de servicio de identidad OpenStack.

Ejemplo de respuesta de espacio de rack

{
  "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 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 respuesta 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 la URL del servidor vCenter.

Ejemplo de respuesta 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 respuesta de Google nube

Parámetro Tipo Descripción
project_id secuencia Devuelve el ID de proyecto en Google nube que utiliza la cuenta de proveedor.
email secuencia Devuelve la cuenta de Gmail asociada con Google nube para la cuenta del proveedor.
credentials object Devuelve los objetos access_token y refresh_token o la clave. Devuelve una clave si proporcionó una clave JSON para la cuenta de servicio del proyecto.

Ejemplo de respuesta de Google nube

{
  "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 el ID de suscripción de Azure que utiliza la cuenta de proveedor.

Ejemplo de respuesta clásica 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-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 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 respuesta de CloudStack

Parámetro Tipo Descripción
url secuencia Devuelve el punto final de 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 respuesta 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 respuesta SoftLayer

Parámetro Tipo Descripción
nombre de usuario secuencia Devuelve el nombre de usuario de SoftLayer que utiliza la cuenta de proveedor.
api_key secuencia Devuelve la clave API para el usuario de SoftLayer.

Ejemplo de 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

Recibe proveedores disponibles desde el 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 URI

Nombre Tipo Descripción Req.
-------- ------- --------------- -----

Respuesta

Código normal

  • 200 aceptado

Códigos de error

  • 400: Solicitud incorrecta

Parámetros de 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: inicializar , procesar , listo , eliminar o no disponible.
members array Lista de miembros con acceso al proveedor.
owner secuencia Propietario del proveedor.
tipo secuencia Tipo de proveedor, hay los proveedores disponibles: Amazon Web servicios (AWS), VShpere, VCloud, RackSpace, Openstack, Google Compute, Azure, CloudStack, Softlayer, AWS Gov.
id secuencia Identificador único del proveedor.
icon secuencia Icono de proveedor uri.
esquema secuencia Esquema 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 da 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 URI

Nombre Tipo Descripción Req.
provider_id secuencia El id. del proveedor

Respuesta

Código normal

  • 202 Aceptado

Códigos de error

  • 403: Prohibido
  • 404: No se encontró

Parámetros de 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: inicializar , procesar , listo , eliminar o no disponible.
members array Lista de miembros con acceso al proveedor.
owner secuencia Propietario del proveedor.
tipo secuencia Tipo de proveedor, hay los proveedores disponibles: Amazon Web servicios (AWS), VShpere, VCloud, RackSpace, Openstack, Google Compute, Azure, CloudStack, Softlayer, AWS Gov.
id secuencia Identificador único del proveedor.
esquema secuencia El esquema de tipo de proveedor.
icon secuencia Icono de proveedor uri.

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 da la ID del proveedor. Pase el objeto del proveedor en el cuerpo de la solicitud para actualizar estos campos: nombre, descripción y miembros.

Para AWS, también puede actualizar la clave y el secreto. Para Vmware vShpere, Sftlayer también puede actualizar el nombre de usuario, el secreto y el criterio de valoración.

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 URI

Parámetro Tipo Descripción Req.
provider_id secuencia El id único del proveedor creado

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 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: inicializar , procesar , listo , eliminar o no disponible .
members array Lista de miembros con acceso al proveedor.
owner secuencia Propietario del proveedor.
tipo secuencia Tipo de proveedor, hay dos posibles proveedores: Amazon Web servicios o Vmware vShpere.
id secuencia Identificador único del proveedor.
icon secuencia Icono de proveedor uri.

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 da 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 URI

Parámetro Tipo Descripción Req.

| provider_id | secuencia | El ID único que se administró 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 con el proveedor
  • 403: Prohibido
  • 404: No se encontró

PUT /services/providers/{provider_id}/sync

Sincroniza un proveedor existente cuando da 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 URI

Parámetro Tipo Descripción Req.

| provider_id | secuencia | El ID único que se administró 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 da 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 URI

Parámetro Tipo Descripción Req.

| provider_id | secuencia | El ID único que se administró 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 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 Profiver-log.
level integer Nivel de acción de registro de proveedor.
updated array Fecha de la actualización.
id secuencia Identificador único del proveedor.
esquema secuencia URL de esquema de 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 da 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 URI

Parámetro Tipo Descripción Req.
provider_id secuencia El ID único que se administró a cada proveedor

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 respuesta

Parámetro Tipo Descripción
perfil object Perfil de instancia. (el objeto de perfil depende del proveedor, tiene un subobjeto diferente)
provider_id secuencia Identificador único de proveedor de 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, Windows Compute y CloudFormation Service.
server_info object Instancia de ips públicas y privadas y DNS público.
updated array Fecha de la actualización.
power_state secuencia Se puede ejecutar o detener.
organización secuencia Organización a la que pertenece la instancia.
external_id secuencia Id. externo de instancia.
id secuencia Identificador único de instancia.
esquema secuencia URL de esquema de 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

Añade una nueva imagen de máquina a un proveedor cuando da 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 URI

Parámetro Tipo Descripción Req.
provider_id secuencia El ID único que se administró a cada proveedor

Solicitar parámetros corporales

Parámetro Tipo Descripción
ubicación secuencia Región de imagen.
nombre secuencia Nombre de la imagen.
descripción secuencia Descripción de imagen

Cuerpo de 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 incluye 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 da el ID del proveedor y el ID de imagen de la 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 URI

Parámetro Tipo Descripción Req.
provider_id secuencia El ID único que se administró a cada proveedor

Solicitar parámetros corporales

Parámetro Tipo Descripción
ubicación secuencia Región de la imagen de la 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 incluye 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 da el ID del proveedor y el ID de imagen de la 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 URI

Parámetro Tipo Descripción Req.
provider_id secuencia El ID único que se administró a cada proveedor
publicador secuencia El número único del editor No
oferta secuencia El número de oferta No

Respuesta

Si ningún editor 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 mientras se procesa la solicitud: XXXXXXXXXXX
  • 404: No encontrado: no se puede encontrar el proveedor con ID XXXXXXXXXXX

Comunicarse con soporte de Cloud Application Manager

Lamentamos que esté teniendo problemas en Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
  • Windows Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log

API de centros de costes

Uso por centro de costo

Recursos Descripción
POST /services/costcenters Crear centro de costos
GET /services/costcenters/{costcenter_id} Recupera un centro de costes existente.
PUT /services/costcenters/{costcenter_id} Actualiza un centro de costes existente.
DELETE /services/costcenters/{costcenter_id} Elimina un centro de costes existente.

POST /services/costcenters

Crea un nuevo centro de costes y obtiene el centro de costes 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 URI

  • Ninguno

Solicitar parámetros corporales

Nombre Tipo Descripción Req.
nombre secuencia Nombre del centro de costes.
organización secuencia Nombre de la organización con acceso al Centro de costes.
esquema secuencia Ámbito de centro de costos Siempre “http://elasticbox.net/schemas/costcenter"
members array Lista de ID de los miembros del centro de costes como administradores. No
Parámetros de lista de miembros

Un elemento de la lista miembros requiere 3 parámetros:

Parámetro Tipo Descripción Req.
id secuencia puede ser un ID de espacio de trabajo o un DN de grupo LDAP.
rol secuencia siempre es administrador. No
tipo secuencia puede ser 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
  • 0 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 respuesta

Parámetro Tipo Descripción
clc_alias secuencia Alias de cuenta de Costcenter en la organización.
created secuencia Fecha de creación Ejemplo “2015-07-02 10:23:47.748740”
deleted object Identifica si se elimina el centro de costes; nulo para objetos existentes.
id secuencia Identificador único del centro de costes.
members array Lista de miembros de un centro de costes. Ver Parámetros de los miembros
nombre secuencia Nombre del centro de costes
organización secuencia Organización a la que pertenece el Centro de costes.
esquema secuencia URI de 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 costes.

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 costes 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 URI

Nombre Tipo Descripción Req.
costcenter_id secuencia Id de centro de costes

Solicitar parámetros corporales

  • Ninguno

Respuesta

Códigos de respuesta normales

  • 200 Aceptar

Códigos de respuesta de error comunes

  • 400 Solicitud incorrecta
  • 0 No autorizado
  • 404 No encontrado

Parámetros de respuesta

Parámetro Tipo Descripción
clc_alias secuencia Alias de cuenta de Costcenter en la organización.
created secuencia Fecha de creación Ejemplo “2015-07-02 10:23:47.748740”
deleted object Identifica si se elimina el centro de costes.
id secuencia Identificador único del centro de costes.
members array Lista de miembros de un centro de costes. Ver Parámetros de los miembros
nombre secuencia Nombre del centro de costes
organización secuencia Organización a la que pertenece el Centro de costes.
esquema secuencia URI de 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 costes.

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 costes 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 solicitud. Recomendamos primero obtener estos datos con el comando GET y luego hacer cambios sobre ellos.

Prestar atención a los valores como miembros que se añadirán o eliminarán si existen o no en el parámetro de 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 URI

Nombre Tipo Descripción Req.
costcenter_id secuencia Id de centro de costes

Solicitar parámetros corporales

Nombre Tipo Descripción Req.
id secuencia Identificador único del centro de costes.
members array Lista de miembros del Centro de costes. Ver Parámetros de los miembros
nombre secuencia Nombre del centro de costes.
organización secuencia Organización a la que pertenece el Centro de costes.
esquema secuencia URI de esquema. http://elasticbox.net/schemas/costcenter.
icon_metadata secuencia Icono utilizado para la cuenta del centro de costes.. No

Nota:
Tenga cuidado con este comando porque algunos valores como miembros se añadirán o eliminarán si existen o no en el parámetro de solicitud. Para no ser eliminado un miembro existente, solo tiene que dar 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
  • 0 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 respuesta

  • Ninguno

Cuerpo de respuesta

DELETE /services/costcenters

Elimina un centro de costes 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 URI

Nombre Tipo Descripción Req.
costcenter_id secuencia Id de centro de costes

Solicitar parámetros corporales

  • Ninguno

Respuesta

Códigos de respuesta normales

  • 204 OK - Sin contenido

Códigos de respuesta de error comunes

  • 0 No autorizado
  • 404 No encontrado

Parámetros de respuesta

  • Ninguno

Cuerpo de respuesta

  • Ninguno

API de organizaciones

Gestionar una organización

Recursos Descripción
GET /services/organizations/{organization_name} Consigue el documento de la organización
GET /services/organizations/{organization_name}/boxes Consiga las cajas de la organización dada.
GET /services/organizations/{organization_name}/instances Obtenga las instancias de la organización dada.
GET /services/organizations/{organization_name}/providers Get the providers of the given organization.
GET /services/organizations/{organization_name}/workspaces Obtenga los espacios de trabajo de la organización dada.
PUT /services/organizations/{organization_name} Actualiza una organización existente.
PUT /organizations/{organization_name}/sync_groups Coge una solicitud para sincronizar grupos LDAP.

GET /services/organizations/{organization_name}

Obtiene el esquema de una organización determinada.

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 URI

Parámetro Tipo Descripción Req.
organization_name secuencia el nombre de la organización

Respuesta

Códigos de respuesta normales

  • 200 Aceptar

Códigos de respuesta de error comunes

  • 401: No autorizado: token/cookie 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 dado

Parámetros de respuesta

Parámetro Tipo Descripción
esquema secuencia URI esquema de organización: //elasticbox.net/schemas/organization
nombre secuencia Nombre de la organización
icon secuencia URI icono de organización
updated secuencia Fecha de la última actualización
created secuencia Fecha de creación
setup boolean Esto es de sólo lectura. Indica que el dispositivo nube Application Manager 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 object Lista de métodos de autenticación para permitir un inicio de sesión único en la organización. Contiene las siguientes propiedades:
  • GitHub Booleano. Si está habilitado, es verdadero, es decir, falso.
  • Google Booleano. Si está habilitado, es verdadero, es decir, falso.
  • contraseña Booleano. Si está habilitado, es verdadero, es decir, falso.
  • LDAP Booleano. Si está habilitado, es verdadero, es decir, falso.
  • ldap_config: Objeto que contiene la configuración de servicio LDAP:
    • ldap_grupo_sincronización: Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • Fuente: Matriz de Fuentes LDAP. Cada fuente tiene las siguientes propiedades:
      • Alojamiento Required. La cadena identifica el nombre de host o la dirección IP del servicio LDAP.
      • grupos_dn: String especifica un nombre de grupo completamente cualificado.
      • grupo_dn_filtro: Cadena define una entidad en el servidor LDAP. Todos los grupos se sincronizan como elementos secundarios de esta entidad.
      • campo de correo electrónico: String especifica el nombre del campo de correo electrónico mediante el cual buscar usuarios. Normalmente, este campo se llama correo electrónico.
      • ldap_search_password: String especifica la contraseña de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión
      • ldap_search_usuario: String especifica el nombre de usuario de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión.
    ldap_last_sync_completed secuencia Marca horaria de la última sincronización de grupo LDAP correcta, 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 LDAP. Cada grupo tiene dos propiedades:
  • DN Identificador de cadena para el grupo.
  • Nombre: Nombre de cadena mostrado en la interfaz web del espacio de trabajo.
  • proveedores array Lista de proveedores cloud que la organización puede permitir registrarse e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas:
  • Valor booleano de verdadero si está habilitado, en otro caso falso.
  • tipo Valores de cadena de los proveedores de nube admitidos: Amazon Web servicios, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web servicios GovCloud, Rackspace.
  • Descripción: Cadena que enumera brevemente los servicios del proveedor de la nube.
  • Precio Matriz de información de precios para tipos de instancia de computación Linux y Windows. Solo disponible para Amazon Web servicios.
  • etiquetas array Lista de etiquetas aplicada en instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades:
  • Nombre: Cadena que se aplica como etiqueta.
  • tipo La cadena identifica el tipo de etiqueta si un objeto de administrador de aplicaciones nube o uno personalizado. Los valores permitidos son Box, Workspace, Provider, entorno, Email, User ID, Service Instance ID, Service ID, Workspace ID, Instance ID, Custom.
  • valor: Valor de cadena de nulo para los objetos de administrador de aplicaciones nube. Para etiquetas personalizadas, establezca su valor utilizando esta propiedad.
  • 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

    Consiga las cajas en la organización dada.

    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 URI

    Nombre Tipo Descripción Req.
    organization_name Secuencia El nombre de la organización

    Respuesta

    Código normal

    • 200 Aceptar

    Códigos de error

    • 401: No autorizado: token/cookie de acceso no válido
    • 403: Prohibido: el usuario no pertenece a la organización
    • 404 - No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    esquema secuencia URI de esquema de caja: //elasticbox.net/schemas/boxes
    nombre secuencia Nombre de la caja de la organización
    id secuencia Número de identificación de la caja de la organización.
    auto_update boolean Actualice 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 caja.
    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 Una URL del servicio 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 caja para el público, el espacio de trabajo o la organización únicamente.
    variables array Una lista de las variables definidas en la caja
    reclamos array Una lista de las reclamaciones definidas en la caja

    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 dada.

    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 URI

    Nombre Tipo Descripción Req.
    organization_name Secuencia El nombre de la organización

    Respuesta

    Código normal

    • 200 Aceptar

    Códigos de error

    • 401: No autorizado: token/cookie de acceso no válido
    • 403: Prohibido: el usuario no pertenece a la organización
    • 404: No se encontró

    Parámetros de respuesta

    Parámetro Tipo Descripción
    esquema secuencia URI esquema de organización: //elasticbox.net/schemas/instance
    nombre secuencia Nombre de instancia
    id secuencia Identificador de instancia
    updated secuencia Fecha de la última actualización
    created secuencia Fecha de creación
    auto_update boolean Actualice automáticamente la casilla si se actualiza cualquier requisito relacionado.
    box secuencia Identificador del último cuadro desplegado.
    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 Una URL del servicio 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 object Un objeto que contiene información sobre el servicio de la instancia
    policy_box object 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

    Obtener el esquema de proveedores en la organización dada.

    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 URI

    Nombre Tipo Descripción Req.
    organization_name Secuencia El nombre de la organización

    Respuesta

    Código normal

    • 200 Aceptar

    Códigos de error

    • 401: No autorizado: token/cookie de acceso no válido
    • 403: Prohibido: el usuario no pertenece a la organización
    • 404: No se encontró

    Parámetros de respuesta

    Parámetro Tipo Descripción
    esquema secuencia URI del esquema del proveedor: //elasticbox.net/schemas/suppliers
    nombre secuencia Define el nombre del proveedor
    icon secuencia URI icono 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 Una URL del servicio 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 el id. del proveedor
    proveedores array Lista de proveedores cloud que la organización puede permitir registrarse e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas:
  • Valor booleano de verdadero si está habilitado, en otro caso falso.
  • tipo Valores de cadena de los proveedores de nube admitidos: Amazon Web servicios, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web servicios GovCloud, Rackspace.
  • Descripción: Cadena que enumera brevemente los servicios del proveedor de la nube.
  • Precio Matriz de información de precios para tipos de instancia de computación Linux y Windows. Solo disponible para Amazon Web servicios.
  • owner secuencia Muestra el propietario de esta casilla.
    servicio object 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 dada.

    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 URI

    Nombre Tipo Descripción Req.
    organization_name Secuencia El nombre de la organización

    Respuesta

    Código normal

    • 200 Aceptar

    Códigos de error

    • 401: No autorizado: token/cookie de acceso no válido
    • 403: Prohibido: el usuario no pertenece a la organización
    • 404: No se encontró

    Parámetros de 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 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.
    email secuencia El correo electrónico del usuario.
    esquema secuencia URI del esquema del proveedor: //elasticbox.net/schemas/suppliers
    updated secuencia Fecha de la última actualización
    take_tour boolean Indica si se ha realizado la primera ronda de inicio de sesión o no.
    deleted secuencia La fecha de eliminación del usuario.
    costcenter secuencia El nombre dado del centro de costes al crear el usuario.
    icon secuencia El icono de usuario URI
    group_dns array La lista de usuarios que han sido configurados por AD en una red local.
    email_validated_at secuencia La fecha en la que el usuario ha validado.
    validate_email_id secuencia Id de validación que se generó para el usuario.
    reset_password_id secuencia Id. de restablecimiento que generó para el usuario.
    nombre secuencia El nombre dado del usuario.
    created secuencia Fecha de creación del usuario
    uri secuencia Una URL del servicio API que permite recuperar los datos de esta casilla directamente mediante una solicitud GET.
    members array Si el tipo de usuario es "equipo", muestra los espacios de trabajo a los que pertenece este usuario
    organización secuencia 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 dada su nombre. Solo el administrador de la organización 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 URI

    Nombre Tipo Descripción Req.
    organization_name Secuencia El nombre de la organización

    Cuerpo de 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 solicitud

    Parámetro Tipo Descripción
    esquema secuencia URI esquema de organización: //elasticbox.net/schemas/organization
    nombre secuencia Nombre de la organización
    icon secuencia URI icono de organización
    updated secuencia Fecha de la última actualización
    created secuencia Fecha de creación
    setup boolean Esto es de sólo lectura. Indica que el dispositivo nube Application Manager 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 object Lista de métodos de autenticación para permitir un inicio de sesión único en la organización. Contiene las siguientes propiedades:
  • GitHub Booleano. Si está habilitado, es verdadero, es decir, falso.
  • Google Booleano. Si está habilitado, es verdadero, es decir, falso.
  • contraseña Booleano. Si está habilitado, es verdadero, es decir, falso.
  • LDAP Booleano. Si está habilitado, es verdadero, es decir, falso.
  • ldap_config: Objeto que contiene la configuración de servicio LDAP:
    • ldap_grupo_sincronización: Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • Fuente: Matriz de LDAP fuentes. Cada fuente tiene las siguientes propiedades:
      • Alojamiento Required. La cadena identifica el nombre de host o la dirección IP del servicio LDAP.
      • grupos_dn: String especifica un nombre de grupo completamente cualificado.
      • grupo_dn_filtro: Cadena define una entidad en el servidor LDAP. Todos los grupos se sincronizan como elementos secundarios de esta entidad.
      • campo de correo electrónico: String especifica el nombre del campo de correo electrónico mediante el cual buscar usuarios. Normalmente, este campo se llama correo electrónico.
      • ldap_search_password: String especifica la contraseña de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión
      • ldap_search_usuario: String especifica el nombre de usuario de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión.
    ldap_last_sync_completed secuencia Marca horaria de la última sincronización de grupo LDAP correcta, 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 LDAP. Cada grupo tiene dos propiedades:
  • DN Identificador de cadena para el grupo.
  • Nombre: Nombre de cadena mostrado en la interfaz web del espacio de trabajo.
  • proveedores array Lista de proveedores cloud que la organización puede permitir registrarse e implementar. Cada tipo de proveedor tiene las siguientes propiedades:
  • habilitado Valor booleano de verdadero si está habilitado, en otro caso falso.
  • tipo Valores de cadena de los proveedores de nube admitidos: Amazon Web servicios, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web servicios GovCloud, Rackspace.
  • Descripción: Cadena que enumera brevemente los servicios del proveedor de la nube.
  • Precio Matriz de información de precios para tipos de instancia de computación Linux y Windows. Solo disponible para Amazon Web servicios.
  • etiquetas array Lista de etiquetas aplicada en instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades:
  • Nombre: Cadena que se aplica como etiqueta.
  • tipo La cadena identifica el tipo de etiqueta si un objeto de administrador de aplicaciones nube o uno personalizado. Los valores permitidos son Box, Workspace, Provider, entorno, Email, User ID, Service Instance ID, Service ID, Workspace ID, Instance ID, Custom.
  • valor: Valor de cadena de nulo para los objetos de administrador de aplicaciones nube. Para etiquetas personalizadas, establezca su valor utilizando esta propiedad.
  • webhooks array Lista de webhooks que se integran con la organización.
    cost_centers array Lista de centros de costes. Cada centro de costes contiene las siguientes propiedades:
  • hacer cumplir: Booleano. Si es verdadero, no se puede implementar una instancia si está por encima de la cuota.
  • Nombre: Secuencia Nombre del centro de costes
  • Lugares de trabajo VECTOR: Lista de nombres que pertenecen al centro de costes.
  • cuotas: Lista de cuotas. Cada cuota contiene un objeto con las siguientes propiedades:
    • Costo Required. Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • PROVEEDOR Required. Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • asignado: VECTOR: Lista de casos que contribuyen a la cuota actual. Cada instancia asignada tiene estas propiedades:
      • ID_instancia: Required. Secuencia Nombre de la instancia
      • instancias Required. Int. Número de casos.
      • comenzado Required. Secuencia Fecha en la que se implementó esta instancia.
      • Flavor Required. Secuencia Tipo de instancia.
      • región Required. Secuencia Región donde se implementó.
      • tipo_de_servicio: Required. Secuencia Tipo de servicio.
      • finalizado String especifica el nombre de usuario de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión.
    • recursos Objeto recursos de la cuota.
      • CPU: Required. Int. CPU (cantidad de núcleos)
      • disco Required. Objeto Un disco con estas propiedades:
        • cantidad Required. Secuencia Cantidad de almacenamiento.
        • unidad: Required. Secuencia Mb, Gb o Tb.
      • RAM Required. Secuencia Ram de la cuota.
        • cantidad Required. Secuencia Cantidad de almacenamiento.
        • unidad: Required. Secuencia Mb o Gb.

    Respuesta

    Código normal

    • 200 Aceptar

    Códigos de error

    • 400: Solicitud incorrecta: solicitud ausente, incompleta o incluye propiedades no válidas (detalles proporcionados dentro del cuerpo)
    • 401: No autorizado: token/cookie 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 API para recuperar la propiedad actualizada actual y usarla en una nueva solicitud de PUT)

    Parámetros de respuesta

    Parámetro Tipo Descripción
    esquema secuencia URI esquema de organización: http://elasticbox.net/schemas/organization
    nombre secuencia Nombre de la organización
    icon secuencia URI icono de organización
    updated secuencia Fecha de la última actualización
    created secuencia Fecha de creación
    setup boolean Esto es de sólo lectura. Indica que el dispositivo nube Application Manager 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 object Lista de métodos de autenticación para permitir un inicio de sesión único en la organización. Contiene las siguientes propiedades:
  • GitHub Booleano. Si está habilitado, es verdadero, es decir, falso.
  • Google Booleano. Si está habilitado, es verdadero, es decir, falso.
  • contraseña Booleano. Si está habilitado, es verdadero, es decir, falso.
  • LDAP Booleano. Si está habilitado, es verdadero, es decir, falso.
  • ldap_config: Objeto que contiene la configuración de servicio LDAP:
    • ldap_grupo_sincronización: Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • Fuente: Matriz de Fuentes LDAP. Cada fuente tiene las siguientes propiedades:
      • Alojamiento Required. La cadena identifica el nombre de host o la dirección IP del servicio LDAP.
      • grupos_dn: String especifica un nombre de grupo completamente cualificado.
      • grupo_dn_filtro: Cadena define una entidad en el servidor LDAP. Todos los grupos se sincronizan como elementos secundarios de esta entidad.
      • campo de correo electrónico: String especifica el nombre del campo de correo electrónico mediante el cual buscar usuarios. Normalmente, este campo se llama correo electrónico.
      • ldap_search_password: String especifica la contraseña de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión
      • ldap_search_usuario: String especifica el nombre de usuario de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión.
    ldap_last_sync_completed secuencia Marca horaria de la última sincronización de grupo LDAP correcta, 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 LDAP. Cada grupo tiene dos propiedades:
  • DN Identificador de cadena para el grupo.
  • Nombre: Nombre de cadena mostrado en la interfaz web del espacio de trabajo.
  • proveedores array Lista de proveedores cloud que la organización puede permitir registrarse e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas:
  • Valor booleano de verdadero si está habilitado, en otro caso falso.
  • tipo Valores de cadena de los proveedores de nube admitidos: Amazon Web servicios, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web servicios GovCloud, Rackspace.
  • Descripción: Cadena que enumera brevemente los servicios del proveedor de la nube.
  • Precio Matriz de información de precios para tipos de instancia de computación Linux y Windows. Solo disponible para Amazon Web servicios.
  • etiquetas array Lista de etiquetas aplicada en instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades:
  • Nombre: Cadena que se aplica como etiqueta.
  • tipo La cadena identifica el tipo de etiqueta si un objeto de administrador de aplicaciones nube o uno personalizado. Los valores permitidos son Box, Workspace, Provider, entorno, Email, User ID, Service Instance ID, Service ID, Workspace ID, Instance ID, Custom.
  • valor: Valor de cadena de nulo para los objetos de administrador de aplicaciones nube. Para etiquetas personalizadas, establezca su valor utilizando esta propiedad.
  • webhooks array Lista de webhooks que se integran con la organización.
    cost_centers array Lista de centros de costes. Cada centro de costes contiene las siguientes propiedades:
  • hacer cumplir: Booleano. Si es verdadero, no se puede implementar una instancia si está por encima de la cuota.
  • Nombre: Secuencia Nombre del centro de costes
  • Lugares de trabajo VECTOR: Lista de nombres que pertenecen al centro de costes.
  • cuotas: Lista de cuotas. Cada cuota contiene un objeto con las siguientes propiedades:
    • Costo Required. Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • PROVEEDOR Required. Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • asignado: VECTOR: Lista de casos que contribuyen a la cuota actual. Cada instancia asignada tiene estas propiedades:
      • ID_instancia: Required. Secuencia Nombre de la instancia
      • instancias Required. Int. Número de casos.
      • comenzado Required. Secuencia Fecha en la que se implementó esta instancia.
      • Flavor Required. Secuencia Tipo de instancia.
      • región Required. Secuencia Región donde se implementó.
      • tipo_de_servicio: Required. Secuencia Tipo de servicio.
      • finalizado String especifica el nombre de usuario de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión.
    • recursos Objeto recursos de la cuota.
      • CPU: Required. Int. CPU (cantidad de núcleos)
      • disco Required. Objeto Un disco con estas propiedades:
        • cantidad Required. Secuencia Cantidad de almacenamiento.
        • unidad: Required. Secuencia Mb, Gb o Tb.
      • RAM Required. Secuencia Ram de la cuota.
        • cantidad Required. Secuencia Cantidad de almacenamiento.
        • unidad: Required. Secuencia Mb o Gb.

    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

    Coge una solicitud para sincronizar grupos LDAP. La solicitud de sincronización, dependiendo de la cantidad de datos del servicio 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 URI

    Nombre Tipo Descripción Req.
    organization_name Secuencia El nombre de la organización

    Respuesta

    Código normal

    • 202 Aceptado

    Códigos de error

    • 401: No autorizado: token/cookie de acceso no válido
    • 404: No se encontró

    Parámetros de respuesta

    Parámetro Tipo Descripción
    esquema secuencia URI esquema de organización: //elasticbox.net/schemas/organization
    nombre secuencia Nombre de la organización
    icon secuencia URI icono de organización
    updated secuencia Fecha de la última actualización
    created secuencia Fecha de creación
    setup boolean Esto es de sólo lectura. Indica que el dispositivo nube Application Manager 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 object Lista de métodos de autenticación para permitir un inicio de sesión único en la organización. Contiene las siguientes propiedades:
  • GitHub Booleano. Si está habilitado, es verdadero, es decir, falso.
  • Google Booleano. Si está habilitado, es verdadero, es decir, falso.
  • contraseña Booleano. Si está habilitado, es verdadero, es decir, falso.
  • LDAP Booleano. Si está habilitado, es verdadero, es decir, falso.
  • ldap_config: Objeto que contiene la configuración de servicio LDAP:
    • ldap_grupo_sincronización: Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • Fuente: Matriz de Fuentes LDAP. Cada fuente tiene las siguientes propiedades:
      • Alojamiento Required. La cadena identifica el nombre de host o la dirección IP del servicio LDAP.
      • grupos_dn: String especifica un nombre de grupo completamente cualificado.
      • grupo_dn_filtro: Cadena define una entidad en el servidor LDAP. Todos los grupos se sincronizan como elementos secundarios de esta entidad.
      • campo de correo electrónico: String especifica el nombre del campo de correo electrónico mediante el cual buscar usuarios. Normalmente, este campo se llama correo electrónico.
      • ldap_search_password: String especifica la contraseña de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión
      • ldap_search_usuario: String especifica el nombre de usuario de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión.
    ldap_last_sync_completed secuencia Marca horaria de la última sincronización de grupo LDAP correcta, 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 LDAP. Cada grupo tiene dos propiedades:
  • DN Identificador de cadena para el grupo.
  • Nombre: Nombre de cadena mostrado en la interfaz web del espacio de trabajo.
  • proveedores array Lista de proveedores cloud que la organización puede permitir registrarse e implementar. Cada tipo de proveedor tiene las siguientes propiedades habilitadas:
  • Valor booleano de verdadero si está habilitado, en otro caso falso.
  • tipo Valores de cadena de los proveedores de nube admitidos: Amazon Web servicios, Openstack, Vmware vSphere, Google Compute, Microsoft Azure, Cloudstack, SoftLayer, Vmware vCloud Director, Amazon Web servicios GovCloud, Rackspace.
  • Descripción: Cadena que enumera brevemente los servicios del proveedor de la nube.
  • Precio Matriz de información de precios para tipos de instancia de computación Linux y Windows. Solo disponible para Amazon Web servicios.
  • etiquetas array Lista de etiquetas aplicada en instancias implementadas a proveedores de nube de la organización. Cada etiqueta tiene tres propiedades:
  • Nombre: Cadena que se aplica como etiqueta.
  • tipo La cadena identifica el tipo de etiqueta si un objeto de administrador de aplicaciones nube o uno personalizado. Los valores permitidos son Box, Workspace, Provider, entorno, Email, User ID, Service Instance ID, Service ID, Workspace ID, Instance ID, Custom.
  • valor: Valor de cadena de nulo para los objetos de administrador de aplicaciones nube. Para etiquetas personalizadas, establezca su valor utilizando esta propiedad.
  • webhooks array Lista de webhooks que se integran con la organización.
    cost_centers array Lista de centros de costes. Cada centro de costes contiene las siguientes propiedades:
  • hacer cumplir: Booleano. Si es verdadero, no se puede implementar una instancia si está por encima de la cuota.
  • Nombre: Secuencia Nombre del centro de costes
  • Lugares de trabajo VECTOR: Lista de nombres que pertenecen al centro de costes.
  • cuotas: Lista de cuotas. Cada cuota contiene un objeto con las siguientes propiedades:
    • Costo Required. Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • PROVEEDOR Required. Booleano. Por defecto, es falso. Especifique como verdadero para habilitar la sincronización con grupos LDAP.
    • asignado: VECTOR: Lista de casos que contribuyen a la cuota actual. Cada instancia asignada tiene estas propiedades:
      • ID_instancia: Required. Secuencia Nombre de la instancia
      • instancias Required. Int. Número de casos.
      • comenzado Required. Secuencia Fecha en la que se implementó esta instancia.
      • Flavor Required. Secuencia Tipo de instancia.
      • región Required. Secuencia Región donde se implementó.
      • tipo_de_servicio: Required. Secuencia Tipo de servicio.
      • finalizado String especifica el nombre de usuario de la cuenta de servicio LDAP para buscar usuarios que intentan iniciar sesión.
    • recursos Objeto recursos de la cuota.
      • CPU: Required. Int. CPU (cantidad de núcleos)
      • disco Required. Objeto Un disco con estas propiedades:
        • cantidad Required. Secuencia Cantidad de almacenamiento.
        • unidad: Required. Secuencia Mb, Gb o Tb.
      • RAM Required. Secuencia Ram de la cuota.
        • cantidad Required. Secuencia Cantidad de almacenamiento.
        • unidad: Required. Secuencia Mb o Gb.

    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 Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
    • Windows Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log

    API de espacios de trabajo

    Gestionar y realizar acciones en espacios de trabajo.

    Crear o lista espacios de trabajo

    Recursos Descripción
    GET /services/workspaces Consigue la lista de espacios de trabajo
    POST /services/workspace Crea un nuevo espacio de trabajo de equipo

    Realizar otras operaciones de espacio 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 Consigue que los proveedores de nube registrados en un espacio de trabajo
    GET /services/workspaces/{workspace_id}/boxes Consigue las cajas en un espacio de trabajo
    GET /services/workspaces/{workspace_id}/instances Consigue las instancias en 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 ningún otro privilegio. Si se proporciona un parámetro de ids (una lista de ID de espacio de trabajo), se recuperan todos los espacios de trabajo correspondientes a esa lista y el usuario tiene acceso.

    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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    ids secuencia Recupera los espacios de trabajo correspondientes a cada ID de espacio de trabajo de la cadena. Las identificaciones se separarán por comas. Por ejemplo: espacio de trabajo4,operaciones,espacio de trabajo5. No
    limit integer Limita el número de espacios de trabajo enumerados en la respuesta. No

    Solicitar parámetros corporales

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Solicitud incorrecta
    • 0 No autorizado
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    add_provider boolean Indica verdadero si un espacio de trabajo personal tiene un proveedor
    billing_notice boolean Si la bandera es Falsa, no mostramos el aviso de facturación al usuario
    clc_alias secuencia (opcional) Id de cuenta para clientes de facturación que tienen una cuenta en CL
    clc_username secuencia Si el usuario tiene autenticación de CLC
    created secuencia Fecha de creación
    costcenter secuencia Id. centro de costes
    dashboard_notice boolean Si la bandera es Falsa, no mostramos el aviso del panel de control al usuario
    deleted secuencia Será nulo si el recurso es válido o una cadena con el tiempo y la fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como nulo
    deploy_instance boolean Indica si el espacio de trabajo ha implementado una instancia
    email secuencia Email de usuario
    email_validated_at secuencia Fecha de validación del correo electrónico.
    favorites array Lista de 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 totalmente cualificados de grupos LDAP a los que pertenece el espacio de trabajo personal de un usuario. No puede actualizar este campo. Presente en espacios de trabajo personales
    icon secuencia URL relativa a un archivo que se almacena como blob en CAM y representa el icono 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 Apellidos del usuario
    ldap_groups array Lista de nombres totalmente calificados de grupos LDAP que son miembros de un espacio de trabajo. Presente en los espacios de trabajo del equipo
    members array Enumera los miembros de un espacio de trabajo de equipo
    nombre secuencia Nombre del usuario (espacio de trabajo)
    organización secuencia (Espacios de trabajo personales) Organización del espacio de trabajo
    organizaciones array (Espacios de trabajo del equipo) Lista del nombre de las organizaciones del espacio de trabajo
    owner secuencia Se refiere al nombre de usuario que posee el espacio de trabajo. Presente en los espacios de trabajo del equipo
    saml_id secuencia (opcional) Id de cuenta si el usuario ha iniciado sesión con SAML
    esquema secuencia URI de esquema. Para espacio de trabajo personal: “http://elasticbox.net/schemas/workspaces/personal" Para el espacio de trabajo del equipo: “http://elasticbox.net/schemas/workspaces/team”
    support_user_created boolean Verdadero si se ha creado el usuario CAM de soporte para este espacio de trabajo y está listo
    take_tour boolean Si es verdadero, el usuario ha desestimado la ventana emergente de la ronda
    tipo secuencia Tipo de espacio de trabajo. Puede ser personal o equipo. Los usuarios pueden editar el espacio de trabajo personal siempre que los esquemas sean válidos y el usuario tenga privilegios.
    updated secuencia Fecha de la última actualización
    uri secuencia ID de 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ámetro
    [
        {
            "uri": "/services/workspaces/operations",
            "icon": null,
            "id": "operations",
            "name": "Operations",
            "schema": "http://elasticbox.net/schemas/workspaces/personal"
        },
        {
            "uri": "/services/workspaces/workspace4",
            "icon": "/services/blobs/download/5bcf2c5c1862a312d7ac3c37/Screen-Shot-2018-10-23-at-16.12.23.png",
            "id": "workspace4",
            "name": "WORKSPACE A",
            "schema": "http://elasticbox.net/schemas/workspaces/team"
        },
        {
            "uri": "/services/workspaces/workspace5",
            "icon": "/services/blobs/download/5bcf2c5c1862a312d7ac3c37/Screen-Shot-2018-10-23-at-16.12.23.png",
            "id": "workspace5",
            "name": "WORKSPACE B",
            "schema": "http://elasticbox.net/schemas/workspaces/team"
        }
    ]
    

    POST /services/workspaces

    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 URI

    • Ninguno

    Solicitar parámetros corporales

    NOMBRE tipo DESCRIPCIÓN REQ.
    costcenter secuencia Id. centro de costes
    nombre secuencia Nombre de espacio de trabajo
    esquema secuencia URL de esquema. Por ejemplo, http://elasticbox.net/schemas/workspaces/equipo

    Respuesta

    Códigos de respuesta normales

    • 201 Creado

    Códigos de respuesta de error comunes

    • 400 Datos no válidos
    • 0 No autorizado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    costcenter secuencia Id. centro de costes
    created secuencia Fecha de creación
    deleted secuencia Será nulo si el recurso es válido o una cadena con el tiempo y la fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como 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 organización
    esquema secuencia URI de 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 equipo. Los usuarios pueden editar el espacio de trabajo personal siempre que los esquemas sean válidos y el usuario tenga privilegios.
    updated secuencia Actualizar fecha
    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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    workspace_id secuencia workspace-id

    Solicitar parámetros corporales

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 0 No autorizado
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    costcenter secuencia Id. centro de costes
    created secuencia Fecha de creación
    deleted secuencia Será nulo si el recurso es válido o una cadena con el tiempo y la fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como 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 organización
    esquema secuencia URI de 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 equipo. Los usuarios pueden editar el espacio de trabajo personal siempre que los esquemas sean válidos y el usuario tenga privilegios.
    updated secuencia Actualizar fecha
    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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    workspace_id secuencia workspace-id

    Solicitar parámetros corporales

    NOMBRE tipo DESCRIPCIÓN REQ.
    costcenter secuencia Id. centro de costes
    created secuencia Fecha de creación del espacio de trabajo No
    deleted secuencia Será nulo si el recurso es válido o una cadena con el tiempo y la fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como nulo No
    icon secuencia Url de icono No
    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 No
    nombre secuencia Nombre de espacio de trabajo
    organizaciones array Lista de nombres de organización
    esquema secuencia Uri del esquema del espacio de trabajo. URI de 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 equipo. Los usuarios pueden editar el espacio de trabajo personal siempre que los esquemas sean válidos y el usuario tenga privilegios. 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
    • 0 No autorizado
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    costcenter secuencia Id. centro de costes
    created secuencia Fecha de creación del espacio de trabajo
    deleted secuencia Será nulo si el recurso es válido o una cadena con el tiempo y la fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como nulo
    icon secuencia Url de icono
    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 de espacio de trabajo
    organizaciones array Lista de nombres de organización
    esquema secuencia Uri del esquema del espacio de trabajo. URI de 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 equipo. Los usuarios pueden editar el espacio de trabajo personal siempre que los esquemas sean válidos y el usuario tenga privilegios.
    updated secuencia Fecha de actualización del espacio de trabajo
    uri secuencia URL para acceder a la vista de espacio de trabajo actualizada

    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}

    Eliminar 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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    workspace_id secuencia workspace-id

    Solicitar parámetros corporales

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • Sin contenido

    Códigos de respuesta de error comunes

    • 0 No autorizado
    • 404 No encontrado

    Parámetros de respuesta

    • Ninguno

    Cuerpo de respuesta

    • Ninguno

    GET /services/workspaces/{workspace_id}/providers

    Recibe 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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    workspace_id secuencia ID de espacio de trabajo

    Solicitar parámetros corporales

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 0 No autorizado
    • 404 No encontrado

    Parámetros de 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 icono 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 en el que pertenece el proveedor
    esquema secuencia Uri del esquema del proveedor. Por ejemplo, "http://elasticbox.net/schemas/aws/provider" Consulte la documentación de API del proveedor para obtener una lista completa de 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

    Consigue 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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    workspace_id secuencia ID de espacio de trabajo

    Solicitar parámetros corporales

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 0 No autorizado
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    automatic_updates secuencia Tipo de actualización automática
    created secuencia Fecha de creación de caja
    deleted secuencia Será nulo si el recurso es válido o una cadena con el tiempo y la fecha de eliminación si se eliminó. Los usuarios finales siempre verán este parámetro como nulo
    descripción secuencia Descripción de la caja
    event object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path
    eventos object Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    icon secuencia Url de icono de caja
    id secuencia box-id
    members array Lista de miembros con acceso a la caja
    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 caja
    esquema secuencia Esquema de caja
    tipo secuencia Tipo de casilla
    updated secuencia Fecha de actualización de caja
    uri secuencia URL para acceder a la vista de la caja
    variables array Lista de variables asociadas a la caja
    visibilidad secuencia Tipo de visibilidad que el proveedor tiene

    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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    workspace_id secuencia ID de espacio de trabajo

    Solicitar parámetros corporales

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 0 No autorizado
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    automatic_updates secuencia Tipo de actualización automática
    bindings array Lista de enlaces de instancia
    casillas array Lista de casillas donde cada objeto de caja contiene un parámetro de servicio. El parámetro de servicio puede tener uno de estos valores: Servicio de Linux, Computación de Windows y Servicio de CloudFormation
    icon secuencia Icono de instancia uri
    id secuencia ID de instancia
    is_deploy_only boolean Si la instancia se implementa solamente
    machine object 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: procesamiento, hecho y 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: caja, evento y script
    members array Lista de miembros con acceso a la instancia
    nombre secuencia Nombre de instancia
    operation object La última operación, hay varios tipos de operaciones: implementar, apagar, poweron, reinstalar, reconfigurar, terminar, finalizar servicio
    policy_box object Casilla de política de instancia
    esquema secuencia Uri de esquema de instancia
    servicio object Servicio de instancia
    service.id secuencia ID de servicio
    service.machines array Lista de máquinas de servicio
    service.type secuencia Required. Puede ser uno de estos tipos: Servicio de Linux, Computación de Windows y Servicio de CloudFormation
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento, hecho y no disponible
    etiquetas array Lista de etiquetas de instancia
    updated secuencia Fecha de la última actualización
    uri secuencia Uri de instancia
    variables array Lista de variables de 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 Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
    • Windows Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log

    API de Blobs

    Gestionar blobs

    Recursos Descripción
    POST /services/blobs/upload Carga un archivo utilizando datos de formularios múltiples
    POST /services/blobs/upload/{file_name} Crea un bloque de datos enviados
    GET /services/blobs/download/{file_id}/{file_name} Descarga un archivo cargado anteriormente

    POST /services/blobs/upload

    Carga un archivo utilizando datos de formularios múltiples.

    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 URI

    • Ninguno

    Solicitar parámetros corporales

    • Datos del formulario: blob (binario)

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Solicitud incorrecta
    • 0 No autorizado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    tipo de contenido secuencia Tipo de contenido de archivo
    length number Tamaño de 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 bloque de 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 URI

    • Ninguno

    Solicitar parámetros corporales

    • Datos del formulario: blob (binario)

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Solicitud incorrecta
    • 0 No autorizado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    tipo de contenido secuencia Tipo de contenido de archivo
    length number Tamaño de 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 URI

    NOMBRE tipo DESCRIPCIÓN REQ.
    file_id secuencia Id de archivo
    file_name secuencia Nombre de archivo

    Solicitar parámetros corporales

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Solicitud incorrecta
    • 0 No autorizado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    tipo de contenido secuencia Tipo de contenido de archivo
    length number Tamaño de 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 Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
    • Windows Windows: RDP dentro de la instancia para ubicar el registro en ProgramDataElasticBoxLogselasticbox-agent.log

    API de cajas

    Gestionar y realizar acciones en cajas.

    Crear o lista cuadros

    Recursos Descripción
    GET /services/boxes Recibe la lista de casillas accesibles en el espacio de trabajo personal.
    POST/servicios/cajas 0. Cree una nueva casilla

    Realizar operaciones de caja

    Recursos Descripción
    GET /services/boxes/{box_id} Recupera una caja existente.
    PUT /services/boxes/{box_id} Actualiza una caja existente.
    ELIMINAR /servicios/caja/{box_id} Elimina una casilla existente.
    GET /services/boxes/{box_id}/stack Consigue la pila de cajas.
    GET /services/boxes/{box_id}/bindings Obtiene las fijaciones de la caja.
    GET /services/boxes/{box_id}/versions Obtenga la lista de versiones de cajas.
    PUT /services/boxes/{box_id}/diff Obtenga el diferencial entre dos cajas.

    CloudFormation Box

    El tipo de casilla de CloudFormation de Cloud Application Manager funciona con el servicio AWS CloudFormation. Permite crear y personalizar plantillas que se pueden iniciar como una única pila de servicios combinados en AWS. Gestionar configuraciones de CloudFormation en nube Application Manager (Administrador de aplicaciones) utilizando estos Acciones de API.

    Los ejemplos incluyen estos:

    Ejemplo
    Crear o importar una plantilla CloudFormation
    Modificar la plantilla de CloudFormation
    Iniciar una caja de CloudFormation
    Actualizar un stack de CloudFormation en tiempo real

    GET /services/boxes

    Recibe cajas 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 URI

    Parámetro Estilo Tipo Descripción Req.
    ids plain secuencia Lista separada por comas de ID de cajas Opte por

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Datos no válidos

    Parámetros de 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 para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • organización plain secuencia Organización a la que pertenece la caja.
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    requisitos plain array Requisitos de la caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    id plain array Identificador único de la caja.
    esquema plain secuencia Uri de esquema de caja
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    icon plain secuencia Icono de caja uri.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    nombre plain secuencia Nombre de 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/servicios/cajas

    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 URI

    • Ninguno

    Solicitar parámetros corporales

    Parámetro Estilo Tipo Descripción Req.
    requisitos plain array Requisitos de la caja.
    owner plain secuencia Propietario de la caja, el nombre de usuario de un espacio de trabajo personal y el nombre del espacio de trabajo para un espacio de trabajo del equipo.
    visibilidad plain secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • nombre plain secuencia Nombre de casilla
    descripción plain secuencia Descripción de la caja.
    icon plain secuencia Url de icono.
    esquema plain secuencia Esquema de caja.

    Cuerpo de 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 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 para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • organización plain secuencia Organización a la que pertenece la caja.
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    requisitos plain array Requisitos de la caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    id plain array Identificador único de la caja.
    esquema plain secuencia Uri de esquema de caja
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    icon plain secuencia Icono de caja uri.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    nombre plain secuencia Nombre de 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 un cuadro existente, requiere el id_id_id especificado.

    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 URI

    Parámetro Tipo Descripción Req.
    box_id secuencia box-id

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 403 Prohibido
    • 404 No encontrado

    Parámetros de 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 para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • organización plain secuencia Organización a la que pertenece la caja.
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    requisitos plain array Requisitos de la caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    id plain array Identificador único de la caja.
    esquema plain secuencia Uri de esquema de caja
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    icon plain secuencia Icono de caja uri.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    nombre plain secuencia Nombre de 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 caja para actualizar una caja existente. El cuerpo de la solicitud debe contener el objeto de la caja y solo puede actualizar los siguientes campos: archivos, variables, puertos, requisitos, descripción, icono, nombre, eventos y 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 URI

    Parámetro Estilo Tipo Descripción Req.
    box_id plain secuencia box-id

    Solicitar parámetros corporales

    Parámetro Estilo Tipo Descripción Req.
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    requisitos plain array Requisitos de la caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    id plain array Identificador único de la caja.
    esquema plain secuencia Uri de esquema de caja
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    organización plain secuencia Organización a la que pertenece la caja.
    icon plain secuencia Icono de caja uri.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    nombre plain secuencia Nombre de casilla

    Cuerpo de 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 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 para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • organización plain secuencia Organización a la que pertenece la caja.
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    requisitos plain array Requisitos de la caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    id plain array Identificador único de la caja.
    esquema plain secuencia Uri de esquema de caja
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    icon plain secuencia Icono de caja uri.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    nombre plain secuencia Nombre de 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 un cuadro existente, requiere el id_id_id especificado.

    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 URI

    Parámetro Estilo Tipo Descripción Req.
    box_id plain secuencia box-id

    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

    Consigue la pila de cajas. La pila de cajas es una lista de cajas. Se incluyen todas las casillas que son una variable de caja 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 URI

    Parámetro Tipo Descripción Req.
    box_id secuencia box-id

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Solicitud incorrecta

    Parámetros de 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 para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • organización plain secuencia Organización a la que pertenece la caja.
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    etiquetas plain array Etiquetas de caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    id plain array Identificador único de la caja.
    esquema plain secuencia Uri de esquema de caja
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    icon plain secuencia Icono de caja uri.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    nombre plain secuencia Nombre de casilla

    Cuerpo de respuesta

    El siguiente ejemplo es la caja que instala y configura Magento utilizando cajas 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 caja que son enlaces del cuadro solicitado. Requiere la ID de caja especificada como un 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 URI

    Parámetro Tipo Descripción Req.
    box_id secuencia box-id

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Solicitud incorrecta

    Parámetros de respuesta

    Parámetro Estilo Tipo Descripción
    uri plain secuencia Uri Box.
    id plain array Identificador único de la caja.
    icon plain secuencia Icono de caja uri.
    nombre plain secuencia Nombre de 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

    Consigue una lista de versiones de caja para la casilla solicitada. Requiere la ID de caja especificada como un parámetro box_id. Si el cuadro especificado está desversionado, 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 URI

    Parámetro Tipo Descripción Req.
    box_id secuencia box-id

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 403 Prohibido
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Estilo Tipo Descripción
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    etiquetas plain array Etiquetas de caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    id plain array Identificador único de la caja.
    icon plain secuencia Icono de caja uri.
    visibilidad plain secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • organización plain secuencia Organización a la que pertenece la caja.
    nombre plain secuencia Nombre de casilla
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    versión plain object El objeto de versión de la caja contiene el cuadro de parámetros, descripción y espacio de trabajo.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    esquema plain secuencia Uri de esquema de caja

    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 un cuadro con el cuadro enviado. Requiere la ID de caja 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 URI

    Parámetro Estilo Tipo Descripción Req.
    box_id plain secuencia box-id

    Solicitar parámetros corporales

    Parámetro Estilo Tipo Descripción Req.
    updated plain secuencia Fecha de la última actualización.
    descripción plain secuencia Descripción de la caja.
    etiquetas plain array Etiquetas de caja.
    variables plain array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    members plain array Lista de miembros de la caja.
    owner plain secuencia Propietario de la caja.
    id plain array Identificador único de la caja.
    icon plain secuencia Icono de caja uri.
    visibilidad plain secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • organización plain secuencia Organización a la que pertenece la caja.
    nombre plain secuencia Nombre de casilla
    created plain secuencia Fecha de creación
    uri plain secuencia Uri Box.
    versión plain object El objeto de versión de la caja contiene el cuadro de parámetros, descripción y espacio de trabajo.
    eventos plain array Lista de eventos de la caja, puede haber nueve listas de eventos: configurar, desechar, instalar, preconfigurar, predisponer, pre_instalar, pre_start, pre_stop, start y stop.
    event plain object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url, upload_date, length y destination_path.
    esquema plain secuencia Uri de esquema de caja

    Cuerpo de 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 respuesta

    Parámetro Estilo Tipo Descripción
    box_variables plain object Diferencias en las variables de la caja, el objeto contiene un título y tres listas: eliminado, añadido y cambiado.
    box_variables.removed plain array Lista de variables de cuadro eliminadas, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box_variables.added plain array Lista de variables de cuadro añadidas, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box_variables.changed plain array Lista de variables de cuadro cambiadas, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box_details plain object Diferencias en los detalles del cuadro, el objeto contiene un título y tres listas: eliminado, añadido y cambiado.
    box_profile_properties plain object Diferencias en las propiedades del perfil de caja, el objeto contiene un título y tres listas: eliminado, añadido y cambiado. Disponible para política cajas.
    box_events plain array Lista de eventos de caja.
    modificado: plain boolean Ha habido cambios entre 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": []
        }
    }
    

    Crear y lanzar una caja de CloudFormation

    Crear o importar una plantilla CloudFormation

    1. POST/servicios/cajas
      Crea una caja del tipo de servicio CloudFormation. Consulte el ejemplo crear una CloudFormation.

    2. GET /services/blobs/download/{file_id}/{file_name}
      Recupera contenido de un archivo o URL dado. Consulte el ejemplo create a CloudFormation, part 2.
      Envía una plantilla JSON vacía como blob.

    3. POST /services/blobs/upload/{file_name}
      Crea un bloque de datos de plantilla enviados a través de un archivo o URL. Los datos de la plantilla aquí están en el cuerpo de la solicitud. Consulte el ejemplo create a CloudFormation, part 3.

    4. PUT /services/boxes/{box_id}
      Actualiza el cuadro CloudFormation con la plantilla. Consulte el ejemplo create a CloudFormation, part 4.

    Modificar la plantilla de CloudFormation

    1. POST /services/blobs/upload/{file_name}
      Crea un bloque de datos de plantilla modificados. Consulte el ejemplo modificar una CloudFormation.

    2. PUT /services/boxes/{box_id}
      Actualiza la caja CloudFormation. Consulte el ejemplo modificar una CloudFormation, parte 2.

    Eliminar una caja de CloudFormation

    1. ELIMINAR /servicios/caja/{box_id}
      Elimina el cuadro CloudFormation del catálogo de cajas.

    Iniciar una caja de CloudFormation

    1. POST /services/profiles
      Esto es opcional. Pasa la configuración de implementación en un nuevo perfil de implementación para lanzar la caja en la infraestructura del proveedor. Consulte el ejemplo lanzar una CloudFormation.

    2. POST /services/instances
      Crea una nueva instancia del cuadro CloudFormation.

    Actualizar un stack de CloudFormation en tiempo real

    1. POST /services/blobs/upload
      Carga los datos de plantilla modificados. Consulte el ejemplo Actualizar una CloudFormation.

    2. PUT /services/instances/{instance_id}
      Actualiza la instancia con los cambios de plantilla. Consulte el ejemplo actualizar una parte 2 de CloudFormation.

    3. PUT /services/instances/{instance_id}/reconfigure
      Reconfigura la pila según los cambios. Consulte el ejemplo Actualizar una parte 3 de CloudFormation.

    Ejemplo: Crear o importar una plantilla CloudFormation

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

    Creación de una caja del tipo de servicio CloudFormation.

    Solicitud

    Encabezados

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

    Cuerpo de 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 una URL determinada. Una vez comprobada que la plantilla es correcta, podríamos asignarla al cuadro 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 de los datos enviados a través de una URL.

    Solicitud

    Encabezados

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

    Cuerpo de 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, vamos a actualizar el cuadro CloudFormation con una de las plantillas que hemos obtenido en los dos últimos pasos.

    Solicitud

    Encabezados

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

    Cuerpo de 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 bloque de datos de plantilla modificados.

    Solicitud

    Encabezados

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

    Cuerpo de 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 caja CloudFormation.

    Solicitud

    Encabezados

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

    Cuerpo de 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 caja de CloudFormation

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

    Crea una nueva instancia del cuadro CloudFormation.

    Solicitud

    Encabezados

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

    Cuerpo de 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 plantilla modificados.

    Solicitud

    Encabezados

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

    Cuerpo de 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 plantilla.

    Solicitud

    Encabezados

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

    Cuerpo de 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 la pila según los cambios.

    Solicitud

    Encabezados

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

    Cuerpo de solicitud

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

    Respuesta

    Ninguno.

    API de instancias

    Gestionar y realizar acciones en casos.

    Crear o enumerar instancias

    Recursos Descripción
    GET /services/instances Recibe la lista de instancias.
    POST /services/instances Crea una nueva instancia, importa una instancia o instancias sin registrar basadas en el 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, termina fuerza o elimina una instancia existente.
    GET /services/instances/{instance_id}/service Recibe el servicio de instancia.
    GET /services/instances/{instance_id}/activity Recibe todos los registros de actividad de las operaciones ejecutadas de una instancia.
    GET /services/instances/{instance_id}/machine_logs Recibe los registros de todas las máquinas de una instancia implementada.
    GET /services/instances/{instance_id}/bindings Consigue la unión de una instancia.
    GET /services/instances/{instance_id}/operations Realiza todas las operaciones de una instancia.
    PUT /services/instances/{instance_id}/deploy Vuelva a implementar una instancia existente.
    PUT /services/instances/{instance_id}/poweron Encienda una instancia existente.
    PUT /services/instances/{instance_id}/shutdown Apagar una instancia
    PUT /services/instances/{instance_id}/reinstall Vuelva a instalar una instancia existente.
    PUT /services/instances/{instance_id}/reconfigure Vuelva a configurar una instancia existente.
    PUT /services/instances/{instance_id}/import Vuelva a intentar importar una instancia sin registrar.
    PUT /services/instances/{instance_id}/cancel_import Cancelar una importación fallida de una instancia no registrada.
    PUT /services/instances/{instance_id}/abort_operation Anular ejecución de scripts de una operación de instancia de procesamiento.

    GET /services/instances

    Recibe 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 URI

    • Ninguno

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 400 Solicitud incorrecta
    • 0 No autorizado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    box secuencia Identificador único de cuadro utilizado para crear la instancia.
    lease array Programa una instancia con tres parámetros:
  • liberado. Es un valor booleano verdadero o falso. Falso significa que la operación programada en la instancia todavía no se ejecuta.
  • Operación Especifica una instancia para detenerse con apagado o finalizar. Cuando no está programado, la instancia está establecida en alwayson.
  • Vence Especifica en formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, la hora y fecha para detener una instancia. Solo se requiere cuando se establece una instancia para terminar o cerrar.
  • created secuencia Fecha de creación
    updated secuencia Fecha de la última actualización.
    automatic_updates secuencia Uno de ellos: importante, menor, parche, apagado. Predeterminado desactivado.
    members array Lista de miembros a los que ha compartido la instancia.
    owner secuencia Propietario de la instancia.
    operation secuencia La última operación, hay siete tipos de operaciones: implementar, apagar , poweron , reinstalar , reconfigurar , finalizar y finalizar servicio
    nombre secuencia Nombre de instancia
    servicio object Servicio de instancia.
    service.type secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    service.id secuencia Identificador único del servicio.
    service.machines array Lista de máquinas de servicio
    machine object Máquina incluida en la lista de máquinas de servicio.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento, hecho y no disponible.
    machine.name secuencia Nombre de la máquina.
    machine.workflow array Lista de acciones de flujo de trabajo, donde cada objeto de acción de flujo de trabajo contiene tres parámetros: caja, evento y script.
    workflow.box secuencia Cuadro de acciones de flujo de trabajo.
    workflow.event secuencia Evento de acción de flujo de trabajo.
    workflow.script secuencia Uri de script de acción de flujo de trabajo.
    etiquetas array Tipo de instancia
    variables array Lista de variables de instancia, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    casillas array Lista de casillas donde cada objeto de caja contiene un parámetro de servicio. El parámetro de servicio puede tener uno de estos valores: Linux Compute, Windows Compute y CloudFormation Service.
    uri secuencia Uri de instancia.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento, hecho y no disponible
    bindings array Lista de enlaces de instancia.
    vinculante object Vinculación contenida en la lista de enlaces, cada objeto de unión contiene los parámetros: instancia y nombre.
    id array Identificador único de instancia
    icon secuencia Icono de instancia uri.
    esquema secuencia Uri de esquema de 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 URI

    • Ninguno

    Solicitar parámetros corporales

    Parámetro Tipo Descripción Req.
    esquema secuencia URI de esquema de instancia.
    owner secuencia ID del espacio de trabajo donde se publica la instancia.
    box Object Objeto de caja con su id y una lista de objetos variables anulados en el tiempo de implementación
    policy_box Object Objeto de caja con su id y una lista de objetos variables anulados en el tiempo de implementación
    automatic_updates secuencia Uno de ellos: importante, menor, parche, apagado. Predeterminado desactivado.
    lease array Programa una instancia con dos parámetros:
  • Vence Especifica en formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, la hora y fecha para detener una instancia. Solo se requiere cuando se establece una instancia para terminar o cerrar.
  • Operación Especifica una instancia para detenerse con apagado o finalizar. Cuando no está programado, la instancia está establecida en alwayson.
  • nombre secuencia Nombre de instancia
    instance_tags array Lista de etiquetas definidas en el tiempo de implementación.

    Cuerpo de solicitud

    El siguiente ejemplo de 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 respuesta

    Parámetro Tipo Descripción
    lease array Si está programado, este objeto muestra estos parámetros para la instancia:
  • liberado. Es un valor booleano verdadero o falso. Falso significa que la operación programada en la instancia todavía no se ejecuta.
  • Vence Especifica en formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, la hora y fecha para detener una instancia. Solo se aplica cuando se establece una instancia para finalizar o apagar.
  • Operación Especifica la operación de parada programada como apagado o finalizar. Cuando no está programado, la instancia está establecida en alwayson.
  • bindings array Lista de enlaces de instancia.
    vinculante object Vinculación contenida en la lista de enlaces, cada objeto de unión contiene los parámetros: instancia y nombre.
    updated secuencia Fecha de la última actualización.
    nombre secuencia Nombre de instancia
    servicio Object Servicio de instancia.
    service.type secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    service.id secuencia Tipo de servicio
    service.machines array Lista de máquinas de servicio.
    machine object Máquina incluida en la lista de máquinas de servicio.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento , hecho y no disponible.
    machine.name secuencia Nombre de la máquina.
    machine.workflow array Lista de acciones de flujo de trabajo, donde cada objeto de acción de flujo de trabajo contiene tres parámetros: caja, evento y script.
    workflow.box secuencia Cuadro de acciones de flujo de trabajo.
    workflow.event secuencia Evento de acción de flujo de trabajo.
    workflow.script secuencia Uri de script de acción de flujo de trabajo.
    etiquetas array Tipo de instancia
    variables array Lista de variables de instancia, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created secuencia Fecha de creación
    casillas array Lista de cajas
    box.visibility secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • box.organization secuencia Organización a la que pertenece la caja.
    box.updated secuencia Fecha de la última actualización.
    box.description secuencia Descripción de la caja.
    box.service secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    box.tags array Etiquetas de caja.
    box.variables array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box.created secuencia Fecha de creación
    box.uri secuencia Uri Box.
    box.id array Identificador único de caja.
    box.schema secuencia Uri de esquema de caja
    box.members array Lista de miembros de la caja.
    box.owner secuencia Propietario de la caja.
    box.bindings array Lista de enlaces de la caja.
    box.binding object Vinculada en la lista de enlaces, cada unión tiene un cuadro y un nombre.
    box.icon secuencia Icono de caja uri.
    box.events array Lista de eventos de la caja, puede haber nueve listas de eventos: configure, deseche, instale, post_configure, post_disposal, post_install, post_start, post_stop, start y stop.
    box.event object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url , upload_date , length y destination_path.
    box.name secuencia Nombre de casilla
    uri secuencia instancia uri.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento , hecho y no disponible
    members array Miembros de la instancia.
    owner secuencia Propietario de la instancia.
    operation secuencia La última operación, hay siete tipos de operaciones: implementar , apagar , poweron , reinstalar , reconfigurar , finalizar y finalizar servicio
    icon secuencia Icono de instancia uri.
    id array Identificador único de instancia.
    esquema secuencia Uri de esquema de instancia
    policy_box object política de implementación específica para un proveedor
    policy_box.provider_id secuencia ID de proveedor
    policy_box.automatic_updates secuencia Uno de ellos: alcalo, pequeño, parche, apagado
    policy_box.name secuencia política Nombre de la caja
    policy_box.variables array Lista de variables de directivas de la caja de despliegue
    policy_box.claims array Lista de reclamaciones de la política de la caja de despliegue
    policy_box.id secuencia Id de directiva de caja de despliegue
    policy_box.schema secuencia Esquema de la política de la caja de despliegue
    policy_box.members array Lista de miembros que comparten el cuadro de política de implementación
    policy_box.owner secuencia Propietario de la política de la caja de despliegue
    policy_box.readme object Archivo Léame para la caja de directivas 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 criterio de valoración que cree 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 URI

    • Ninguno

    Solicitar parámetros corporales

    Parámetro Tipo Descripción Req.
    esquema secuencia Registrar URI de esquema de solicitud de instancia.
    owner secuencia ID del espacio de trabajo donde se importa la instancia.
    nombre secuencia Nombre de instancia para registrarse.
    descripción secuencia Descripción de la instancia para registrarse.
    unregistered_id secuencia Identificador único de instancia
    linux_username secuencia Usuario de Linux para instalar agente
    private_key secuencia Clave Linux para instalar agente
    windows_username secuencia Nombre de usuario de Windows para instalar agente
    windows_password secuencia Contraseña de Windows para instalar el agente
    instance_tags array Lista de etiquetas definidas en el tiempo de implementación.
    automatic_updates secuencia Uno de ellos: importante, menor, parche, apagado. Predeterminado desactivado.
    lease array Programa una instancia con dos parámetros:
  • Vence Especifica en formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, la hora y fecha para detener una instancia. Solo se requiere cuando se establece una instancia para terminar o cerrar.
  • Operación Especifica una instancia para detenerse con apagado o finalizar. Cuando no está programado, la instancia está establecida en alwayson.
  • Cuerpo de 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 masiva, la solicitud debe tener un esquema de solicitud de importación masiva 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 respuesta

    Parámetro Tipo Descripción
    lease array Si está programado, este objeto muestra estos parámetros para la instancia:
  • liberado. Es un valor booleano verdadero o falso. Falso significa que la operación programada en la instancia todavía no se ejecuta.
  • Vence Especifica en formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, la hora y fecha para detener una instancia. Solo se aplica cuando se establece una instancia para finalizar o apagar.
  • Operación Especifica la operación de parada programada como apagado o finalizar. Cuando no está programado, la instancia está establecida en alwayson.
  • bindings array Lista de enlaces de instancia.
    vinculante object Vinculación contenida en la lista de enlaces, cada objeto de unión contiene los parámetros: instancia y nombre.
    updated secuencia Fecha de la última actualización.
    nombre secuencia Nombre de instancia
    servicio Object Servicio de instancia.
    service.type secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    service.id secuencia Tipo de servicio
    service.machines array Lista de máquinas de servicio.
    machine object Máquina incluida en la lista de máquinas de servicio.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento , hecho y no disponible.
    machine.name secuencia Nombre de la máquina.
    machine.workflow array Lista de acciones de flujo de trabajo, donde cada objeto de acción de flujo de trabajo contiene tres parámetros: caja, evento y script.
    workflow.box secuencia Cuadro de acciones de flujo de trabajo.
    workflow.event secuencia Evento de acción de flujo de trabajo.
    workflow.script secuencia Uri de script de acción de flujo de trabajo.
    etiquetas array Tipo de instancia
    variables array Lista de variables de instancia, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created secuencia Fecha de creación
    casillas array Lista de cajas
    box.visibility secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • box.organization secuencia Organización a la que pertenece la caja.
    box.updated secuencia Fecha de la última actualización.
    box.description secuencia Descripción de la caja.
    box.service secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    box.tags array Etiquetas de caja.
    box.variables array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box.created secuencia Fecha de creación
    box.uri secuencia Uri Box.
    box.id array Identificador único de caja.
    box.schema secuencia Uri de esquema de caja
    box.members array Lista de miembros de la caja.
    box.owner secuencia Propietario de la caja.
    box.bindings array Lista de enlaces de la caja.
    box.binding object Vinculada en la lista de enlaces, cada unión tiene un cuadro y un nombre.
    box.icon secuencia Icono de caja uri.
    box.events array Lista de eventos de la caja, puede haber nueve listas de eventos: configure, deseche, instale, post_configure, post_disposal, post_install, post_start, post_stop, start y stop.
    box.event object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url , upload_date , length y destination_path.
    box.name secuencia Nombre de casilla
    uri secuencia instancia uri.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento , hecho y no disponible
    members array Miembros de la instancia.
    owner secuencia Propietario de la instancia.
    operation secuencia La última operación, hay siete tipos de operaciones: implementar , apagar , poweron , reinstalar , reconfigurar , finalizar y finalizar servicio
    icon secuencia Icono de instancia uri.
    id array Identificador único de instancia.
    esquema secuencia Uri de esquema de instancia
    policy_box object política de implementación específica para un proveedor
    policy_box.provider_id secuencia ID de proveedor
    policy_box.automatic_updates secuencia Uno de ellos: alcalo, pequeño, parche, apagado
    policy_box.name secuencia política Nombre de la caja
    policy_box.variables array Lista de variables de directivas de la caja de despliegue
    policy_box.claims array Lista de reclamaciones de la política de la caja de despliegue
    policy_box.id secuencia Id de directiva de caja de despliegue
    policy_box.schema secuencia Esquema de la política de la caja de despliegue
    policy_box.members array Lista de miembros que comparten el cuadro de política de implementación
    policy_box.owner secuencia Propietario de la política de la caja de despliegue
    policy_box.readme object Archivo Léame para la caja de directivas 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 dada su ID.

    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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    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 respuesta

    Parámetro Tipo Descripción
    bindings array Lista de enlaces de instancia.
    vinculante object Vinculación contenida en la lista de enlaces, cada objeto de unión contiene los parámetros: instancia y nombre.
    updated secuencia Fecha de la última actualización.
    nombre secuencia Nombre de instancia
    servicio object Servicio de instancia.
    service.type secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    service.id secuencia Tipo de servicio
    service.machines array Lista de máquinas de servicio
    machine object Máquina incluida en la lista de máquinas de servicio.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento , hecho y no disponible.
    machine.name secuencia Nombre de la máquina.
    machine.workflow array Lista de acciones de flujo de trabajo, donde cada objeto de acción de flujo de trabajo contiene tres parámetros: caja, evento y script.
    workflow.box secuencia Cuadro de acciones de flujo de trabajo.
    workflow.event secuencia Evento de acción de flujo de trabajo.
    workflow.script secuencia Uri de script de acción de flujo de trabajo.
    etiquetas array Tipo de instancia
    variables array Lista de variables de instancia, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created secuencia Fecha de creación
    casillas array Lista de cajas
    box.visibility secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • box.organization secuencia Organización a la que pertenece la caja.
    box.updated secuencia Fecha de la última actualización.
    box.description secuencia Descripción de la caja.
    box.service secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    box.tags array Etiquetas de caja.
    box.variables array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box.created secuencia Fecha de creación
    box.uri secuencia Uri Box.
    box.id array Identificador único de caja.
    box.schema secuencia Uri de esquema de caja
    box.members array Lista de miembros de la caja.
    box.owner secuencia Propietario de la caja.
    box.bindings array Lista de enlaces de la caja.
    box.binding object Vinculada en la lista de enlaces, cada unión tiene un cuadro y un nombre.
    box.icon secuencia Icono de caja uri.
    box.events array Lista de eventos de la caja, puede haber nueve listas de eventos: configure, deseche, instale, post_configure, post_disposal, post_install, post_start, post_stop, start y stop.
    box.event object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url , upload_date , length y destination_path.
    box.name secuencia Nombre de casilla
    policy_box object política de implementación específica para un proveedor
    policy_box.provider_id secuencia ID de proveedor
    policy_box.automatic_updates secuencia Uno de ellos: alcalo, pequeño, parche, apagado
    policy_box.name secuencia política Nombre de la caja
    policy_box.variables array Lista de variables de directivas de la caja de despliegue
    policy_box.claims array Lista de reclamaciones de la política de la caja de despliegue
    policy_box.id secuencia Id de directiva de caja de despliegue
    policy_box.schema secuencia Esquema de la política de la caja de despliegue
    policy_box.members array Lista de miembros que comparten el cuadro de política de implementación
    policy_box.owner secuencia Propietario de la política de la caja de despliegue
    policy_box.readme object Archivo Léame para la caja de directivas de implementación
    uri secuencia instancia uri.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento , hecho y no disponible
    members array Miembros de la instancia.
    owner secuencia Propietario de la instancia.
    operation secuencia La última operación, hay siete tipos de operaciones: implementar , apagar , poweron , reinstalar , reconfigurar , finalizar y finalizar servicio
    icon secuencia Icono de instancia uri.
    id array Identificador único de instancia.
    esquema secuencia Uri de esquema de 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}

    Dado el ID de instancia, solo actualiza estos campos de una instancia existente: cajas, etiquetas, programación, 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Solicitar parámetros corporales

    Parámetro Tipo Descripción Req.
    bindings array Lista de enlaces de instancia.
    vinculante object Vinculación contenida en la lista de enlaces, cada objeto de unión contiene los parámetros: instancia y nombre.
    updated secuencia Fecha de la última actualización.
    nombre secuencia Nombre de instancia
    servicio object Servicio de instancia.
    service.type secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    service.id secuencia Tipo de servicio
    service.machines array Lista de máquinas de servicio
    machine object Máquina incluida en la lista de máquinas de servicio.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento , hecho y no disponible.
    machine.name secuencia Nombre de la máquina.
    machine.workflow array Lista de acciones de flujo de trabajo, donde cada objeto de acción de flujo de trabajo contiene tres parámetros: caja, evento y script.
    workflow.box secuencia Cuadro de acciones de flujo de trabajo.
    workflow.event secuencia Evento de acción de flujo de trabajo.
    workflow.script secuencia Uri de script de acción de flujo de trabajo.
    etiquetas array Tipo de instancia
    variables array Lista de variables de instancia, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created secuencia Fecha de creación
    casillas array Lista de cajas
    box.visibility secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • box.organization secuencia Organización a la que pertenece la caja.
    box.updated secuencia Fecha de la última actualización.
    box.description secuencia Descripción de la caja.
    box.service secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    box.tags array Etiquetas de caja.
    box.variables array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box.created secuencia Fecha de creación
    box.uri secuencia Uri Box.
    box.id array Identificador único de caja.
    box.schema secuencia Uri de esquema de caja
    box.members array Lista de miembros de la caja.
    box.owner secuencia Propietario de la caja.
    box.bindings array Lista de enlaces de la caja.
    box.binding object Vinculada en la lista de enlaces, cada unión tiene un cuadro y un nombre.
    box.icon secuencia Icono de caja uri.
    box.events array Lista de eventos de la caja, puede haber nueve listas de eventos: configure, deseche, instale, post_configure, post_disposal, post_install, post_start, post_stop, start y stop.
    box.event object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url , upload_date , length y destination_path.
    box.name secuencia Nombre de casilla
    policy_box object política de implementación específica para un proveedor
    policy_box.provider_id secuencia ID de proveedor
    policy_box.automatic_updates secuencia Uno de ellos: alcalo, pequeño, parche, apagado
    policy_box.name secuencia política Nombre de la caja
    policy_box.variables array Lista de variables de directivas de la caja de despliegue
    policy_box.claims array Lista de reclamaciones de la política de la caja de despliegue
    policy_box.id secuencia Id de directiva de caja de despliegue
    policy_box.schema secuencia Esquema de la política de la caja de despliegue
    policy_box.members array Lista de miembros que comparten el cuadro de política de implementación
    policy_box.owner secuencia Propietario de la política de la caja de despliegue
    policy_box.readme object Archivo Léame para la caja de directivas de implementación
    uri secuencia instancia uri.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento , hecho y no disponible
    members array Miembros de la instancia.
    owner secuencia Propietario de la instancia.
    operation secuencia La última operación, hay siete tipos de operaciones: implementar , apagar , poweron , reinstalar , reconfigurar , finalizar y finalizar servicio
    icon secuencia Icono de instancia uri.
    id array Identificador único de instancia.
    esquema secuencia Uri de esquema de instancia
    lease array Programa una instancia con dos parámetros:
  • Vence Especifica en formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, la hora y fecha para detener una instancia. Solo se requiere cuando se establece una instancia para terminar o cerrar.
  • Operación Especifica una instancia para detenerse con apagado o finalizar. Cuando no está programado, la instancia está establecida en alwayson.
  • Cuerpo de 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 respuesta

    Parámetro Tipo Descripción
    bindings array Lista de enlaces de instancia.
    vinculante object Vinculación contenida en la lista de enlaces, cada objeto de unión contiene los parámetros: instancia y nombre.
    updated secuencia Fecha de la última actualización.
    nombre secuencia Nombre de instancia
    servicio Object Servicio de instancia.
    service.type secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    service.id secuencia Tipo de servicio
    service.machines array Lista de máquinas de servicio.
    machine object Máquina incluida en la lista de máquinas de servicio.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento , hecho y no disponible.
    machine.name secuencia Nombre de la máquina.
    machine.workflow array Lista de acciones de flujo de trabajo, donde cada objeto de acción de flujo de trabajo contiene tres parámetros: caja, evento y script.
    workflow.box secuencia Cuadro de acciones de flujo de trabajo.
    workflow.event secuencia Evento de acción de flujo de trabajo.
    workflow.script secuencia Uri de script de acción de flujo de trabajo.
    etiquetas array Tipo de instancia
    variables array Lista de variables de instancia, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    created secuencia Fecha de creación
    casillas array Lista de cajas
    box.visibility secuencia Indica a qué nivel es visible la casilla. De forma predeterminada, las casillas son visibles para el espacio de trabajo en el que se crean. Puede tener uno de estos valores:
  • Pública: Visible para nube usuarios de Application Manager en todas las organizaciones.
  • Organización Visible para todos los usuarios de la organización donde se creó la casilla.
  • espacio de trabajo De forma predeterminada, la casilla sólo es visible para los miembros del espacio de trabajo donde se creó.
  • box.organization secuencia Organización a la que pertenece la caja.
    box.updated secuencia Fecha de la última actualización.
    box.description secuencia Descripción de la caja.
    box.service secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    box.tags array Etiquetas de caja.
    box.variables array Lista de variables de cuadro, cada objeto variable contiene los parámetros: tipo, nombre, valor, visibilidad, obligatorio, etc.
    box.created secuencia Fecha de creación
    box.uri secuencia Uri Box.
    box.id array Identificador único de caja.
    box.schema secuencia Uri de esquema de caja
    box.members array Lista de miembros de la caja.
    box.owner secuencia Propietario de la caja.
    box.bindings array Lista de enlaces de la caja.
    box.binding object Vinculada en la lista de enlaces, cada unión tiene un cuadro y un nombre.
    box.icon secuencia Icono de caja uri.
    box.events array Lista de eventos de la caja, puede haber nueve listas de eventos: configure, deseche, instale, post_configure, post_disposal, post_install, post_start, post_stop, start y stop.
    box.event object Evento contenido en una de las listas de eventos, cada objeto de evento contiene los parámetros: url , upload_date , length y destination_path.
    box.name secuencia Nombre de casilla
    policy_box object política de implementación específica para un proveedor
    policy_box.provider_id secuencia ID de proveedor
    policy_box.automatic_updates secuencia Uno de ellos: alcalo, pequeño, parche, apagado
    policy_box.name secuencia política Nombre de la caja
    policy_box.variables array Lista de variables de directivas de la caja de despliegue
    policy_box.claims array Lista de reclamaciones de la política de la caja de despliegue
    policy_box.id secuencia Id de directiva de caja de despliegue
    policy_box.schema secuencia Esquema de la política de la caja de despliegue
    policy_box.members array Lista de miembros que comparten el cuadro de política de implementación
    policy_box.owner secuencia Propietario de la política de la caja de despliegue
    policy_box.readme object Archivo Léame para la caja de directivas de implementación
    uri secuencia instancia uri.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento , hecho y no disponible
    members array Miembros de la instancia.
    owner secuencia Propietario de la instancia.
    operation secuencia La última operación, hay siete tipos de operaciones: implementar , apagar , poweron , reinstalar , reconfigurar , finalizar y finalizar servicio
    icon secuencia Icono de instancia uri.
    id array Identificador único de instancia.
    esquema secuencia Uri de esquema de instancia
    lease array Programa una instancia con dos parámetros:
  • liberado. Es un valor booleano verdadero o falso. Falso significa que la operación programada en la instancia todavía no se ejecuta.
  • Vence Especifica en formato UTC AAAA-MM-DD HH:MM:SS.SSSSSS, la hora y fecha para detener una instancia. Solo se requiere cuando se establece una instancia para terminar o cerrar.
  • Operación Especifica una instancia para detenerse con apagado o finalizar. Cuando no está programado, la instancia está establecida en alwayson.
  • 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, termina fuerza o elimina una instancia existente basada en su ID de instancia.

    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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia
    operation secuencia El tipo de operación debe ser uno de los siguientes valores: terminar, forzar_terminar y eliminar

    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 funcionamiento

    GET /services/instances/{instance_id}/service

    Recibe el servicio en la instancia dada su ID de instancia.

    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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 403 Prohibido
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    perfil object Perfil de servicio.
    profile.subnet secuencia Subred de perfil.
    profile.image secuencia Página de perfil
    profile.keypair secuencia Llavero de perfil.
    profile.location secuencia Ubicación del perfil.
    profile.security_group secuencia Grupo de secrudad de perfil.
    profile.flavor secuencia Perfil de perfil.
    profile.autoscalable boolean Perfil autoescalable.
    profile.cloud boolean nube tipo.
    profile.schema secuencia Esquema de perfil
    provider_id secuencia Identificador único del proveedor de perfiles.
    created secuencia Fecha de creación
    etiquetas array Tareas de servicio
    state secuencia Estado de servicio, hay tres estados posibles: procesamiento , hecho y no disponible
    token secuencia Token de servicio.
    operation secuencia La última operación de servicio consta de siete tipos de operaciones: implementar, apagar, polvos, reinstalar, reconfigurar, terminar y finalizar el servicio.
    icon secuencia Url del icono de servicio.
    tipo secuencia Tipo de instancia
    id secuencia Identificador único de instancia.
    machines array Lista de máquinas de servicio.
    machine.token secuencia Token de máquina.
    machine.name secuencia Nombre de la máquina.
    machine.address array La matriz contiene la dirección pública y privada.
    machine.agent_version array Versión de agente de máquina.
    machine.external_id array Id. externo de máquina.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento , hecho y no disponible.
    machine.schema array Uri de esquema de máquina
    esquema secuencia Uri de esquema de servicio
    organización secuencia Nombre de la organización que posee 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

    Recibe todos los registros de actividad de operaciones ejecutadas en una instancia dada su ID de 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 403 Prohibido
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    casilla secuencia Nombre de casilla
    nombre de usuario secuencia Usuario que realizó la actividad.
    * máquina secuencia Máquina.
    level secuencia Tipo de actividad.
    texto secuencia Descripción de la actividad.
    created secuencia Fecha de creación de la actividad.
    evento secuencia Evento de actividad.

    Nota: Solo se muestra cuando la actividad de 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

    Recibe los registros de una máquina para una instancia implementada dada su ID de 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia
    machine_name secuencia El nombre del equipo que desea recuperar el registro. Puede obtener el nombre del equipo del documento de instancia.
    box secuencia Nombre de casilla
    event secuencia Tipo de evento, puede haber nueve listas de eventos: configure, deseche, instale, post_disposal, post_stop, pre_configure, pre_install, pre_start, start y stop.
    operation secuencia El ID de operación específico, hay siete tipos de operaciones: implementar , apagar , poweron , reinstalar , reconfigurar, finalizar y 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 la unión de una instancia cuando se da el ID de 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 403 Prohibido
    • 404 No encontrado

    Parámetros de respuesta

    Parámetro Tipo Descripción
    updated secuencia Fecha de la última actualización.
    operation secuencia La última operación, hay siete tipos de operaciones: implementar , apagar , poweron , reinstalar , reconfigurar , finalizar y finalizar servicio
    nombre secuencia Nombre de instancia
    servicio Object Servicio de instancia.
    service.type secuencia Puede ser uno de estos tipos: Linux Compute, Windows Compute y CloudFormation Service.
    service.id secuencia Tipo de servicio
    service.machines array Lista de máquinas de servicio
    machine object Máquina incluida en la lista de máquinas de servicio.
    machine.state secuencia Estado de la máquina, hay tres estados posibles: procesamiento , hecho y no disponible.
    machine.name secuencia Nombre de la máquina.
    machine.workflow array Lista de acciones de flujo de trabajo, donde cada objeto de acción de flujo de trabajo contiene tres parámetros: caja, evento y script.
    workflow.box secuencia Cuadro de acciones de flujo de trabajo.
    workflow.event secuencia Evento de acción de flujo de trabajo.
    workflow.script secuencia Uri de script de acción de flujo de trabajo.
    etiquetas array Tipo de instancia
    casillas array Lista de casillas donde cada objeto de caja contiene un parámetro de servicio. El parámetro de servicio puede tener uno de estos valores: Linux Compute, Windows Compute y CloudFormation Service.
    uri secuencia Uri de instancia.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento , hecho y no disponible
    bindings array Lista de enlaces de instancia.
    vinculante object Vinculación contenida en la lista de enlaces, cada objeto de unión contiene los parámetros: instancia y nombre.
    id array Identificador único de instancia
    icon secuencia Icono de instancia uri.
    esquema secuencia Uri de esquema de 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

    Consigue que todas las operaciones se ejecuten en una instancia cuando se da el ID de 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 403 Prohibido
    • 404 No encontrado

    Parámetros de 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 instancia.
    state secuencia Estado de instancia, hay tres estados posibles: procesamiento , hecho y no disponible
    workspace secuencia Nombre de 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 La última operación, hay siete tipos de operaciones: implementar, apagar, poweron, reinstalar, reconfigurar, terminar y finalizar el servicio.
    id secuencia Identificador único de funcionamiento.
    deleted secuencia Fecha de retirada.
    esquema secuencia Uri de esquema de 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 el id_id_id especificado.

    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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 409 Conflicto de funcionamiento

    PUT /services/instances/{instance_id}/poweron

    Se enciende en una instancia existente cuando se da el ID de 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 409 Conflicto de funcionamiento

    PUT /services/instances/{instance_id}/shutdown

    Apaga una instancia existente cuando se da el ID de 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 409 Conflicto de funcionamiento

    PUT /services/instances/{instance_id}/reinstall

    Reinstala una instancia existente cuando da 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 409 Conflicto de funcionamiento

    PUT /services/instances/{instance_id}/reconfigure

    Vuelve a configurar una instancia existente cuando se da 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    Respuesta

    Códigos de respuesta normales

    • 200 Aceptar

    Códigos de respuesta de error comunes

    • 409 Conflicto de funcionamiento

    Cuerpo de respuesta

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

    PUT /services/instances/{instance_id}/import

    Vuelve a intentar importar una instancia sin registrar cuando se da 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    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 no registrada cuando da 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    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

    Anular una operación de procesamiento ejecutando scripts en una instancia cuando se da su ID.
    La instancia debe estar en el estado del proceso y ejecutar scripts 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 URI

    Parámetro Tipo Descripción Req.
    instance_id secuencia ID de instancia

    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 su instancia en su nombre.

    Nota: Deben cumplirse los siguientes requisitos para poder hacer una instancia gestionada:

    • Solo se pueden gestionar instancias de "computación" (Linux y Windows).
    • Los términos y condiciones deben aceptarse. Para ello, el siguiente param de URL debe establecerse en verdadero:
      accept_terms=true
      
    • La instancia debe estar en estado "Hecho".
    • El usuario que realiza la solicitud debe tener escribir permisos en la instancia.
    • La empresa propietaria de la instancia debe apoyar la "Gestión de delegados".

    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 URI

    Nombre Tipo Descripción Req.
    Id de escáner secuencia Nombre de la instancia
    accept_terms boolean Indica que el cliente acepta los términos y condiciones

    Respuesta

    Códigos de respuesta normales

    • 202 Aceptado

    Códigos de respuesta de error comunes

    • Solicitud incorrecta (400) - La solicitud incluye parámetros no válidos, incompletos o faltantes (detalles proporcionados dentro del cuerpo)
    • No autorizado (401) - Token/cookie 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 de administrador de aplicaciones nube. En esta muestra, implementamos una instancia de MongoDB utilizando la caja pública MongoDB existente, los pasos que necesita son:

    Nota: Utilizamos comandos de Curl para enviar solicitudes HTTP a los objetos de API de JSON. JSON es el formato necesario para todas las solicitudes y respuestas de API.

    Veamos el script en secciones para entender cómo puede realizar llamadas de API desde cualquier código que desee.

    Autenticar con nube Administrador de aplicaciones

    En primer lugar, debe ser Administrador en el espacio de trabajo de destino o tener Acceso de administrador a su organización en nube Application Manager.

    Antes de llamar a la API, debe iniciar sesión en el sitio web del Administrador de aplicaciones nube y obtener un token de autenticación. Utilizará este token más tarde como encabezado http para realizar cada llamada a la API de administrador de aplicaciones de nube.

    Declarar argumentos de implementación

    Las variables siguientes se establecen con parámetros de llamada de script. De esta forma, cada vez que ejecuta el script, puede aprobar diferentes argumentos de implementación. Estas variables declaradas se mencionan más adelante en el script como valores de parámetro de solicitud.

    Variable Tipo Descripción
    provider_key
    provider_secret
    secuencia Necesitaremos la clave de cuenta del proveedor y secreto para registrar a un proveedor.
    Ver 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 Establezca el nombre de host de la organización URL o el IP de su dispositivo, donde se envían llamadas de API.
    Ejemplos: cam.ctl.es (si está utilizando la edición CAM SaaS), 192.168.1.10 (para un dispositivo CAM local).
    owner secuencia Especifique el ID de usuario en nube Application Manager (Administrador de aplicaciones) que posee la cuenta del proveedor. Puede recuperarlo de la Proveedor GET Llamada de API, en la devolución propietario campo.
    nombre de usuario secuencia Nombre del usuario administrador.
    contraseña secuencia Contraseña del usuario administrador.

    Inicie el script 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 del script y necesarias en los siguientes pasos del script.

    Variable Tipo Descripción
    provider_id secuencia Se obtiene al registrar un proveedor.
    policy_box_id secuencia Se obtiene al crear una caja de directivas de implementación.
    instance_id secuencia Se obtiene cuando se despliega una instancia de caja.

    Registrar un proveedor de SoftLayer en Cloud Application Manager

    Un proveedor es una cuenta privada o pública en la nube que usted registra en Cloud Application Manager.

    Para registrar un proveedor, enviamos una solicitud POST a la Objeto de proveedor con los parámetros necesarios.

    En este caso, decidimos crear un AWS como proveedor en el dispositivo. En las credenciales de la cuenta de AWS necesitaremos la clave y el secreto en este momento. La creación en un servicio de organización requiere el código ARN como credencial. Puede obtener los parámetros necesarios para otros proveedores en Objeto de proveedor doc. API

    Si se produce un error al registrar el proveedor, generamos el error. Más, producimos el ID de proveedor y lo guardamos en id_proveedor variable.

    Añada las siguientes líneas a su script:

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

    Crear una casilla para políticas de implementación

    Una caja de directivas de implementación es donde se especifican los ajustes para implementar aplicaciones en un entorno virtual específico.

    Para crear una caja de política de implementación, enviamos una solicitud POST a la Objeto de caja con el ID del proveedor obtenido al registrar el proveedor en el id_proveedor variable.

    Si hay un error al crear la caja de directivas de implementación, generamos el error. Por otra parte, generamos el ID de caja de la directiva de implementación creado y lo guardamos en id_de_la_póliza_de_la_póliza variable.

    Añada las siguientes líneas a su script:

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

    Implementar una instancia de MongoDB

    Para implementar una instancia de MongoDB utilizando el cuadro público existente de MongoDB, enviamos una solicitud POST a la Objeto de instancias con la ID de caja de la caja MongoDB id_de_mongo_box y el ID de caja de la póliza obtenido al crear la caja de políticas en el id_de_la_póliza_de_la_póliza variable.

    Si hay un error al implementar la instancia, generamos el error. Además, realizamos la ID de instancia desplegada y la guardamos en id_instancia variable.

    Añada las siguientes líneas a su script:

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

    Almacenamos la respuesta y comprobamos si la instancia se lanzó. Si no se inicia, emitimos un error o diremos que la instancia está disponible y da su ID.

    Mientras se inicia la instancia, comprobamos su estado cada 30 segundos con una solicitud GET al objeto Instancias pasando el ID de instancia. A continuación, evaluamos si esperar o continuar: Si se sigue procesando, decimos así y espera o realizamos el estado de instancia actual 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
    

    Terminar una instancia

    Para eliminar la instancia del equipo virtual, enviamos una solicitud de ELIMINACIÓN al objeto Instancias con el ID de instancia. A continuación, comprobamos su estado de respuesta. Si es 200, decimos que la instancia específica se ha terminado. Más, producimos 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 espera a que finalice la instancia, hacemos un GET en el objeto Instancias con el ID de instancia para conocer la operación que se está ejecutando en la instancia y su estado actual. Si está procesando, lo decimos y espera a que finalice o a que realizemos la operación que se ejecutó y el estado de 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 de nube Application Manager enviando una solicitud de ELIMINACIÓN con el ID de instancia al objeto Instancias. Una vez hecho, decimos que la instancia se elimina. De forma similar, eliminamos el cuadro de política de implementación con una solicitud de ELIMINACIÓN al objeto de perfiles y confirmaremos que se ha hecho.

    #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 Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
    • Windows Windows: RDP dentro de la instancia para buscar el registro en C:\ProgramData\ElasticBox\Logs\elasticbox-agent.log

    Flujo de instancia

    En este artículo

    Resumen

    Esta guía muestra cómo utilizar nube API de administrador de aplicaciones de registrar un proveedor a la implementación de una instancia.

    Notas

    1. Los siguientes ejemplos utilizan el comando Curl para enviar solicitudes HTTP a los objetos de API de JSON. JSON es el formato necesario para todas las solicitudes y respuestas de API.

    2. El comando Curl se utiliza con el parámetro -k para su comodidad, lo que permite continuar y funcionar incluso para las conexiones del servidor consideradas inseguras. No lo utilices en producción.

    3. Al ejecutar un comando, se tarda un tiempo en que los recursos estén listos, y la llamada al siguiente paso antes de que finalice el anterior puede provocar un error (es decir, justo después de crear el proveedor, se iniciará la sincronización y no se podrá crear la caja de implementación hasta que se complete la primera sincronización).

    Veamos el script en secciones para entender cómo puede realizar llamadas de API desde cualquier código que desee.

    Autenticar con nube Administrador de aplicaciones

    En primer lugar, debe mantener la función de administrador en un espacio de trabajo para poder ejecutar estos pasos. Debe obtener Acceso de administrador a nube Administrador de aplicaciones.
    Antes de llamar a la API, debe iniciar sesión en el sitio web del Administrador de aplicaciones nube y obtener un token de autenticación. Utilizará este token como encabezado HTTP de autenticación para realizar cada llamada a la API de administrador de aplicaciones de nube.

    Obtener variables de implementación

    A continuación, defina las variables que contendrán los parámetros del script. De esta forma, cada vez que ejecuta el script, puede aprobar diferentes argumentos de implementación. Estas variables declaradas se mencionan más adelante en el script como valores de parámetro de solicitud.

    Variable Descripción
    provider_key Necesita la clave de cuenta del proveedor y secreto para registrar a un proveedor.
    provider_secret Ver 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 cadena codificada BASE64 larga que comienza con algo como:
    eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYb25z...
    medio ambiente Establezca el nombre de host de la organización URL o el IP de su dispositivo, donde se envían llamadas de API.
    Ejemplos: cam.ctl.es, su-organización.cam.ctl.io, 192.168.1.10.
    owner Especifique el ID de usuario en nube Application Manager (Administrador de aplicaciones) que posee la cuenta del proveedor.

    Comience con su script 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 del script y necesarias en los siguientes pasos del script.

    Variable Descripción
    provider_id Se obtiene al registrar un proveedor.
    policy_box_id Se obtiene al crear una caja de directivas de implementación.
    box_id Se obtiene al crear una caja personalizada.
    instance_id Se obtiene cuando se despliega una instancia de caja.

    Registrar un proveedor de SoftLayer en Cloud Application Manager

    Un proveedor es una cuenta privada o pública en la nube que usted registra en Cloud Application Manager.

    Para registrar un proveedor, envíe una solicitud POST al Criterio de valoración de proveedores con los parámetros necesarios.

    Este ejemplo sigue los pasos para crear un proveedor de AWS en un dispositivo de administrador de aplicaciones nube. Será necesario una clave y el par secreto.
    La creación en un servicio de organización requiere un rol ARN como instancia de credencial de un par de claves.
    Otros tipos de proveedores requieren diferentes conjuntos de credenciales que puede comprobar en el Criterio de valoración de proveedores doc. API

    Si se produce un error al registrar el proveedor, se produce el error. Además, emite el ID de proveedor y lo guarda en id_proveedor variable.

    Agregue las siguientes líneas al script:

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

    Crear una casilla para políticas de implementación

    Una caja de directivas de implementación contiene la configuración para implementar aplicaciones en un entorno virtual específico. Para AWS, contiene detalles sobre la región, VPC, grupos de seguridad, etc.

    Para crear una caja de directivas de implementación, envíe una solicitud POST a la Punto final de las cajas con el ID del proveedor obtenido al registrar el proveedor en el id_proveedor variable.

    Si hay un error al crear la caja de directivas de implementación, se genera el error. Además, genera la ID de caja de la directiva de implementación creada y la guarda en id_de_la_póliza_de_la_póliza variable.

    Agregue las siguientes líneas al script:

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

    Crear una caja personalizada

    Un cuadro de script define el comportamiento de su aplicación durante el despliegue, la reconfiguración y la terminación.

    Para crear una caja, envíe una solicitud POST a la Punto final de las cajas.

    También utilice dos blobs ya creados. Puedes echar un vistazo a la Criterio de valoración de Blobsdocumentación de API si necesita saber cómo puede crearlas.

    Si hay un error al crear esta casilla, se genera el error. Además, emite la ID de caja y la guarda en id_de_caja variable.

    Agregue las siguientes líneas al script:

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

    Implementar la instancia

    Para implementar una instancia del cuadro anterior, envíe una solicitud POST al Criterio de valoración de instancias con la ID de caja obtenida al crear la caja en el id_de_caja y el ID de caja de la póliza obtenido al crear la caja de políticas en el id_de_la_póliza_de_la_póliza variable.

    Si hay un error al implementar la instancia, se produce el error. Además, genera el ID de instancia desplegado y lo guarda en id_instancia variable.

    Agregue las siguientes líneas al script:

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

    Terminar y eliminar la instancia

    La eliminación de la instancia de la máquina virtual debe realizarse en dos pasos: primero, termine la instancia y segundo, elimínelo.

    Finalizar ejecuta los scripts de finalización y finalización de eventos y, a continuación, elimina los recursos de la nube, pero no elimina la instancia de la base de datos del administrador de aplicaciones nube. Enviar una solicitud de ELIMINACIÓN al Criterio de valoración de instancias con el ID de instancia obtenido al implementar la instancia en el id_instancia variable y con un operación=finalizar Parámetro URL.

    A continuación, compruebe su estado de respuesta. Si es 200, se ha terminado la instancia específica. Más, compruebe el estado de error de la respuesta.

    Puede forzar la terminación mediante operación=forzar_terminar Parámetro URL. Ver detalles Comando ELIMINAR API en la API de instancias.

    Agregue las siguientes líneas al script:

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

    Después, vuelva a enviar un comando DELETE con una operación=eliminar Parámetro URL para eliminar definitivamente la instancia de nube Application Manager.

    Copiar de nuevo las líneas de script anteriores y anular 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 Cloud Application Manager. 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: Linux: SSH y busque el registro en /var/log/elasticbox/elasticbox-agent.log
    • Windows Windows: RDP dentro de la instancia para buscar el registro en C:\ProgramData\ElasticBox\Logs\elasticbox-agent.log
    Powered by Translations.com GlobalLink OneLink SoftwarePowered By OneLink