キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
552
閲覧回数
5
いいね!
0
コメント
kaihosok
Cisco Employee
Cisco Employee

 

 

 

はじめに

本ドキュメントでは、CML で使用できるスクリプトを作成する例として、ラボのスタートを行うスクリプトを作成した際の流れについて記載します。
※本ドキュメントに記載している方法やスクリプトは例となります。推奨の方法を示しているというドキュメントではありません。

  

ラボをスタートする start.py を作る

CML に対して使用できるサンプルスクリプトを提示している以下のページには、停止しているラボをスタートするスクリプトがありませんでした。
Cisco Modeling Labs (CML) API Demo for simulation lifecycle 

そこで、ラボをスタートするスクリプト start.py を作成します。
スクリプトを0から作成することも可能ですが、今回はサンプルスクリプトが存在するため、delete.py をベースに作成することにします。

delete.py は、def get_token と def delete_lab が記述されています。認証のTokenを取得することは、今から作成する start.py でも必要となるため、その部分は残し、def delete_lab を変更することでラボをスタートするスクリプトを実現する方針とします。

def delete_lab に含まれる以下の部分が削除のための requests 部分となるため、Start するコードに書き換えます。

    api_call = "/v0/labs/" + deletelabid
    url = url + api_call
response = requests.delete(url, headers=headers, verify=False)

CML 2.x API で確認すると、ラボの削除は以下の記述であることも確認できます。

1486_97_1.png

同様に、CML 2.x API で確認すると、ラボのスタートは以下の記述であることも確認できます。

1466_100_1.png

よって、以下のように def start_lab を作成することで、ラボを開始するスクリプト start.py となります。 
def start_lab(token, url):
    token = 'Bearer' + ' ' + token
    headers = {
		'accept': 'application/json',
		'Authorization': token
	}

    startlabid = input("Please input lab ID to be started? [type q to quit]: ")

    api_call = "/v0/labs/" + startlabid
    url_start = url + api_call + "/start"
    response = requests.put(url_start,headers=headers,verify=False)

    print(response)

if __name__ == "__main__":
    auth_token = get_token(CML_URL, CML_USER, CML_PASS)
    start_lab(auth_token, CML_URL)

使用する際は、スタートするラボ ID を確認した上で実行します。
今回の場合、例としてラボ ID 85cb5b のラボをスタートします。

# Start the lab id with start.py
C:\Users\kaihosok>python start.py
Please input lab ID to be started? [type q to quit]: 85cb5b
<Response [200]>

 

最後になりますが、本ドキュメントで記載されている内容は、あくまで例となります。そのため必要に応じて検証や書き換えを行う必要があります。(例外処理や、requests のTimeout など)

    

参考情報

Cisco Modeling Labs 
Cisco Modeling Labs Release Notes 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう! 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします