Proyecto JSON

Cada configuración de un proyecto se almacena como JSON en un archivo llamado project.json. Los proyectos requieren gobernanza sobre los cambios de configuración que se almacenan en project.json, por ejemplo, requiriendo aprobaciones y garantizando que se pasen las verificaciones automáticas antes de guardar los cambios.

¿Qué hay en mi archivo Project.json ?

El archivo project.json tiene varias partes:

  • El ID y la descripción del proyecto, que son valores definidos por el usuario.
  • Los metadatos del proyecto, que incluyen el CRN del proyecto, la ubicación, el grupo de recursos y el estado.
  • Una matriz de configuraciones que contiene una referencia a la arquitectura implementable y todos los valores de entrada.

Se recomienda crear su project.json inicial desde la página Proyectos en la consola. Esto proporciona un archivo project.json inicial que se puede editar. Cuando creas un proyecto en la consola, el project.json se crea automáticamente.

Metadatos del proyecto

Los metadatos del proyecto pueden contener cumulative_needs_attention_view, si hay eventos que han sucedido relacionados con el proyecto y sobre los cuales el usuario ahora debe tomar acción. event_notifications_crn también es un valor opcional, si el proyecto está configurado como una fuente para Event Notifications. Para obtener más información, consulte Habilitar notificaciones de eventos para proyectos.

  ...
  "id": "cfbf9050-ab8e-ac97-b01b-ab5af830be8a",
  "name": "CRA Test",
  "description": "",
  "metadata": {
    "crn": "crn:v1:staging:public:project:us-south:a/<account_id>:cfbf9050-ab8e-ac97-b01b-ab5af830be8a::",
    "location": "us-south",
    "resource_group": "Default",
    "state": "READY",
    "cumulative_needs_attention_view": [
      {
        "event": "config.defn.update"
      },
      {
        "event_id": "489f0090-6d7c-4af5-8f20-9106543e4974"
      },
      {
        "config_id": "069ab83e-5016-4bf2-bd50-cc95cf678293"
      },
      {
        "config_version": 1
      }
    ],
    "event_notifications_crn": "crn:v1:staging:public:event-notifications:us-south:a/<account_id>:instance-id::"
  }
  ...

El ID y el CRN de un proyecto no se pueden editar y los almacena IBM Cloud. Además, las etiquetas de la propia instancia del proyecto se almacenan en la búsqueda y el etiquetado globales.

Configuraciones

Cada configuración validada y aprobada en un proyecto tiene un objeto en la matriz configs. Cada objeto de configuración tiene un nombre, una matriz de entradas y un tipo. Si el tipo es una plantilla IaC, se incluye un catálogo locator_id.

...
"configs": [
    {
      "id": "cfbf9050-ab8e-ac97-b01b-ab5af830be8a",
      "name": "my-deployment",
      "description": "A microservice to deploy on top of ACME infrastructure.",
      "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global",
      "type": "terraform_template",
      "input": [
        {
          "name": "cos_bucket_name",
          "type": "string",
          "required": true,
          "default": "sample-cos-bucket",
          "value": ""
        },
        {
          "name": "ibmcloud_api_key",
          "type": "password",
          "required": true,
          "default": "__NOT_SET__",
          "value": ""
        },
      ],
      "output": [
        {
          "name": "resource_group_id"
        },
        {
          "name": "logdna_id"
        }
      ]
   ]
...

Exportar el JSON del proyecto mediante la consola

Como usuario que trabaja con proyectos, puede exportar el JSON del proyecto para realizar una copia de seguridad de la información del proyecto fuera del servicio Proyectos de IBM Cloud.

¿Estás interesado en administrar tu proyecto en tu propio repositorio Git ? Si bien puedes exportar el JSON del proyecto para administrarlo manualmente, también puedes integrarlo con un repositorio Git directamente. Para obtener más información, vaya a Integrar un proyecto con un repositorio Git.

Para exportar el JSON del proyecto, siga estos pasos:

  1. En la consola IBM Cloud, haga clic en el ícono del menú de navegación Ícono del menú de navegación > Proyectos.
  2. Desde el panel del proyecto, haga clic en el ícono Acciones Ícono de Acciones > Exportar JSON
  3. En el modal, haga clic en Exportar.

Configuración del formato de salida JSON mediante la CLI

Al utilizar la siguiente opción --output json en la línea de comando, puede configurar la salida de un comando en JSON:

--output json

Exportación del JSON del proyecto mediante la CLI

Como usuario que trabaja con proyectos, puede exportar el JSON del proyecto para realizar una copia de seguridad de la información del proyecto fuera del servicio Proyectos de IBM Cloud.

¿Estás interesado en administrar tu proyecto en tu propio repositorio Git ? Si bien puedes exportar el JSON del proyecto para administrarlo manualmente, también puedes integrarlo con un repositorio Git directamente. Para obtener más información, vaya a Integrar un proyecto con un repositorio Git.

Para exportar el JSON del proyecto mediante la CLI, ejecute el siguiente comando ibmcloud project get:

ibmcloud project get --id ID

Consulte ibmcloud project get para ver un comando de ejemplo y más información sobre los parámetros del comando.

Exportar el JSON del proyecto mediante la API

Como usuario que trabaja con proyectos, puede exportar el JSON del proyecto para realizar una copia de seguridad de la información del proyecto fuera del servicio Proyectos de IBM Cloud.

¿Estás interesado en administrar tu proyecto en tu propio repositorio Git ? Si bien puedes exportar el JSON del proyecto para administrarlo manualmente, también puedes integrarlo con un repositorio Git directamente. Para obtener más información, vaya a Integrar un proyecto con un repositorio Git.

Puede exportar programáticamente el JSON del proyecto llamando a la API de Proyectos como se muestra en la siguiente solicitud de muestra:

curl -X GET --location --header "Authorization: Bearer {iam_token}" \
  --header "Accept: application/json" \  
  "{base_url}/v1/projects/{id}"