ブログニフクラやクラウドの技術について、エンジニアが語るブログです。ブログニフクラやクラウドの技術について、エンジニアが語るブログです。SDKの解説を踏まえて、CakePHPで簡易的なコントロールパネルを作ってみたので紹介してみたいと思います。今回実装したのは以下の3つの機能になります。今回はCakePHPのブラグインとして実装したので、比較的簡単に皆さんのプロジェクトにも組み込んで使っていただけるのでは無いかと思います。*今回公開するプラグインには認証機能などは含まれていませんので、制限のかかっていない環境への配置は絶対にしないでください!ではまずはインストール方法から説明します。CakePHPの設定まずは、通常通り最新のCakePHPを以下からダウンロードし展開し、通常通りの初期設定をします。defaultのデータソースに接続可能なデータベースを設定CakePHPの設定に関しては、以前書いた記事や設定用スクリプトも参考にしてみてください。設定完了後、CakePHPを配置したURLにアクセスすると以下のように表示されると思います。今回のプラグインを試用するだけであればデータベースは使用しないのですが、なにも設定しないとエラーが出てしまうので接続可能なデータベースの設定をしてください。SDKと今回作成したプラグインをダウンロードして配置します。アカウントのAPI認証キーを登録します。NiftyCloudのコントロールパネル上の「API認証」よりREST用認証キーを作成し以下のように設定します。ファイルの最後に以下の様に認証キーの設定を追加します。"アクセスキーを入力",));これでプラグインの準備は完了です。サーバー一覧CakePHPを配置したURL配下の以下のURLにアクセスすると、サーバーの一覧が表示されます。indexアクションになります。findメソッドを呼んでビューにセットしています。メソッドを呼んで、レスポンスデータを元に標準的なCakePHPの形式の配列を生成しているだけです。サーバー起動サーバーの起動画面は下記のようになっています。以下がコントローラ、モデルのコードですが、こちらもコントローラのアクションは通常のCakePHPアプリとほぼ同様です。SDK用のパラメータを生成して、start_instancesを呼び出しています。今回は、OSイメージの一覧やサーバータイプ一覧は実装を出来るだけシンプルする為に、instances_controller内に固定データとして定義しています。!$this->api->isError();}stop_instancesはstart_instanceと内容的にあまり差異もないので説明は省略します。おまけ今回、web経由でのサーバー起動/停止のみですが、おまけとしてCakePHPのシェルコマンドでも同様の操作が出来る機能も実装しました。それぞれ下記のようにコマンドラインから実行出来ます。サーバー名CLIを使えば色々な操作がコマンドラインからできますが、まぁPHPからも出来たら良いよねってことでおまけでした。まとめAPIを使えばサーバーの操作はとても簡単に実装出来るのでいろいろ試して自動化出来ると面白いのではないかと思います。今回作成したプラグインはgithubにあげてあります。これを拡張すれば例えば、ユーザー毎に操作出来るサーバーを限定するとかいろいろ出来ると思います。»プロフィールニフクラとは、VMwareを基盤とした国産のパブリック型クラウドサービスです。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。