Configurando a API

É possível usar a API do IBM Cloud® Schematics para automatizar os recursos do Schematics na IBM Cloud. Para usar a CLI, consulte Preparando para usar a CLI.

Para obter uma visão geral do IBM Cloud® Schematics APIs, dos pontos de extremidade da API e das informações necessárias no cabeçalho e no corpo da API, consulte a documentação da API Schematics.

Trabalhando com a API do Schematics

Saiba como usar a API IBM Cloud® Schematics usando um token Identity and Access Management para autenticação.

Para trabalhar com a API do IBM Cloud Schematics, é necessário fornecer um token do IBM Cloud® Identity and Access Management (IAM) gerado com suas credenciais do IBM Cloud. Dependendo da maneira que você autenticar com o IBM Cloud, será possível escolher entre as opções a seguir para automatizar a criação de seu token do IBM Cloud IAM.

Tipos de ID e opções
Opção de autenticação: Descrição
IBM Cloud nome de usuário e senha Você pode seguir as etapas descritas neste tópico para automatizar totalmente a criação do seu token de acesso IAM do IBM Cloud. Se você se autenticar com o IBM Cloud usando MFA, não será possível automatizar totalmente a criação de seu token do IAM IBM Cloud porque o MFA requer uma interação manual com seu navegador da web. Para automatizar totalmente a criação do seu token IAM do IBM Cloud, você deve usar uma chave de API do IBM Cloud.
Chave de API do IBM Cloud Como uma alternativa para usar o nome do usuário e a senha do IBM Cloud, é possível usar IBM Cloud chaves de API. As chaves de API do IBM Cloud são específicas para a conta da IBM Cloud para a qual elas são geradas. Para acessar áreas de trabalho que foram criadas em uma conta diferente daquela em que sua chave de API do IBM Cloud é baseada, deve-se gerar uma chave de API para essa conta.
  1. Crie seu token de acesso do IBM Cloud IAM.

O corpo da solicitação para a solicitação de token da API depende do método de autenticação IBM Cloud.

Você pode encontrar o token IAM do IBM Cloud no campo access_token da saída da sua API. Anote o token do IBM Cloud IAM para recuperar informações adicionais do cabeçalho nas próximas etapas.

POST `https://iam.cloud.ibm.com/identity/token`
TABLE
Parâmetros de entrada Valores
Cabeçalho :Content-Type: application/x-www-form-urlencoded:Authorization: Basic [Yng6Yng=^]
Yng6Yng= corresponde à autorização codificada em URL para o nome de usuário bx e a senha bx.
Corpo para o nome do usuário e a senha do IBM Cloud :grant_type: password:response_type: cloud_iam uaa:username: Seu nome de usuário do IBM Cloud.:password: Seu IBM Cloud password.: uaa_client_id: cf:uaa_client_secret:
Adicione a chave uaa_client_secret sem especificar nenhum valor.
Corpo para chaves API do IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Sua chave API IBM Cloud API:uaa_client_id: cf:uaa_client_secret:
Adicionar a chave uaa_client_secret sem valor especificado.
Corpo para senha única do IBM Cloud :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: Sua senha descartável do IBM Cloud. Execute ibmcloud login --sso e siga as instruções em sua saída de CLI para recuperar sua senha descartável usando o seu navegador da web.:uaa_client_id: cf:uaa_client_secret:
Adicione a chave uaa_client_secret sem especificar nenhum valor.

Exemplo de saída

{
"access_token": "<iam_access_token>",
"refresh_token": "<iam_refresh_token>",
"uaa_token": "<uaa_token>",
"uaa_refresh_token": "<uaa_refresh_token>",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1493747503
"scope": "ibm openid"
}
  1. Recupere o ID da conta do token com o qual você está trabalhando

Substitua <iam_access_token> pelo token do IAM obtido no campo access_token da saída da API na etapa anterior. Na saída da API, você pode encontrar o ID da sua conta do IBM Cloud no campo resources.metadata.guid.

GET https://accounts.cloud.ibm.com/coe/v2/accounts
Parâmetros de entrada para obter uma ID de conta IBM Cloud.
Parâmetros de entrada Valores
Cabeçalhos :Content-Type: application/json:Authorization: bearer <iam_access_token>:Accept: application/json

Exemplo de saída

{
    "next_url": null,
    "total_results": 5,
    "resources": [
        {
            "metadata": {
                "guid": "<account_ID>",
                "url": "/coe/v2/accounts/<account_ID>",
                "created_at": "2020-09-29T02:49:41.842Z",
                "updated_at": "2020-08-16T18:56:00.442Z",
                "anonymousId": "1111a1aa1a1111a1aa11aa11111a1111"
            },
            "entity": {
                "name": "<account_name>",
            }
        }
        ]
}
  1. Gere um novo token do IBM Cloud IAM que inclua suas credenciais do IBM Cloud e o ID da conta com a qual deseja trabalhar.

Se você usar uma chave de API do IBM Cloud, deverá usar o ID da conta do IBM Cloud para a qual a chave de API foi criada. Para acessar as áreas de trabalho ou as ações do Schematics na conta B, efetue login na conta B e crie uma chave API do IBM Cloud que é baseada na conta B.

