LoginSignup
3
2

More than 5 years have passed since last update.

CSR1000VとPostmanでREST-API

Last updated at Posted at 2017-03-10

久しぶりにやり直したらCLIが改良されていたのと、設定をすぐ忘れるので自分用のメモです。SSH接続はできている前提。マニュアルやフォーラム等ではcURLの例が多いので、ここではPostmanの例とします。

公式はこのあたり。
設定
APIリファレンス

IOS-version
CSR-1#show flash: | i .pkg
 17  289154944 Jan 31 2017 23:05:47 +00:00 /bootflash/csr1000v-mono-universalk9.03.16.05.S.155-3.S5-ext.SPA.pkg
CSR-1#
CSR-1#show version | i 15
Cisco IOS Software, CSR1000V Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 15.5(3)S5, RELEASE SOFTWARE (fc2)

設定

出た当初よりずいぶんすっきりしました。

IOS-config
transport-map type persistent webui https-webui
 secure-server
!
username cisco privilege 15 password 0 cisco
!
virtual-service csr_mgmt
 ip shared host-interface GigabitEthernet1
 activate
!
no ip http server
ip http authentication local
ip http secure-server
!         
transport type persistent webui input https-webui

REST-APIサービス起動とオプション設定。

IOS-rest
CSR-1(config)#remote-management 
CSR-1(cfg-remote-mgmt)#?
  default      Set a command to its defaults
  exit         exit remote management configuration submode
  no           Negate a command or set its defaults
  pnsc         Prime Network Services Controller and Policy Agent configuration
  restful-api  RESTful API

CSR-1(cfg-remote-mgmt)#rest
CSR-1(cfg-remote-mgmt)#restful-api ?
  autosave        Automatic configuration saving interval
  local-port      Local port for secure access to RESTful API
  single-session  Limit RESTful API to one session at a time
  <cr>

確認

IOS-show
CSR-1#show virtual-service detail 
Virtual service csr_mgmt detail
  State                 : Activated
  Package information
    Name                : iosxe-remote-mgmt.03.16.05.S.155-3.S5-ext.ova
    Path                : bootflash:/iosxe-remote-mgmt.03.16.05.S.155-3.S5-ext.ova
    Application
      Name              : csr_mgmt
      Installed version : 03.16.04
      Description       : CSR-MGMT
    Signing
      Key type          : Cisco development key
      Method            : SHA-1
    Licensing
      Name              : Not Available
      Version           : Not Available

  Detailed guest status

----------------------------------------------------------------------
Process               Status            Uptime           # of restarts
----------------------------------------------------------------------
nginx                  UP         0Y 0W 0D  1: 2: 2        0
climgr                 UP         0Y 0W 0D  1: 2: 2        0
restful_api            UP         0Y 0W 0D  1: 2: 2        0
fcgicpa                Down      
pnscag                 Down      
pnscdme                Down      
----------------------------------------------------------------------
Feature         Status                 Configuration
----------------------------------------------------------------------
Restful API   Disabled, UP             
PNSC          Disabled, Down

Network stats:
 eth0: RX  packets:1868, TX  packets:6
 eth1: RX  packets:185, TX  packets:139

Coredump file(s): lost+found

  Activated profile name: None
  Resource reservation
    Disk                : 756 MB
    Memory              : 512 MB
    CPU                 : 5% system CPU

  Attached devices
    Type              Name        Alias            
    ---------------------------------------------
    NIC               ieobc_1     ieobc            
    NIC               dp_1_33     net2             
    Disk              _rootfs                      
    Disk              /opt/var                     
    Disk              /opt/va...                   
    Serial/shell                  serial0          
    Serial/aux                    serial1          
    Serial/Syslog                 serial2          
    Serial/Trace                  serial3          
    Watchdog          watchdo...                   

  Network interfaces
    MAC address             Attached to interface           
    ------------------------------------------------------
    54:0E:00:0B:0C:02       ieobc_1                         
    00:50:56:A2:22:D3       VirtualPortGroup33              

  Guest interface
  ---
  Interface: eth1
  ip address: 10.71.130.57/21

  ---

  Guest routes
  ---
  Address/Mask                         Next Hop                          Intf.
-------------------------------------------------------------------------------

  ---

  Resource admission (without profile) : passed
    Disk space    : 756MB
    Memory        : 512MB 
    CPU           : 5% system CPU 
    VCPUs         : Not specified

POSTMANでToken取得

  • トークンサービスのAPIにPOST
  • ベーシック認証(ヘッダは自動補完してくれます)
  • ヘッダに Accept Application/json を追加

SS 2017-03-10 13.47.56.png

SS 2017-03-10 13.48.27.png

これで実行すると、以下のようにtoken-idが返ってきます。以降はこれをX-Auth-Tokenとしてヘッダに入れると、読み書きにアクセスできます。

SS 2017-03-10 13.48.42.png

POSTMANでインターフェース情報取得する例

SS 2017-03-10 13.56.03.png

以上です。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2