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:
- No console IBM Cloud, clique no ícone do menu de navegação
> Projetos.
- No painel do projeto, clique no ícone Ações
> Exportar JSON
- 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}"