POST https://iam.cloud.ibm.com/identity/token
Parâmetros de entrada para obter tokens do IAM.
Parâmetros de entrada Valores
Cabeçalho :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=[^]
Yng6Yng= corresponde à autorização codificada como URL para o nome de usuário bx e a senha bx.
Corpo para o nome do usuário e a senha do IBM Cloud :grant_type: password:response_type: cloud_iam uaa:username: Seu nome de usuário do IBM Cloud:password: Sua senha do IBM Cloud:uaa_client_ID: cf:uaa_client_secret:
Adicione a chave uaa_client_secret sem valor specified.:bss_account : O ID da conta IBM Cloud recuperado na etapa anterior.
Corpo para chaves API do IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Sua chave API do IBM Cloud .:uaa_client_ID: cf:uaa_client_secret:
Adicione a chave uaa_client_secret sem valor specified.:bss_account : O ID da conta IBM Cloud recuperado na etapa anterior.
Corpo para senha única do IBM Cloud :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: sua senha do IBM Cloud. :uaa_client_ID: cf:uaa_client_secret:
Adicione a chave uaa_client_secret sem especificar nenhum valor. :bss_account: O ID da conta IBM Cloud recuperado na etapa anterior.

Example output

{
    "access_token": "<iam_token>",
    "refresh_token": "<iam_refresh_token>",
    "token_type": "Bearer",
    "expires_in": 3600,
    "expiration": 1493747503
}

Você pode encontrar o token IAM “ IBM Cloud ” no campo “ access_token ” e o token de atualização no campo “ refresh_token ” da saída da API.

  1. Use a API do Schematics para listar todas as áreas de trabalho em sua conta.

Sintaxe para listar todas as áreas de trabalho

    GET https://schematics.cloud.ibm.com/v1/workspaces/
| Input parameters | Values |
| ----- |  --- |
| Header | `Authorization: bearer <iam_token>`|
{: caption="Input parameters to work with the IBM Cloud Schematics API." caption-side="top"}

Sintaxe para recuperar informações sobre um espaço de trabalho específico:

GET https://schematics.cloud.ibm.com/v1/workspaces/{id}
Parâmetros de entrada para trabalhar com a API IBM Cloud Schematics.
Parâmetros de entrada Valores
Cabeçalho Authorization: bearer <iam_token>: seu token de acesso do IAM IBM Cloud.
Caminho id <workspace_ID>: o ID da área de trabalho. Para recuperar o ID da área de trabalho, execute ibmcloud schematics workspace list
  1. Revise o Documentação da API IBM Cloud Schematics para obter uma lista de APIs suportados

Atualização dos tokens de acesso IAM do IBM Cloud e obtenção de novos tokens por meio da API

Um token de acesso IBM Cloud® Identity and Access Management (IAM) expira após uma hora. Seu token de acesso deve ser atualizado regularmente para garantir o acesso à API do IBM Cloud. Você pode seguir os mesmos passos para obter um novo token.

Antes de começar, certifique-se de ter um token de atualização válido do IAM do IBM Cloud ou uma chave de API do IBM Cloud que possa ser usada para solicitar um novo token de acesso.

  • Token de atualização: siga as instruções em Automatizando o processo de criação e gerenciamento da área de trabalho com a API da IBM Cloud.
  • Chave da API: Obtenha sua IBM Cloud chave da API da seguinte maneira.
    1. Na barra de menus, clique em Gerenciar > Acessar (IAM).
    2. Clique na página Usuários e, em seguida, selecione você mesmo.
    3. Na área de janela chaves API, clique em Criar uma chave API do IBM Cloud.
    4. Insira um Nome e uma Descrição para sua chave API e clique em Criar.
    5. Clique em Mostrar para ver a chave API que foi gerado para você.
    6. Copie a chave de API para que seja possível usá-la para recuperar seu novo token de acesso do IBM Cloud IAM.

Use as etapas a seguir se você desejar criar um token do IBM Cloud IAM ou se desejar obter um novo token de atualização.

  1. Gere um novo token de acesso do IBM Cloud IAM usando o token de atualização ou a chave de API do IBM Cloud.
POST https://iam.cloud.ibm.com/identity/token
Parâmetros de entrada para um novo token IBM Cloud IAM.
Parâmetros de entrada Valores
Cabeçalho :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=

Yng6Yng= corresponde à autorização codificada como URL para o nome de usuário bx e a senha bx.
Corpo ao usar o token de atualização :grant_type: refresh_token:response_type: cloud_iam uaa:refresh_token: Seu token de atualização do IAM do IBM Cloud. :uaa_client_ID: cf:uaa_client_secret::bss_account: seu ID da conta do IBM Cloud.

Adicione a chave uaa_client_secret sem especificar nenhum valor.
Corpo ao usar a chave API do IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Sua chave API do IBM Cloud. :uaa_client_ID: cf:uaa_client_secret: Inclua a chave uaa_client_secret sem valor especificado.

Exemplo de saída da API.

{
    "access_token": "<iam_token>",
    "refresh_token": "<iam_refresh_token>",
    "uaa_token": "<uaa_token>",
    "uaa_refresh_token": "<uaa_refresh_token>",
    "token_type": "Bearer",
    "expires_in": 3600,
    "expiration": 1493747503
}

Você pode encontrar seu novo token IAM do IBM Cloud em access_token, e o token de atualização no campo refresh_token da saída da API.

  1. Continue trabalhando com a documentação da API do IBM Cloud Schematics usando o token da etapa anterior.