前回ログインまで進めた btp CLI ですが、これを使うと何ができるのかを今回は見ていきます。 ※ 元記事は Zenn にありますが、こちらにも移しました。
公式の記述
Account Administration Using the SAP BTP Command Line Interface (btp CLI) [Feature Set B]からの抜粋。
Use the SAP BTP command line interface (btp CLI) for all account administration tasks, such as creating or updating subaccounts, authorization management, and working with service brokers and platforms.
The btp CLI is an alternative to the SAP BTP cockpit that lets you carry out all account administration tasks on global account, directory, and subaccount level via the command line. If you go down the hierarchy starting with the global account, the last task in the btp CLI is to create environment instances (for example, a Cloud Foundry org). From here on, you need the cf CLI if you want to stay in the command line.
適当に訳すと、グローバルアカウント、サブアカウント、ディレクトリあたりの管理と Cloud Foundry 環境の作成までが対象のようですね。 構築した Cloud Foundry の管理は、cf CLI で実行するとのことです。
ざっくり図1で表すとこのような区分けでしょうか。 (Environment という大きな括りを cf CLI でまとめちゃってます)
ざっと理解したところで、コマンドを見てみましょう。
help からコマンドを見てみる
help を実行し、中身を少しずつ見ていきましょう。
構文
help を実行すると、以下の通り Usage が確認できます。
> btp --help
Connecting to CLI server at https://cpcli.cf.eu10.hana.ondemand.com...
SAP BTP command line interface (client v2.14.0)
Usage: btp [OPTIONS] ACTION [GROUP/OBJECT] [PARAMS]
これを先頭から確認することで理解を深められそうです。
OPTIONS
help の内容で言うと、以下が該当します。
Options: –config Specify location of configuration file –format Change output format (valid value: json) –help Display help –info Show version and current context –verbose Print tracing information for support –version Print client version
ただ、ここは help や version といった、そのままの内容なので深入りしません。
ACTION
まずは help の記述です。
ACTIONS: list, get, create, update, delete, add, remove, assign, unassign, enable, move, register, unregister, subscribe, unsubscribe, share, unshare
量が多いので、まとめてみます。
## | Action | 内容 |
---|---|---|
1 | list | group/object の情報を一覧表示する |
2 | get | group/object で指定した情報の詳細を表示する |
3 | create | group/object で指定したオブジェクトを新規作成する |
4 | update | group/object で指定したオブジェクトを更新する |
5 | delete | group/object で指定したオブジェクトを削除する |
6 | add | ロールをロールコレクションに追加する |
7 | remove | 指定したロールをロールコレクションから削除する |
8 | assign | ユーザーにロールコレクションを割り当てる。またはサブアカウントにサービス利用の権利を割り当てる |
9 | unassign | ユーザーから指定ロールコレクションの割り当てを外す(entitlement には対応してない様子) |
10 | enable | ディレクトリに対しての機能(とはなんだろう?)を有効にする |
11 | move | サブアカウントをディレクトリ間、またはディレクトリとグローバルアカウント間で移動させる |
12 | register | プラットフォームとサービスブローカーを登録する(何ができるのか?) |
13 | unregister | プラットフォームとサービスブローカーを削除する |
14 | subscribe | サブアカウントからアプリケーションを購読する(何ができるのか?) |
15 | unsubscribe | サブアカウントからアプリケーションの購読を解除する |
16 | share | サービスインスタンスをサブアカウント内の別のプラットフォームに共有する |
17 | unshare | 別のプラットフォームに対して共有しているサービスインスタンスの共有を解除する |
ひとまずまとめてみましたが、画面上からでも操作したこと無い機能がいくつもありました。 画面からでは意図的に触らないと知ることの無い機能を、help で一気に出せるのもコマンドの良いところでしょうか。
GROUP/OBJECT
続いて、ACTIONS の中でも出てきていてた、 GROUP/OBJECT です。
GROUPS: accounts Objects related to the account model, subscriptions, and environments. security Authorization objects and users. services Objects related to SAP Service Manager.
これはそのまま翻訳してみましょう。
accounts アカウントモデルや環境に関するものを指しているようです。 例えば、
- accounts/subaccount でサブアカウント
- accounts/entitlement で資格情報
を表すことができるそうです。
security 権限やユーザーを指すとのことです。権限はわかりますが、ユーザーも security なんですね。 例えば、
- security/role でロール
- security/user でユーザー
- security/app でアプリケーション
を表すそうですが、アプリケーションとは何を指すのでしょう?次回以降で実行できたら試してみたいと思います。
services SAP Service Manager2 に関連するオブジェクトだそうです。 ただ、この SAP Service Manager が何なのかわからず、、、 例としては、
- services/instance でサービスのインスタンス
- services/plan でサービスのプラン(free とか standard)
を表すことが出来ます。
PARAMS
ここは読んで字の如く、パラメータですね。
btp get xxxxx IDなどのパラメータ
という形式になるのでしょう。
使う ACTION によって設定する値が異なるので、詳細はスキップします。
まとめ
今回は help から得られる情報を元に、btp CLI で何ができるのかを見てみました。 アカウントやユーザーの管理ができるんだろうなーとは想定してましたが、それを上回る機能数でした。 ただ、やはり実際に使ってみないとどのような結果が得られるのかがわからないため、次回は Trial 環境を使ってコマンドを実行してみたいと思います。