idcfcloud-cliについて

idcfcloud-cliは、IDCFクラウドなど各種サービスを管理するための統合ツールです。
APIの利用は自動化などに適し便利な一方、シグネチャの生成など利用までにひと手間かかります。簡単にAPIを実行するためにCLI(コマンドラインインターフェース)ツールであるidcfcloud-cliをご用意しています。

ここでは、インストールから使い方までご紹介します。

CLI対応サービス

idcfcloud-cliは現在以下のサービスに対応しています。
・ビリング
・ILB >サービス詳細
 
今後のCLI拡充予定(2017年12月対応予定)
・DNS/GSLB >サービス詳細
・コンテンツキャッシュ >サービス詳細

※今後も対応サービス範囲を拡大していく予定。
※コンピューティングはAPIサイト(http://docs.idcf.jp/cloud/introduction/)をご利用ください。 
 
 

インストール

前提条件
・Ruby 2.2.7以降
※Ubuntu16.04のテンプレートでは、すでに必要なRubyがインストールされています。

idcfcloud-cliはRubyGemsからネットワークインストールが可能です。

1
2
3
4
5
6
7
8
# apt update && apt install ruby-dev gcc g++ make -y
~略~
# gem update --system
~略~
# gem install idcfcloud
~略~
1 gem installed
                            

インストール確認

$ idcfcloud help
Commands:
  idcfcloud configure       # create configure
  idcfcloud help [COMMAND]  # Describe available commands or one specific command
  idcfcloud ilb [OPTION]    # ILB Service
  idcfcloud init            # initialize
  idcfcloud update          # list update
  idcfcloud version         # version string
  idcfcloud your [OPTION]   # Your Service
							

使い方

はじめに初期設定でキーを設定します。
クラウドコンソール画面の「API」からAPI KeyとSecret Keyの情報を事前に確認してください。

1
2
3
4
5
6
7
8
9
10
11
12
13
# idcfcloud init
default:api_key[NONE] :
【API Keyを貼りつけてください】
default:secret_key[NONE] :
【Secret Keyを貼りつけてください】
default:region[NONE] :
【デフォルト指定するリージョンを記述ください(jp-east/jp-east-2/jp-west)】
please write in
~/.bash_profile
source /var/lib/gems/2.3.0/gems/idcfcloud-0.1.2/output/complement.bash
~/.zprofile
source /var/lib/gems/2.3.0/gems/idcfcloud-0.1.2/output/complement.zsh
                            

キーの入力後にidcfcloud以降の引数(command等)をタブによる入力補完するシェル設定が出力されます。
たとえばBash環境であれば、~/.bash_profileにsource /(インストール先)/idcfcloud-cli/output/complement.bash を追記すると入力補完が利用できます。この設定は必須ではありません。

以上で設定が完了しました。
APIキーの変更がない場合は、ここまでの設定は初回のみ実施します。
以降、各コマンドの実行形式は次のようになります。

1
$ idcfcloud <servicename> <command> [attributes] [option]

各サービスにおいて対応しているコマンドの確認もhelpから可能です。
たとえばILBの場合は次のように確認できます。

1
2
3
4
5
$ idcfcloud ilb help
Commands:
  idcfcloud ilb add_server <lb_id> <config_id> <data> [headers]
~以下略~
 

実行例

Billing API(http://docs.idcf.jp/cloud/billing/)を用いて、月次利用料金明細を出力します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ idcfcloud your list_billing_detail 2017-08
{
    "status": 200,
    "message": "",
    "data": {
        "meta": {
            "account_id": "71000000000",
            "taxable_amount": 342,
            "tax": 27,
            "total": 369,
            "updated_at": "2017-08-23T00:53:13+09:00",
            "billing_period_start_at": "2017-08-01",
            "billing_period_end_at": "2017-08-22",
            "invoice_no": null
        },
~以下略~
                            

デフォルトでは、Json形式で出力されます。

1
2
3
4
5
6
7
8
9
10
$ idcfcloud your list_billing_detail 2017-08 -o table
+-------+---------------+--------+----------------------+-------------------------------------+-------------------+----------+----------+-----+---------+-------+-------+------+---+---+
|Region |ServiceName    |ZoneName|Category              |Menu                                 |ResourceDisplayName|StartDate |EndDate   |Usage|Allocated|Running|Stopped|Amount|Tax|Net|
|jp-east|Cloud Computing|pascal  |VirtualMachine        |highcpu.M4                           |CLI                |2017-08-22|2017-08-22|24   |24       |24     |0      |326   |26 |352|
|jp-east|Cloud Computing|pascal  |Internet Data Transfer|Internet Data Transfer [out]         |                   |2017-08-22|2017-08-22|0.01 |0        |0      |0      |0     |0  |0  |
|jp-east|Cloud Computing|pascal  |Internet Data Transfer|Internet Data Transfer [in]          |                   |2017-08-22|2017-08-22|0.01 |0        |0      |0      |0     |0  |0  |
|jp-east|Cloud Computing|pascal  |Volume                |Volume/Root Disk                     |ROOT-206497        |2017-08-22|2017-08-22|360  |0        |0      |0      |14    |1  |15 |
|jp-east|Cloud Computing|pascal  |Archived Data         |Archive Storage - Template Data Usage|cli                |2017-08-22|2017-08-22|50.64|0        |0      |0      |2     |0  |2  |
+-------+---------------+--------+----------------------+-------------------------------------+-------------------+----------+----------+-----+---------+-------+-------+------+---+---+
 
                            

参考情報


このページの先頭へ このページの先頭へ