なんてことはない話です。
AWSのOpsworks上での操作において、あるプロジェクトでは運用上コメントを書いてボタンをポチする必要があるケースがあります。先日コメントを書き忘れる事案が発生したので、ユーザースクリプトでちょっと工夫しました。
これで回避できるのか?という感じもしますけどとりあえずはやってみましょう。
まず、ブラウザにTampermonkeyを入れます。ユーザースクリプトを登録したり自分で書いたりできるブラウザ拡張です。
Tampermonkeyをインストールしたらおもむろにスクリプトを書きます。
// ==UserScript==
// @name name
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://console.aws.amazon.com/opsworks/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Your code here...
setTimeout(function() {
$('button[data-action="deploy.app"]').prop("disabled", true);
}, 5000);
$(document).on('change', 'textarea#deployment_comment', function() {
$('button[data-action="deploy.app"]').prop("disabled", false);
})
})();
今回は
- ボタンをdisabledにする
- コメントのテキストエリアを変更したらボタンがenabledになる
としました。
画面的にはこんな感じです。右下のボタンはページロード後に追加で表示されるため、表示後にdisabledにしてあげる必要があります。きちんとやるのは面倒だったので適当に5秒待ってから実施しています。
コメントを書かないと右下のボタンを押せません。厳密に言うと文字を入れてから消した場合にもボタンが押せちゃいますが、それはそれでOKとします。特定のプロジェクトにのみ必要な対応なのです。
ユーザースタイルとかユーザースクリプト、個人的にはあまり使わないですが、運用上気をつけないといけないことに対応する用途はいいかもですね。本番サイトに警告を出すみたいなことが柔軟できそうだし。