cURLのインストールおよび使用
このドキュメント内の例では、cURLを使用して、Oracle Linux Automation Manager REST APIにアクセスして使用する方法を示しています。
タスク1: cURLのインストール
サーバーに安全に接続するには、認証局(CA)証明書に対して認証するSSL CA証明書ファイルまたはバンドルを提供するcURLのバージョンをインストールする必要があります。 CA証明書認証の詳細は、認証を参照してください。
次の手順は、Oracle Linux 8システムにcURLをインストールする方法を示しています。
-
cURLがすでにシステムにインストールされているかどうかを確認します。
sudo dnf info curl
このパッケージがインストールされている場合は、インストール済パッケージ・リストに表示されます。 インストールされていない場合は、使用可能なパッケージ・リストに表示されます。 cURLがどのリポジトリにもない場合は、ol8_baseos_latestリポジトリを有効にして、このステップを繰り返します。
-
cURLがまだインストールされていない場合はインストールします。
sudo dnf install curl
これで、cURLを使用してリクエストを送信する準備ができました。
タスク2: cURLの呼出し
cURLを呼び出し、次の表に定義したコマンド行オプションを必要に応じて1つ以上指定してその実行を指示します。
cURLのオプション | 説明 |
---|---|
-i --include |
レスポンスのヘッダーを返します。 |
-H --header |
H --header: リクエストにヘッダーを含めます。 |
"Authorization: Bearer <token>"
|
コマンドの実行に必要なOauth2トークンを指定します。 |
-X <method> |
リクエストのメソッド(GET、POSTなど)、その後にAPIエンティティ・パスを示します。 |
-d, --data @file.json |
ローカル・マシン上の、JSON形式のリクエスト本文が含まれているファイルを識別します。 または、-d"{id=5,status='OK'} を使用してリクエストの本文を渡すことができます。 |
-F, --form @file.json |
ローカル・マシン上でJSON形式のフォーム・データを識別します。 |
-k |
CA認証局が設定されておらず、接続がセキュアでないことを示します。 このオプションはお薦めできません。 |
cURLコマンドの構文は次のとおりです。
curl -i -H Authorization: Bearer <token> -X <method> https://<hostname or IP address>/api/v2/<resource-path>
前の例では、<token>はユーザー・アカウントに対して生成されたOauth2トークン、<method>はGet、Post、Delete、Put、Patchなどのアクション、<hostname or IP address>はOracle Linux Automation Managerサーバーのホスト名またはIPアドレス、<resource-path>はusers/またはcredential_types/などのリソース・パスです。
次に例を示します。
curl -i -H "Authorization: Bearer pVQoc51Apt4LNrXrNzoSbaMCDzjK8B" -X GET https://192.102.118.107/api/v2/users/ HTTP/1.1 200 OK Server: nginx/1.14.1 Date: Thu, 11 Nov 2021 15:36:59 GMT Content-Type: application/json Content-Length: 951 Connection: keep-alive Vary: Accept, Accept-Language, Origin, Cookie Allow: GET, POST, HEAD, OPTIONS X-API-Product-Version: 15.0.1 X-API-Product-Name: AWX X-API-Node: 100.102.118.107 X-API-Time: 0.024s Content-Language: en X-API-Total-Time: 0.059s Strict-Transport-Security: max-age=15768000 {"count":1,"next":null,"previous":null,"results":[{"id":1,"type":"user","url":"/api/v2/users/1/","related":{"teams":"/api/v2/users/1/teams/","organizations":"/api/v2/users/1/organizations/","admin_of_organizations":"/api/v2/users/1/admin_of_organizations/","projects":"/api/v2/users/1/projects/","credentials":"/api/v2/users/1/credentials/","roles":"/api/v2/users/1/roles/","activity_stream":"/api/v2/users/1/activity_stream/","access_list":"/api/v2/users/1/access_list/","tokens":"/api/v2/users/1/tokens/","authorized_tokens":"/api/v2/users/1/authorized_tokens/","personal_tokens":"/api/v2/users/1/personal_tokens/"},"summary_fields":{"user_capabilities":{"edit":true,"delete":false}},"created":"2021-11-11T14:20:55.451086Z","username":"admin","first_name":"","last_name":"","email":"daniel.carriere@oracle.com","is_superuser":true,"is_system_auditor":false,"ldap_dn":"","last_login":"2021-11-11T15:15:19.547219Z","external_account":null,"auth":[]}]}$