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}]