1.3. コマンドのご利用方法

1.3.1. コマンドの形式

CLI for Flexible InterConnect (以下 FIC CLI )を インストール することで、 fic コマンドが利用できるようになります。 FIC CLI では、以下の形式で Flexible InterConnect のリソースを操作するコマンドを提供しています。

$ fic <コマンド> <サブコマンド> [オプション または パラメータ]

1.3.2. helpの出力

FIC CLI の利用可能なコマンドや具体的なパラメータの指定といった使用方法につきましては、 helpを参照することにより確認ができます。※ 以下はバージョン 1.0.0 時点での実行例です

$ fic --help

Command line interface for Flexible InterConnect

Usage:
  fic [command]

Available Commands:
  areas                      Area information
  completion                 Generates completion scripts
  firewalls                  Firewall management
  global-ip-address-sets     Global IP address set management
  help                       Help about any command
  nats                       NAT management
  operations                 Operation information
  ports                      Port management
  router-to-port-connections Router to port connection management
  routers                    Router management
  switches                   Switch information

Flags:
      --config string   config file (default is $HOME/.fic.yaml)
      --debug           debug mode
  -h, --help            help for fic

Use "fic [command] --help" for more information about a command.

また、サブコマンドの階層でhelpを出力することにより、コマンドの具体的な実行例(Examples部分)を参照することも可能となっております。

$ fic routers create --help

Create router

Usage:
  fic routers create <name> [flags]

Examples:
fic routers create testRouter --area JPEAST --user-ip-address 10.100.0.0/27 --redundant

Flags:
      --area string              (Required) Area name
  -h, --help                     help for create
      --redundant                Enable redundant configuration
      --user-ip-address string   (Required) CIDR whose subnet mask is 27, e.g. 10.100.0.0/27

Global Flags:
      --config string   config file (default is $HOME/.fic.yaml)
      --debug           debug mode

1.3.3. グローバルパラメータ

FIC CLI では、コマンド横断的に使用できる以下のパラメータを用意しております。

パラメータ 引数 説明
--config <API 鍵> <API 秘密鍵> <テナント ID> 情報が格納された設定ファイル デフォルトでは ${HOME}/.fic.yaml から読み込んでいる認証情報を任意の場所から読み込むようにします。
--debug なし コマンドの実行に関する詳細な情報を表示します。たとえば、APIに対して発行しているリクエストやAPIから受け取ったレスポンスといった情報を参照することが可能です。
-h | --help なし fic コマンドの help を表示します。

たとえば、コマンドの実行に関する詳細な情報を取得したい場合は、以下のように実行することができます。

$ fic routers list --debug
2020/05/07 10:44:19 [DEBUG] Request: POST https://region.api.ntt.com/keystone/v3/auth/tokens
2020/05/07 10:44:19 [DEBUG] Request body: &{{"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"id":"default"},"name":"dummyName","password":"dummyPassword"}}},"scope":{"project":{"id":"75ece6039adv4d2f88c8b8d790482918"}}}} %!s(int64=0) %!s(int=-1)}
2020/05/07 10:44:21 [DEBUG] Request: GET https://region.api.ntt.com/fic-eri/v1/routers
2020/05/07 10:44:21 [DEBUG] Response body:
{
    "routers": [
        {
            "area": "JPWEST",
            "firewalls": [
                {
                    "id": "F042000000168",
                    "isActivated": false
                }
            ],
            "id": "F022000000168",
            "isPublicServiceEndpoint": false,
            "name": "testConnection",
            "nats": [
                {
                    "id": "F052000000168",
                    "isActivated": false
                }
            ],
            "operationStatus": "Completed",
            "redundant": false,
            "routingGroups": [
                {
                    "name": "group_4"
                },
                {
                    "name": "group_2"
                },
                {
                    "name": "group_3"
                },
                {
                    "name": "group_5"
                },
                {
                    "name": "group_6"
                },
                {
                    "name": "group_1"
                },
                {
                    "name": "group_7"
                },
                {
                    "name": "group_8"
                }
            ],
            "tenantId": "75ece6039bfd4d2f88c8b8d790482886",
            "userIpAddress": "10.100.0.0/27"
        }
    ]
}
id             tenantID                          name            area    userIPAddress  redundant  operationStatus  firewalls                nats
--             --------                          ----            ----    -------------  ---------  ---------------  ---------                ----
F022000000168  75ece6039adv4d2f88c8b8d790482918  testConnection  JPWEST  10.100.0.0/27  false      Completed        [{F042000000168 false}]  [{F052000000168 false}]

1.3.4. コマンドリファレンス

FIC CLI にてサポートしているコマンドの一覧につきましては、 GitHub 上の ドキュメント をご参照ください。