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.
| 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. |
- 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`
| 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"
}
- 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 | 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>",
}
}
]
}
- 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 | 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.
- 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 | 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 |
- Revise o Documentação da API IBM Cloud Schematics para obter uma lista de
APIssuportados
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.
- Na barra de menus, clique em Gerenciar > Acessar (IAM).
- Clique na página Usuários e, em seguida, selecione você mesmo.
- Na área de janela chaves API, clique em Criar uma chave API do IBM Cloud.
- Insira um Nome e uma Descrição para sua chave API e clique em Criar.
- Clique em Mostrar para ver a chave API que foi gerado para você.
- 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.
- 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 | 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.
- Continue trabalhando com a documentação da API do IBM Cloud Schematics usando o token da etapa anterior.