ホーム > Ansible Tower・AWX リファレンス
ジョブテンプレート実行時に対話方式で追加変数を設定することが出来る「Survey」の入力フォーム(回答タイプ)をまとめてみました。
また、Surveyで設定した追加変数が処理上、どのように扱われるのかも確認してみたいと思います。
回答タイプ:テキスト
回答タイプ「テキスト」では、任意の文字列を入力することが可能です。
文字列には「最小長」(最小の文字数)と「最大長」(最大の文字数)を設定することが可能です。
また、「デフォルトの応答」を設定しておくことで、入力欄に元から文字列を入れておくことが可能です。
下記のように、一度作成した Survey は、プレビューとして確認することが出来ます。
「デフォルトの応答」に「日本語」を設定した場合は、プレビュー上で正しく表示されない点は注意が必要です。
後述する「Textarea」(テキストエリア)では、日本語でも正しく表示されます。
Surveyで入力した値が処理上どのようになるか見てみます。
下記の実行結果から、入力した値が、変数「s_type_text」に「文字列型」で格納されていることが分かります。
TASK [回答タイプ「テキスト」の内容確認] ********************************************************
ok: [localhost] => {
"msg": [
"型の確認:AnsibleUnsafeText",
"値の確認:デフォルト値"
]
}
回答タイプ:Textarea(テキストエリア)
回答タイプ「Textarea」では、改行を含めた任意の文字列を入力することが可能です。
文字列には「最小長」(最小の文字数)と「最大長」(最大の文字数)を設定することが可能です。
また、「デフォルトの応答」を設定しておくことで、入力欄に元から文字列を入れておくことが可能です。
Surveyで入力した値が処理上どのようになるか見てみます。
下記の実行結果から、入力した値が、変数「s_type_textarea」に「文字列型」で格納されていることが分かります。
改行は「\n」となっています。
TASK [回答タイプ「テキストエリア」の内容確認] *****************************************************
ok: [localhost] => {
"msg": [
"型の確認:AnsibleUnsafeText",
"値の確認:あいうえお\nかきくけこ\nさしすせそ"
]
}
回答タイプ:パスワード
回答タイプ「パスワード」では、入力した文字列が表示されないダイアログになります。
(表示・非表示ボタンで文字列を表示させるかを切り替えることも可能です。)
文字列には「最小長」(最小の文字数)と「最大長」(最大の文字数)を設定することが可能です。
また、「デフォルトの応答」を設定しておくことで、入力欄に元から文字列を入れておくことが可能です。
デフォルト値として設定し、保存した文字列は、表示ボタンで表示させた場合も暗号化され「$encrypted$」と表示されます。
Surveyで入力した値が処理上どのようになるか見てみます。
下記の実行結果から、入力した値が、変数「s_type_password」に「文字列型」で格納されていることが分かります。
また、Surveyでのパスワードは認証情報に登録したパスワードと違い、入力された値が平文で格納されている点は注意が必要です。
TASK [回答タイプ「パスワード」の内容確認] *******************************************************
ok: [localhost] => {
"msg": [
"型の確認:AnsibleUnsafeText",
"値の確認:abcd"
]
}
回答タイプ:複数の選択(単一の選択)
回答タイプ「複数の選択(単一の選択)」では、事前に用意した複数の選択肢から1つを選択させることが可能です。
「複数の選択オプション」に、1行1選択肢として設定します。
「デフォルトの応答」を設定しておくことで、テンプレート実行時に設定した値が入力された状態で表示されます。これは、別の値に切り替えることも可能です。
また、「デフォルトの応答」で設定可能な値は、「複数の選択オプション」に設定した値に含まれている必要があります。
Surveyで入力した値が処理上どのようになるか見てみます。
下記の実行結果から、入力した値が、変数「s_type_select_single」に「文字列型」で格納されていることが分かります。
TASK [回答タイプ「複数の選択(単一の選択)」の内容確認] ************************************************
ok: [localhost] => {
"msg": [
"型の確認:AnsibleUnsafeText",
"値の確認:選択肢2"
]
}
回答タイプ:複数の選択(複数の選択)
回答タイプ「複数の選択(複数の選択)」では、事前に用意した複数の選択肢から任意の組み合わせで選択させることが可能です。
「複数の選択オプション」に、1行1選択肢として設定します。
「デフォルトの応答」を設定しておくことで、テンプレート実行時に設定した値が入力された状態で表示されます。これは、別の値に切り替えることも可能です。
「単一の選択」フォームとは異なり、こちらは複数の値を設定しておくことが可能です。
また、「デフォルトの応答」で設定可能な値は、「複数の選択オプション」に設定した値に含まれている必要があります。
Surveyで入力した値が処理上どのようになるか見てみます。
下記の実行結果から、入力した値が、変数「s_type_select_multi」に「リスト型」で格納されていることが分かります。
TASK [回答タイプ「複数の選択(複数の選択)」の内容確認] ************************************************
ok: [localhost] => {
"msg": [
"型の確認:list",
"値の確認:['選択肢10', '選択肢20', '選択肢30']"
]
}
回答タイプ:整数
回答タイプ「整数」では、整数のみ入力が許可されたダイアログを作成することが可能です。
(「0.5」などは設定することが出来ません。)
入力を許可する整数の範囲(最小・最大)も設定することが可能です。
「デフォルトの応答」を設定しておくことで、テンプレート実行時に設定した値が入力された状態で表示されます。
Surveyで入力した値が処理上どのようになるか見てみます。
下記の実行結果から、入力した値が、変数「s_type_int」に「整数型」で格納されていることが分かります。
TASK [回答タイプ「整数」の内容確認] **********************************************************
ok: [localhost] => {
"msg": [
"型の確認:int",
"値の確認:50"
]
}
回答タイプ:浮動
回答タイプ「浮動」では、整数と小数点を含めた数値の入力が許可されたダイアログを作成することが可能です。
入力を許可する数値の範囲(最小・最大)も設定することが可能です。
「デフォルトの応答」を設定しておくことで、テンプレート実行時に設定した値が入力された状態で表示されます。
Surveyで入力した値が処理上どのようになるか見てみます。
下記の実行結果から、入力した値が、変数「s_type_float」に「浮動小数点型」で格納されていることが分かります。
TASK [回答タイプ「浮動」の内容確認] **********************************************************
ok: [localhost] => {
"msg": [
"型の確認:float",
"値の確認:0.5"
]
}
記事は以上です。様々な入力フォームがありましたね。Surveyを利用することで、1つのテンプレートの汎用性を高めることが可能となります。しっかり活用していきましょう!
コメント