前回の記事で、 Vscaleにはシンプルで便利なAPIがあり、開発者とインフラストラクチャの相互作用を大幅に簡素化することを伝えました 。 今日は、APIの機能と機能について詳しく説明します。
Vscale APIはapi.vscale.io/v1にあります。
これを使用すると、コントロールパネルと同じアクションを実行できます。
- サーバーの作成と削除。
- サーバー構成をより効率的な構成に変更し、別の料金プランに切り替えます。
- サーバーの切断、有効化、再起動。
- アカウントから支払いと借方に関する情報を受け取ります。
- チケットシステムの操作(新しいチケットの作成、コメントの送信、チケットのクローズ)。
相互作用は、標準のHTTP要求を使用して実行されます。 データ交換には、JSON形式が使用されます。
リクエストが正常に処理されると、APIはオブジェクトモデルをJSON形式で返します。 エラーが発生した場合、そのコードと簡単な説明(Vscale-Error-Messageヘッダーに含まれています)を受け取ります。
トークン生成
APIの使用を開始するには、最初に完全な登録手順(SMS確認を含む)を実行して、残高を補充する必要があります。 トークンは、ユーザーを識別するために使用されます。 トークンを取得するには、コントロールパネルにログインして設定ページに移動します 。
ページの左側にあるメニューで、「トークン管理」を選択します。
[トークンの作成]ボタンをクリックします。 次のウィンドウが開きます。
適切なフィールドにトークンの簡単な説明を入力します。 「トークンタイプ」チェックボックスに注意してください。 APIトークンは2つのタイプに分けられます。
- フル機能-あらゆる種類のクエリで使用して、可能なすべての操作を実行できます。
- 読み取り専用トークン-GETリクエストでのみ使用できます。 それらで実行される操作の数は限られています(たとえば、そのようなトークンを使用してサーバーのリストや使用可能な構成を表示できますが、新しいサーバーを作成することはできません)。
必要な設定を設定したら、「トークンを生成」ボタンをクリックします。 その後、新しいトークンがリストに追加されます。 X-Tokenヘッダーのすべてのリクエストで渡す必要があります。
必要な数のトークンを生成できます。 トークンの有効期限は無制限です。
新しいサーバーを作成する
最初のサーバー名を聞かせて、その後、OSの形状や画像を選択し、最後にアクセス方法を設定する必要があります。前回の記事で説明したように、私たちは、新しいサーバーを作成するための手順を思い出してみましょう。 APIを介してサーバーを作成する場合、必要なすべてのサーバー特性がリクエスト本文で送信されます。 必須パラメーターのリストは次のとおりです。
- make_from-サーバーへのインストール用に選択されたOSイメージ:debian_8.1_64_001_master、centos_7.1_64_001_master、ubuntu_14.04_64_002_master(使用可能なイメージのリストを取得する方法の詳細については、 こちらをお読みください );
- rplan-サーバー構成名。 前の記事から、5つの利用可能な構成を提供していることを既に知っています。 名前は(昇順で)小、中、大、大、怪物です。 構成のリストを取得する方法の詳細については、APIドキュメントをご覧ください。
- do_start:true-インストール直後にサーバーを起動する必要があることを示すサービスパラメータ。
- name-サーバー名;
- キー-サーバーへのアクセスに使用されるSSHキーの識別番号(SSHキーの管理については、 こちらを参照してください);
- パスワード-パスワード(パスワードアクセスが必要な場合);
- locations-サーバーが配置されるデータセンター(現在、このパラメーターに指定できる値はspbのみ)。
ここでは、サーバーの作成上の例のクエリは次のとおりです。
$ 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のバージョン - 最初。 それは、あなたの意見では、いくつかの機能が欠けている場合は、私たちに知らせてください。 私たちは、必ずしも次のバージョンの作業に考慮して最も興味深い提言や提案。