🔧

BTP をコマンドでいじりたい ~ コマンドを見てみよう

2021/12/11に公開

前回ログインまで進めた btp CLI ですが、これを使うと何ができるのかを今回は見ていきます。

公式の記述

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 Manager[2] に関連するオブジェクトだそうです。
ただ、この SAP Service Manager が何なのかわからず、、、
例としては、

  • services/instance でサービスのインスタンス
  • services/plan でサービスのプラン(free とか standard)

を表すことが出来ます。

PARAMS

ここは読んで字の如く、パラメータですね。
btp get xxxxx IDなどのパラメータ
という形式になるのでしょう。
使うACTIONによって設定する値が異なるので、詳細はスキップします。

まとめ

今回は help から得られる情報を元に、btp CLI で何ができるのかを見てみました。
アカウントやユーザーの管理ができるんだろうなーとは想定してましたが、それを上回る機能数でした。
ただ、やはり実際に使ってみないとどのような結果が得られるのかがわからないため、次回は Trial 環境を使ってコマンドを実行してみたいと思います。

脚注
  1. Overview of Global Accounts, Directories, and Subaccounts (Feature Set B)より ↩︎

  2. SAP Service Manager ↩︎

Discussion