CLI
Tunaclo AC で利用可能な Command Line Interface(CLI)について説明します。
CLI ツールのダウンロードと初期設定
以下の手順に従って、Tunaclo AC の CLI ツールのダウンロードと初期設定をおこないます。
- CLI ツールのダウンロード
Tunaclo portal の My profile ページの末尾にある Links のうち、
Links ・Download Tunaclo CLI for Linux ・Download Tunaclo CLI for Windows
から必要な環境のものを選択し、クリックしてダウンロードしてください。
-
ダウンロードした zip ファイルを任意の場所に展開し、展開したフォルダの"tunaclo"ファイル(Linux版)、または"tunaclo.exe"ファイル(Windows版)が実行可能な CLI ツールとなります。
-
以下のコマンドを使い、アカウント情報をもとに CLI ツールの設定を更新します。
projectName には契約しているプロジェクト名を、userName にはユーザー名を指定してください。$ tunaclo config --project projectName $ tunaclo config --user userName
-
CLI コマンドを使用する前にトークンを取得する必要があります。以下のコマンドを使いトークンを取得してください。その際、パスワードの入力を求められますので、先程登録したユーザー名に対応するパスワードを入力してください。
$ tunaclo login
MFAを有効にしているユーザーは、パスワードだけではログインできないため、登録しているデバイスでワンタイムコードを入手し、以下のコマンドを用いてログインしてください。
$ tunaclo login --otp <ワンタイムコード>
tunaclo
コマンドを tunaclo.exe
コマンドに置き換えて実行してください。
http_proxy
および https_proxy
を適切に設定してください。
CLI コマンドリファレンス
各コマンド共通で使用可能な引数について
-h
または --help
を引数に指定することで、コマンドのヘルプが表示されます。
$./tunaclo -h
tunaclo CLI controls Tunaclo API connect’s resources.
Copyright 2022 FUJITSU LIMITED
Usage:
tunaclo [flags]
tunaclo [command]
Available Commands:
completion generate the autocompletion script for the specified shell
config Configure tunaclo CLI parameters.
create Create a new resource.
delete Delete a resource.
help Help about any command
list List details of resources.
login Login to Tunaclo API Connect.
logout Logout to remove access information.
update Update a resource.
version Print the version number of tunaclo CLI.
Flags:
--debug Show debug logs.
-h, --help help for tunaclo
Use "tunaclo [command] --help" for more information about a command.
$
tunaclo commands
コマンド名 | 説明 |
---|---|
version | CLI ツールのバージョンを表示します。 |
config | CLI ツールの設定内容を表示・更新します。 |
login | Tunaclo AC サービスにログインします。 |
logout | Tunaclo AC サービスからログアウトします。 |
create | リソース(サービス、クライアント、ルート)を作成します。 |
update | リソース(サービス、クライアント)を更新します。 |
delete | リソース(サービス、クライアント、ルート)を削除します。 |
list | リソース(サービス、クライアント、ルート)を参照します。 |
version
構文
tunaclo version
説明
CLI ツールのバージョンを表示します。
例
$ tunaclo version
version: v1.5.2
Copyright 2022 FUJITSU LIMITED
config
構文
tunaclo config [ –project projectName ] [ –user userName ]
説明
CLI ツールの設定を表示もしくは更新します。引数なしで実行した場合は、設定されている情報を表示します。設定内容を更新する場合は、projectName にプロジェクト名を、userName にユーザー名を指定してください。
設定は ~/.tunaclo/config ファイルに保存されます。
例
$ tunaclo config
{"project":"tunaclo-test","user":"admin","environment":"Tunaclo",
"KeycloakServerAddr":"https://identity.kuroshio.tunaclo.net",
"ControllerAddr":"https://tunaclo-test.kuroshio.tunaclo.net"}
login
構文
tunaclo login [–otp ワンタイムコード]
説明
CLI コマンドを利用する前に、tunaclo login
でログインする必要があります。パスワードの入力を求められますので、先に登録しておいたユーザー名に対応するパスワードを入力してください。
取得したトークンは ~/.tunaclo/token に保存されます。
logout
をおこなった場合は、コマンド実行前に再度ログインしてください。
例
$ tunaclo login
Password :
MFAを有効にしている場合は、--otp
オプションでワンタイムコードを引数に指定してください。
例
$ tunaclo login --otp ワンタイムコード
Password :
logout
構文
tunaclo logout
説明
Tunaclo AC サービスからログアウト(tunaclo login
で取得した認証トークンを破棄)します。
例
$ tunaclo logout
create
構文
tunaclo create { service | client | route } -j json
説明
リソース(サービス、クライアント、ルート)を作成します。json にはリソースタイプに応じた JSON 形式のファイルを指定してください。
例
-
サービス作成について JSON sample (service.json)
{ "serviceName" : "MyService", "description": "This is my first service.", "replicaNum": 1, "endpoints" : [ { "virtualURL" : "http://127.0.0.1:30000", "serviceURL" : "http://10.0.1.4:8000", "grantSubdirAccess": true } ] }
$ tunaclo create service -j service.json { "serviceID": "mymZwvC777YCXscXhRrRRan", "serviceKey": "Cijk7rtnjpg4D6DKCPJaZ56" }
サービス作成コマンドを実行すると、ServiceID と ServiceKey が出力されます。
-
クライアント作成について
JSON sample (client.json){ "clientName" : "MyClient", "description": "This is my first client." }
$ tunaclo create client -j client.json { "clientID": "RABfTTLVNuxTJRV4NfkMN", "clientKey": "WNNmCimD76mTD73NNG9zDDe" }
クライアント作成コマンドを実行すると、ClientID と ClientKey が出力されます。
-
ルート作成について
JSON sample (route.json){ "serviceID" : "mymZwvC777YCXscXhRrRRan", "clientID" : "RABfTTLVNuxTJRV4NfkMN" }
$ tunaclo create route -j route.json Succeeded
また、簡易的に
tunaclo create route -s serviceName -c clientName
でルート作成することも可能です。
update
構文
tunaclo update { service | client } -n target -j json
説明
リソース(サービス、クライアント)を更新します。json にはリソースタイプに応じた JSON 形式のファイルを指定してください。
JSON ファイル記法はサービス作成やクライアント作成で使用するものと同じです。target には、更新したいリソースの名前を指定してください。
例
-
サービス更新について
JSON sample (service-update.json){ "serviceName": "MyService", "endpoints": [ { "virtualURL": "http://www.test.local:30000", "serviceURL": "http://10.0.1.4:8000", "grantSubdirAccess": true } ] }
$ tunaclo update service -n MyService -j service-update.json Succeeded
-
クライアント更新について
JSON sample (client-update.json){ "clientName" : "MyClient", "locked": true }
$ tunaclo update client -n MyClient -j client-update.json Succeeded
delete
構文
- ルートを削除する場合
tunaclo delete route -s serviceName -c clientName - サービス、またはクライアントを削除する場合
tunaclo delete { service | client } -n target
説明
リソース(サービス、クライアント、ルート)を削除します。ルートの場合は、serviceName, clientName の組み合わせを指定することで削除できます。サービス、またはクライアントの場合は、target にリソースの名前を指定することで削除できます。
例
$ tunaclo delete route -s MyService -c MyClient
Succeeded
$ tunaclo delete client -n MyClient
Succeeded
list
構文
tunaclo list { services | clients | routes } [ -f { text | json | pretty } ]
説明
リソース(サービス、クライアント、ルート)を参照します。サービス、クライアント、ルートの中から参照したいリソースを指定してください。
出力形式は -f
オプションで指定できます。デフォルトでは pretty 形式で表示されます。
例
-
pretty 形式
$ tunaclo list services -f pretty serviceName : MyService serviceID : XYTmPNzhZpXTkVrKi5HGC projectID : c2bf7598-ffff-4d88-543-4afe67ed3cc0 replicaNum : 1 endpoints : virtualURL, serviceURL, grantSubdirAccess http://127.0.0.1:30000, http://10.0.1.4:8000, true description : This is my first service.
-
text 形式
$ tunaclo list services -f text serviceID XYTmPNzhZpXTkVrKi5HGC serviceName MyService projectID c2bf7598-ffff-4d88-543-4afe67ed3cc0 replicaNum 1 endpoints [ {virtualURL: http://127.0.0.1:30000, serviceURL: http://10.0.1.4:8000, grantSubdirAccess: true} ] description This is my first service.
-
json 形式
$ tunaclo list services -f json | jq . { "services": [ { "serviceID": "XYTmPNzhZpXTkVrKi5HGC", "serviceName": "MyService", "serviceKey": "Cijk7rtnjpg4D6DKCPJaZ56", "endpoints": [ { "virtualURL": "http://127.0.0.1:30000", "serviceURL": "http://10.0.1.4:8000", "grantSubdirAccess": true } ], "projectID": "c2bf7598-ffff-4d88-543-4afe67ed3cc0", "creator": "admin", "replicaNum": 1, "description": "This is my first service." } ] }
動作環境
CLI ツールは以下の推奨環境で動作を確認しています。
推奨環境 | 詳細 | 備考 |
---|---|---|
OS | CentOS 7.7.1908 以上、Ubuntu Server 18.04.3 LTS 以上、Windows 10または8.1 | |
対応機種 | CPU:2 GHz 64 ビット プロセッサー(推奨:インテル Core2 Duo 2GHz 以上) または同等の互換プロセッサー メモリー:推奨:4.0GB 以上HDD:空き容量 10GB 以上 | 必要メモリー容量、ハードディスク容量は、システム環境によって異なる場合があります。 |