Vscale APIの使用



前回の記事で、 Vscaleにはシンプルで便利なAPIがあり、開発者とインフラストラクチャの相互作用を大幅に簡素化することを伝えました 。 今日は、APIの機能と機能について詳しく説明します。

Vscale APIはapi.vscale.io/v1にあります。
これを使用すると、コントロールパネルと同じアクションを実行できます。



相互作用は、標準のHTTP要求を使用して実行されます。 データ交換には、JSON形式が使用されます。
リクエストが正常に処理されると、APIはオブジェクトモデルをJSON形式で返します。 エラーが発生した場合、そのコードと簡単な説明(Vscale-Error-Messageヘッダーに含まれています)を受け取ります。


トークン生成



APIの使用を開始するには、最初に完全な登録手順(SMS確認を含む)を実行して、残高を補充する必要があります。 トークンは、ユーザーを識別するために使用されます。 トークンを取得するには、コントロールパネルにログインして設定ページに移動します
ページの左側にあるメニューで、「トークン管理」を選択します。

[トークンの作成]ボタンをクリックします。 次のウィンドウが開きます。



適切なフィールドにトークンの簡単な説明を入力します。 「トークンタイプ」チェックボックスに注意してください。 APIトークンは2つのタイプに分けられます。



必要な設定を設定したら、「トークンを生成」ボタンをクリックします。 その後、新しいトークンがリストに追加されます。 X-Tokenヘッダーのすべてのリクエストで渡す必要があります。
必要な数のトークンを生成できます。 トークンの有効期限は無制限です。

新しいサーバーを作成する



最初のサーバー名を聞かせて、その後、OSの形状や画像を選択し、最後にアクセス方法を設定する必要があります。前回の記事で説明したように、私たちは、新しいサーバーを作成するための手順を思い出してみましょう。 APIを介してサーバーを作成する場合、必要なすべてのサーバー特性がリクエスト本文で送信されます。 必須パラメーターのリストは次のとおりです。



ここでは、サーバーの作成上の例のクエリは次のとおりです。

$ curl -i -X POST 'https://api.vscale.io/v1/scalets' -d '{"make_from":"ubuntu_14.04_64_002_master","rplan":"medium","do_start":true,"name":"My First Server","keys":[92],"location":"spb0"}' -H 'X-Token:5c22a088f3b37c933e7480399f1e09258d6977bcd1eb2401de29e8001c9bedc36'


リクエストが正しく処理されると、リクエストで転送されたすべての特性と、いくつかの追加のユーティリティパラメータを含むレスポンスが返されます。

{"name": "Icy-Mysterious", "deleted": null, "rplan": "medium", "made_from": "ubuntu_14.04_64_002_master", "status": "defined", "hostname": "cs14174.vscale.io", "created": "27.08.2015 10:03:07", "ctid": 12600, "private_address": {}, "location": "spb0", "keys": [{"name": "key", "id": 92}], "public_address": {}, "active": false, "locked": true}


現在の操作のステータス



フィールドの状態は、前のセクションと表情のサンプル応答を確認した後。 論理的には、サーバーが正常に作成で作成した状態に戻す必要がありますが、上記の例では、対応するパラメータは異なる値を持っています - 定義されました。 グラフィカルインタフェースを介してサーバの作成、状態の変化をリアルタイムで観察することができます。 APIは、そのような可能性はない、とオブジェクトの種類は即座に変更されません。
api.vscale.io/v1/tasksに対して GETリクエストを実行することにより、現在のすべての操作のステータスに関する情報を表示できます。

$ curl -i api.vscale.io/v1/tasks

[{"location": "spb0", "d_insert": "2015-08-28 12:37:48", "id": "3a447f17-3577-4c16-b26c-27bd52faa7c1", "done": false, "scalet": 12835, "error": false, "d_start": "2015-08-28 09:37:48", "method": "scalet_create", "d_end": null}


与えられた答えの例から、サーバー作成操作が現在実行されている(「method」:「scalet_create」)、まだ完了していない(「done」:false)、実行中にエラーが検出されなかった(「error」)偽)。

サーバと運用



コンフィギュレーションのアップグレード



C APIを使用して、あなたは常に、より生産的に、現在の設定で行くことができます。 再構成下向き(ダウングレード)は不可能。
私たちのコンフィギュレーションを作成するとき、我々はテストサーバーのメディアを選択しています。 大に変更します。

$ curl 'https://api.vscale.io/v1/scalets/12600/upgrade'-X POST -d '{"rplan":"large"}' -H 'X-Token: 5c22a088f3b37c933e7480399f1e09258d6977bcd1eb2401de29e8001c9bedc36'


成功した場合、要求はサーバーに関する情報で答えを返されます。

{"private_address": {}, "name": "New-Eyelid", "hostname": "cs12600.vscale.io", "public_address": {"address": "95.213.195.101", "netmask": "255.255.255.0", "gateway": "95.213.195.1"}, "keys": [{"id": 72, "name": "key"}], "made_from": "ubuntu_14.04_64_002_master", "created": "27.08.2015 14:28:51", "ctid": 12600, "status": "updated", "active": true, "locked": false, "deleted": null, "rplan": "medium", "location": "spb0"}


サーバーを再起動します



サーバーは、PATCH要求を使用して再起動されます。 例:

$ curl -i -X PATCH api.vscale.io/v1/scalets/12600/restart -d '{"id": "12600"}' -H 'X-Token: 5c22a088f3b37c933e7480399f1e09258d6977bcd1eb2401de29e8001c9bedc36'


応答には、リブートされたサーバーのパラメーターがリストされます。

サーバーのシャットダウンと電源投入



無効化とサーバーを有効にするともPATCH-要求を使用して行います:

 #シャットダウンサーバー

$ curl -i -X PATCH api.vsale.io/v1/scalets/12600/stop -d '{"id": "12600"}' -H 'X-Token: 5c22a088f3b37c933e7480399f1e09258d6977bcd1eb2401de29e8001c9bedc36


 #サーバーを有効にします 

$ curl -i -X PATCH api.vsale.io/v1/scalets/12600/start -d '{"id": "12600"}' -H 'X-Token: 5c22a088f3b37c933e7480399f1e09258d6977bcd1eb2401de29e8001c9bedc36'


サーバーを削除します



サーバーを削除するには、DELETEリクエストを実行する必要があります。

$ curl -i -X DELETE api.vscale.io/v1/scalets/12600 -H 'X-Token: 5c22a088f3b37c933e7480399f1e09258d6977bcd1eb2401de29e8001c9bedc36'


応答は、リモートサーバーのパラメーターを返します。

おわりに



この記事では、我々はあなたがAPI Vscaleの助けを借りて、あなたのサーバーを管理する方法を説明しました。 これは、機能のAPIのごく一部だけです:のすべての機能についての詳細は公式ドキュメント 。 フィードバックをお願いします。
あなたの注意に提供されるAPIのバージョン - 最初。 それは、あなたの意見では、いくつかの機能が欠けている場合は、私たちに知らせてください。 私たちは、必ずしも次のバージョンの作業に考慮して最も興味深い提言や提案。

Source: https://habr.com/ru/post/J266655/


All Articles