FutureNet

NXR,VXRシリーズ

REST-API編

2. メンテナンス

2-9. configの反映・取得(maint/config)

 処理概要

configの反映・取得に関する処理を実行します。

 

URIおよびメソッド

機能 Version URI メソッド
POST PUT GET DELETE
config v1 /api/v1/maint/config
v2 /api/v2/maint/config

凡例:

● : 読み取り専用ユーザも含めアクセス可

〇 : 読み取り専用ユーザはアクセス不可

- : 未対応

※ NXR-G100シリーズ以外の機種ではREST-APIv2の利用を推奨します。

 

実行例

configの反映

メソッド URI
PUT /api/v2/maint/config
  • multipart機能を利用したconfigの反映はこちら
  • ロールバック機能を利用する場合はこちら

 

JSON
リクエスト

PUT /api/v2/maint/config
Content-Type: application/json

 

{
“config”: {
“ethernet-interface”: {
“ethernet”: [
{
“number”: 0,
“ipv4″: {
“ipv4-address”: {
“address”: “192.168.0.254/24″
}
}
},
・・・・・
}
}
}

 

レスポンス

200 OK

 

XML
リクエスト

PUT /api/v2/maint/config
Content-Type: application/xml

 

<config>
<ethernet-interface>
<ethernet>
<number>0</number>
<ipv4>
<ipv4-address>
<address>192.168.0.254/24</address>
</ipv4-address>
</ipv4>
</ethernet>
<ethernet>
・・・・・
</config>

 

レスポンス

200 OK

 

TEXT/PLAIN
リクエスト

PUT /api/v2/maint/config
Content-Type: text/plain

 

!
hostname nxr530
telnet-server enable
・・・・・
end

 

レスポンス

200 OK

 

APPLICATION/GZIP
リクエスト

PUT /api/v2/maint/config
Content-Type: application/gzip

 

インポートするファイルを指定(ex. config.tgz)

 

レスポンス

200 OK

 

APPLICATION/X-TAR
リクエスト

PUT /api/v2/maint/config
Content-Type: application/x-tar

 

インポートするファイルを指定(ex. config.tgz)

 

レスポンス

200 OK

 

configの取得

メソッド URI
GET /api/{VERSION}/maint/config
  • JSON形式未対応機種では、「Accept: application/json」での表示は不可

 

JSON
リクエスト

GET /api/v1/maint/config
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
“config”: {
“ethernet-interface”: {
“ethernet”: [
{
“number”: 0,
“ipv4″: {
“ipv4-address”: {
“address”: “192.168.0.254/24″
}
}
},
・・・・・
}
}
}

 

XML
リクエスト

GET /api/v1/maint/config
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<config>
<ethernet-interface>
<ethernet>
<number>0</number>
<ipv4>
<ipv4-address>
<address>192.168.0.254/24</address>
</ipv4-address>
</ipv4>
</ethernet>
・・・・・
</config>

 

TEXT/PLAIN
リクエスト

GET /api/v1/maint/config
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

!
! Century Systems NXR-530 Series ver 21.11.12 (build 40/10:36 09 02 2023)
! DIP-SW : 1:off 2:off 3:off 4:off
!
hostname nxr530
telnet-server enable
・・・・・
!
end

【 補足 】

 

〔 multipart機能 〕

コンフィグとIPsec X.509証明書を同時に反映することができます。

 

【 対応機種 】

NXR-650,NXR-610Xシリーズ,NXR-530,NXR-G120シリーズ(2023/11現在)

設定例で使用している機能の対応状況は、各製品の更新履歴やユーザーズガイドをご確認ください。

 

<実行例>
リクエスト

PUT /api/v2/maint/config
Content-Type: multipart/form-data; boundary=MULTIPART-EXEC

 

--MULTIPART-EXEC
Content-Disposition: form-data; name=”ipsec_cacerts”; filename=”NXRCacert.pem”
Content-Type: application/x-x509-ca-cert

IPsec CA証明書ファイル
・・・・・

--MULTIPART-EXEC
Content-Disposition: form-data; name=”config”; filename=”config.xml”
Content-Type: application/xml

<config>
<ethernet-interface>
<ethernet>
<number>0</number>
<ipv4>
<ipv4-address>
<address>192.168.0.254/24</address>
</ipv4-address>
</ipv4>
</ethernet>
・・・・・
</config>

--MULTIPART-EXEC--

 

レスポンス

200 OK

 

<解説>
リクエストヘッダ

リクエストヘッダのContent-Typeには、下記を指定します。

  • multipart/form-data
  • multipart/mixed

また、その後ろにある boundary は、リクエストボディに設定するデータを区切るための文字列(以下境界文字列)です。
指定した境界文字列の先頭に「--」(2つのハイフン)をつけることで、そこがデータの境界となり復数のデータをまとめて送ることができます。
なお、最後の境界文字列には後尾に「--」を指定します。

 

リクエストボディ

各パート部では Content-Disposition: form-data と、データのタイプを以下のように指定します。

Content-Disposition: form-data; name=”DNAME”; filename=”FNAME”

 

DNAME(固定)およびFNAME(一部固定)は、以下のように設定します。

ファイル種別 DNAME FNAME
コンフィグ config 任意(ex. config.json / config.xml / config.txt)
IPsec X.509証明書 CA証明書 ipsec_cacerts {NAME}Cacert.{EXT}
※NAME/EXT部以外は固定
NAMEおよびEXTは、下記コマンドの設定値を指定します。
※EXTは pem, der, cer のいづれか
(config)# ipsec x509 ca-certificate NAME EXT
公開鍵証明書 ipsec_certs {NAME}Cert.{EXT}
※NAME/EXT部以外は固定
NAMEおよびEXTは、下記コマンドの設定値を指定します。
※EXTは pem, der, cer のいづれか
(config)# ipsec x509 certificate NAME EXT
失効リスト ipsec_crls {NAME}Crl.{EXT}
※NAME/EXT部以外は固定
NAMEおよびEXTは、下記コマンドの設定値を指定します。
※EXTは pem, der, cer のいづれか
(config)# ipsec x509 crls NAME EXT
秘密鍵 ipsec_private {NAME}Key.{EXT}
※NAME/EXT部以外は固定
NAMEおよびEXTは、下記コマンドの設定値を指定します。
※EXTは pem, der, cer のいづれか
(config)# ipsec x509 private key NAME EXT

 

各パート部の Content-Type は、以下のいずれかを指定します。

ファイル種別 Content-Type
コンフィグ
  • application/json
  • application/xml
  • text/plain
IPsec X.509証明書
  • application/octet-stream
  • application/pkix-cert
  • application/pkix-crl
  • application/x-pem-file
  • application/x-x509-ca-cert
  • text/plain

 

〔 コンフィグロールバック機能 〕

コンフィグ反映時、ロールバックに関するリクエストヘッダを指定することができます。

 

【 対応機種 】

NXR-650,NXR-610Xシリーズ,NXR-530,NXR-G120シリーズ(2023/11現在)

設定例で使用している機能の対応状況は、各製品の更新履歴やユーザーズガイドをご確認ください。

 

<実行例>
リクエスト

PUT /api/v2/maint/config
Content-Type: application/xml
X-rollback: revert
X-rollback-timer: 300

 

<config>
<ethernet-interface>
<ethernet>
<number>0</number>
<ipv4>
<ipv4-address>
<address>192.168.0.254/24</address>
</ipv4-address>
</ipv4>
</ethernet>
<ethernet>
・・・・・
</config>

 

レスポンス

200 OK

 

<パラメータ>

指定可能なパラメータは下記の通りです。

  • パラメータ表の説明文中の記号について
    < > … 括弧内の値の範囲から選択することを示しています。

 

ヘッダ 説明
X-rollback ロールバックの有効化 …

  • restart … システム再起動を行い、起動時のコンフィグで起動させる
    (起動時のコンフィグに戻す)
  • revert … コンフィグ反映時に生成されるロールバック用のコマンドを実行し、設定前のコンフィグに戻すよう試みる
X-rollback-timer ロールバックタイマ … <60-1800(600)>(sec)