Configuration de l'API
Vous pouvez utiliser l'API IBM Cloud® Schematics pour automatiser les fonctions de Schematics dans IBM Cloud. Pour utiliser l'interface de ligne de commande, voir Préparation de l'utilisation de l'interface de ligne de commande.
Pour obtenir une vue d'ensemble des IBM Cloud® Schematics APIs
pris en charge, des points d'extrémité de l'API et des informations requises sur l'en-tête et le corps de l'API, voir la documentation de l'API Schematics.
Travailler avec l'API Schematics
Apprenez à utiliser l'API IBM Cloud® Schematics à l'aide d'un jeton Identity and Access Management pour l'authentification.
Pour travailler avec l'API IBM Cloud Schematics, vous devez fournir un jeton IBM Cloud® Identity and Access Management (IAM) qui est généré avec vos informations d'identification IBM Cloud. Selon votre mode d'authentification auprès d'IBM Cloud, vous pouvez choisir parmi les options suivantes pour automatiser la création de votre jeton IBM Cloud IAM.
Option d'authentification | Description |
---|---|
IBM Cloud nom d'utilisateur et mot de passe | Vous pouvez suivre les étapes de cette rubrique pour automatiser entièrement la création de votre jeton d'accès IAM IBM Cloud. Si vous vous authentifiez auprès de IBM Cloud à l'aide de l'authentification multi-facteur, vous ne pouvez pas automatiser complètement la création de votre jeton IAM IBM Cloud car l'authentification multi-facteur nécessite une interaction manuelle avec votre navigateur Web. Pour automatiser complètement la création de votre token IAM IBM Cloud, vous devez utiliser une clé API IBM Cloud à la place. |
Clé d'API IBM Cloud | Comme alternative à l'utilisation du nom d'utilisateur et du mot de passe IBM Cloud, vous pouvez utiliser les clés d'API IBM Cloud. Les clés d'API IBM Cloud sont spécifiques au compte IBM Cloud pour lequel elles sont générées. Pour accéder aux espaces de travail qui ont été créés dans un autre compte que celui sur lequel votre clé d'API IBM Cloud est basée, vous devez générer une clé d'API pour ce compte. |
- Créez votre jeton d'accès IBM Cloud IAM.
Le corps de demande de votre demande de jeton d'API dépend de la méthode d'authentification IBM Cloud.
Vous trouverez le jeton IAM de IBM Cloud dans le champ access_token
de votre sortie API. Notez la valeur du jeton IBM Cloud IAM pour extraire des informations d'en-tête supplémentaires dans les étapes suivantes.
POST `https://iam.cloud.ibm.com/identity/token`
Paramètres d'entrée | Valeurs |
---|---|
En-tête | :Content-Type: application/x-www-form-urlencoded :Authorization : Basic [Yng6Yng=^] Yng6Yng= équivaut à l'autorisation codée URL pour le nom d'utilisateur bx et le mot de passe bx . |
Corps pour le nom d'utilisateur et le mot de passe IBM Cloud | :grant_type: password :response_type: cloud_iam uaa :username : Votre nom d'utilisateur IBM Cloud username.:password : Votre mot de passe IBM Cloud password.:uaa_client_id: cf :uaa_client_secret: Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée. |
Corps pour les clés d'API IBM Cloud | :grant_type: urn:ibm:params:oauth:grant-type:apikey :response_type: cloud_iam uaa :apikey : votre clé d'API IBM Cloud:uaa_client_id: cf :uaa_client_secret: Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée. |
Corps pour le code d'accès à usage unique IBM Cloud | :grant_type:urn:ibm:params:oauth:grant-type:passcode :response_type: cloud_iam uaa :passcode : votre mot de passe à usage unique IBM Cloud. Exécutez ibmcloud login --sso et suivez les instructions
de la sortie de l'interface de ligne de commande pour extraire votre code d'accès à usage unique à l'aide de votre navigateur Web browser.:uaa_client_id: cf :uaa_client_secret: Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée. |
Exemple de sortie
{
"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"
}
- Extrayez l'ID de compte du jeton que vous utilisez.
Remplacez <iam_access_token>
par le jeton IAM récupéré dans le champ access_token
de votre sortie API à l'étape précédente. Dans la sortie de votre API, vous pouvez trouver l'ID de votre compte IBM Cloud dans
le champ resources.metadata.guid.
GET https://accounts.cloud.ibm.com/coe/v2/accounts
Paramètres d'entrée | Valeurs |
---|---|
En-têtes | :Content-Type: application/json :Authorization: bearer <iam_access_token> :Accept: application/json |
Exemple de sortie
{
"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>",
}
}
]
}
- Générez un nouveau jeton IBM Cloud IAM comprenant vos données d'identification IBM Cloud et l'ID du compte que vous souhaitez utiliser.
Si vous utilisez une clé d'API IBM Cloud, vous devez utiliser l'ID du compte IBM Cloud pour lequel la clé d'API a été créée. Pour accéder aux espaces de travail ou aux actions Schematics du compte B
, connectez-vous au compte B
et créez une clé d'API IBM Cloud basée sur le compte B
.
POST https://iam.cloud.ibm.com/identity/token
Paramètres d'entrée | Valeurs |
---|---|
En-tête | :Content-Type: application/x-www-form-urlencoded :Authorization: Basic Yng6Yng= [^] Yng6Yng= équivaut à l'autorisation codée URL pour le nom d'utilisateur bx et le mot de passe bx . |
Corps pour le nom d'utilisateur et le mot de passe IBM Cloud | :grant_type: password :response_type: cloud_iam uaa :username : Votre nom d'utilisateur IBM Cloud. :password : votre mot de passe IBM Cloud. :uaa_client_ID: cf :uaa_client_secret: Ajoutez la clé uaa_client_secret sans aucune valeur specified.:bss_account : ID de compte IBM Cloud que vous avez extrait à l'étape précédente. |
Corps pour les clés d'API IBM Cloud | :grant_type: urn:ibm:params:oauth:grant-type:apikey :response_type: cloud_iam uaa :apikey : Votre clé d'API IBM Cloud key.:uaa_client_ID: cf :uaa_client_secret: Ajoutez la clé uaa_client_secret sans valeur specified.:bss_account : L'ID de compte IBM Cloud que vous avez extrait à l'étape précédente. |
Corps pour le code d'accès à usage unique IBM Cloud | :grant_type:urn:ibm:params:oauth:grant-type:passcode :response_type: cloud_iam uaa :passcode : votre code d'accès IBM Cloud. :uaa_client_ID: cf :uaa_client_secret: Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée. :bss_account : ID de compte IBM Cloud que vous avez extrait à l'étape précédente. |
Example output
{
"access_token": "<iam_token>",
"refresh_token": "<iam_refresh_token>",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1493747503
}
Vous trouverez le jeton IAM de IBM Cloud dans le champ access_token
et le jeton de rafraîchissement dans le champ refresh_token
de votre sortie API.
- Utilisez l'API Schematics pour répertorier tous les espaces de travail de votre compte.
Syntaxe pour lister tous les espaces de travail
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"}
Syntaxe permettant de récupérer des informations sur un espace de travail spécifique :
GET https://schematics.cloud.ibm.com/v1/workspaces/{id}
Paramètres d'entrée | Valeurs |
---|---|
En-tête | Authorization: bearer <iam_token> : votre jeton d'accès IBM Cloud IAM. |
Voie | id <workspace_ID> : ID de l'espace de travail. Pour extraire l'ID de l'espace de travail, exécutez ibmcloud schematics workspace list |
- Consultez la documentation de l'APIIBM Cloud Schematics pour obtenir la liste des
APIs
prises en charge.
Actualisation des jetons d'accès à IBM Cloud IAM et obtention de nouveaux jetons à l'aide de l'API
Un jeton d'accès IBM Cloud® Identity and Access Management (IAM) expire au bout d'une heure. Vous devez actualiser régulièrement votre jeton d'accès pour garantir l'accès à l'API IBM Cloud. Vous pouvez suivre les mêmes étapes pour obtenir un nouveau jeton.
Avant de commencer, assurez-vous que vous disposez d'un jeton de rafraîchissement IAM valide ( IBM Cloud ) ou d'une clé API ( IBM Cloud ) que vous pouvez utiliser pour demander un nouveau jeton d'accès.
- Jeton d'actualisation : suivez les instructions de la rubrique Automatisation du processus de création et de gestion d'un espace de travail à l'aide de l'API IBM Cloud.
- Clé API : Récupérez votre IBM Cloud Clé API en procédant comme suit.
- Dans la barre de menu, cliquez sur Gérer > Accès (IAM).
- Cliquez sur la page Utilisateurs, puis sélectionnez-vous.
- Dans la sous-fenêtre desclés d'API, cliquez sur Création d'une clé d'API IBM Cloud.
- Entrez un Nom et une Description pour la clé d'API et cliquez sur Créer.
- Cliquez sur Afficher pour voir la clé d'API qui a été générée pour vous.
- Copiez la clé d'API pour pouvoir l'utiliser pour récupérer votre nouveau jeton d'accès IBM Cloud IAM.
Si vous désirez créer un jeton IBM Cloud IAM ou obtenir un nouveau jeton d'actualisation, procédez comme suit :
- Générez un nouveau jeton IBM Cloud IAM en utilisant le jeton d'actualisation ou la clé d'API IBM Cloud.
POST https://iam.cloud.ibm.com/identity/token
Paramètres d'entrée | Valeurs |
---|---|
En-tête | :Content-Type: application/x-www-form-urlencoded :Authorization: Basic Yng6Yng= Yng6Yng= équivaut à l'autorisation codée URL pour le nom d'utilisateur bx et le mot de passe bx . |
Corps lorsque vous utilisez le jeton d'actualisation | :grant_type: refresh_token :response_type: cloud_iam uaa :refresh_token: Votre jeton d'actualisation IAM IBM Cloud. :uaa_client_ID: cf :uaa_client_secret: :bss_account: ID de votre compte IBM Cloud. Ajoutez la clé uaa_client_secret sans spécifier de valeur. |
Corps lorsque vous utilisez la clé d'API IBM Cloud | :grant_type: urn:ibm:params:oauth:grant-type:apikey :response_type: cloud_iam uaa :apikey: Votre clé d'API IBM Cloud. :uaa_client_ID: cf :uaa_client_secret: Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée. |
Exemple de sortie d'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
}
Vous trouverez votre nouveau jeton IAM IBM Cloud dans le champ access_token
, et le jeton de rafraîchissement dans le champ refresh_token
de votre sortie API.
- Continuez à travailler avec la documentation de l'API IBM Cloud Schematics en utilisant le jeton de l'étape précédente.