Projeto JSON

Cada configuração em um projeto é armazenada como JSON em um arquivo chamado project.json. Os projetos exigem governança sobre as alterações de configuração armazenadas em project.json, por exemplo, exigindo aprovações e garantindo que as verificações automatizadas sejam aprovadas antes que as alterações sejam salvas.

O que há no meu arquivo Project.json ?

O arquivo project.json tem várias partes:

  • O ID e a descrição do projeto, que são valores definidos pelo usuário.
  • Os metadados do projeto, que incluem CRN do projeto, localização, grupo de recursos e estado.
  • Uma matriz de configurações que contém uma referência à arquitetura implantável e todos os valores de entrada.

É recomendável criar seu project.json inicial na página Projetos no console. Isso fornece um arquivo project.json inicial que pode ser editado. Quando você cria um projeto no console, o project.json é criado automaticamente para você.

Metadados do projeto

Os metadados do projeto podem conter cumulative_needs_attention_view, se houver eventos relacionados ao projeto sobre os quais o usuário precisa agir agora. event_notifications_crn também é um valor opcional, se o projeto estiver configurado como uma fonte para Event Notifications. Para obter mais informações, consulte Habilitando notificações de eventos para projetos.

  ...
  "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::"
  }
  ...

O ID e o CRN de um projeto não podem ser editados e são armazenados por IBM Cloud. Além disso, as tags na própria instância do projeto são armazenadas na pesquisa e marcação globais.

Configurações

Cada configuração validada e aprovada em um projeto tem um objeto na matriz configs. Cada objeto de configuração tem um nome, uma matriz de entradas e um tipo. Se o tipo for um modelo IaC, um catálogo locator_id será incluído.

...
"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"
        }
      ]
   ]
...

Exportando o JSON do projeto usando o console

Como um usuário que trabalha com projetos, você pode exportar o JSON do projeto para fazer backup das informações do projeto fora do serviço de projetos do IBM Cloud.

Interessado em gerenciar seu projeto em seu próprio repositório Git ? Embora você possa exportar o JSON do projeto para gerenciá-lo manualmente, você também pode integrá-lo diretamente a um repositório Git. Para obter mais informações, acesse Integrando um projeto com um repositório Git.

Para exportar o JSON do projeto, conclua as etapas a seguir:

  1. No console IBM Cloud, clique no ícone do menu de navegação Ícone do menu de navegação > Projetos.
  2. No painel do projeto, clique no ícone Ações Ícone de ações > Exportar JSON
  3. Na janela modal, clique em Exportar.

Definindo o formato de saída JSON usando a CLI

Usando a seguinte opção --output json na linha de comando, você pode definir a saída de um comando como JSON:

--output json

Exportando o JSON do projeto usando a CLI

Como um usuário que trabalha com projetos, você pode exportar o JSON do projeto para fazer backup das informações do projeto fora do serviço de projetos do IBM Cloud.

Interessado em gerenciar seu projeto em seu próprio repositório Git ? Embora você possa exportar o JSON do projeto para gerenciá-lo manualmente, você também pode integrá-lo diretamente a um repositório Git. Para obter mais informações, acesse Integrando um projeto com um repositório Git.

Para exportar o JSON do projeto usando a CLI, execute o seguinte comando ibmcloud project get:

ibmcloud project get --id ID

Veja ibmcloud project get para um exemplo de comando e mais informações sobre os parâmetros do comando.

Exportando o JSON do projeto usando a API

Como um usuário que trabalha com projetos, você pode exportar o JSON do projeto para fazer backup das informações do projeto fora do serviço de projetos do IBM Cloud.

Interessado em gerenciar seu projeto em seu próprio repositório Git ? Embora você possa exportar o JSON do projeto para gerenciá-lo manualmente, você também pode integrá-lo diretamente a um repositório Git. Para obter mais informações, acesse Integrando um projeto com um repositório Git.

Você pode exportar programaticamente o JSON do projeto chamando a API de Projetos, conforme mostrado na solicitação de exemplo a seguir:

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