ansibleのitemsとwith_itemsを理解する
2022-02-18 07:27:29
item はループ変数です。
################################## Variable Naming
Variable names can only consist of letters, numbers, and underscores and can only start with a letter.
################################## facts
facts is information sent back from the remote target host that is communicating. This information is stored in the ansible variable. To get all the facts supported by a given remote host, use the following command
# ansible hostname -m setup This command obtains various information about the monitored host and saves this information to a variable.
################################ Custom Variables
Variables can be defined in yaml using the vars keyword
vars:
var_name: value
############################# Reference to a variable
{
{ var_name }}
########################### Special Variable Iteration
The iteration mechanism can be used when there is a task that needs to be performed repeatedly. The format is to define the content to be iterated over as an item variable reference and specify the list of elements to be iterated over with the with_items statement.
####################################### example
For example, adding 2 users to the Controlled side
The general approach for method 1
- name: add user testuser1
user: name=testuser1 state=present groups=wheel
- name: add user testuser2
user: name=testuser2 state=present groups=wheel
Way 2 uses the variable way
- name: add several users
vars:
user1: testuser1
user2: testuser2
user: name={
{ user1 }} state=present groups=wheel
user: name={
{ user2 }} state=present groups=wheel
Way 3 uses the iterative approach
- name: add several users
user: name={
{ item }} state=present groups=wheel
with_items:
- testuser1
- testuser2
In fact with_items can use elements that can also be hashes for example
- name: add several users
user: name={
{ item.name }} state=present groups={
{ item.groups }}
with_items:
- { name: 'testuser1', groups: 'wheel' }
- { name: 'testuser2', groups: 'root' }
参考資料
http://os.51cto.com/art/201409/451927_all.htm
関連
-
ssh@host:""ssh スイッチで他のマシンで複数のコマンドを実行する。stdin はターミナルではないので、擬似ターミナルは割り当てられない。
-
Ubuntu で vs code のソースファイル "iostream" を開けない。
-
fatal:'origin' は git リポジトリでないようです fatal:Could not read from the remote repository
-
linux環境:警告。ISO C++は文字列定数を'char*'に変換することを禁じている[-Write-strings]。
-
kill はプロセスを終了させることができません
-
を作ってください。*** ターゲットが指定されておらず、makefileも見つかりませんでした。
-
scpコマンドが通常のファイルでないことを報告する問題の解決法
-
scp error not a regular file
-
テキストファイルのビジー状態
-
要求された URL * はこのサーバーで見つかりませんでした。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedmakefile:4: *** セパレータがありません。
-
オフラインのデバイスをadbで表示させる解決方法
-
コマンドラインからDSOが見つからないことに遭遇した
-
ERR_CONTENT_LENGTH_MISMATCH 問題解決のためのハンドブック
-
ImportError を解決してください: libcublas.so.9.0: 共有オブジェクトファイルを開くことができません。そのようなファイルはありません
-
BadPaddingException:与えられた最終ブロックが適切にパディングされていない
-
makeの問題解決。*** ターゲットが指定されておらず、makefileも見つかりません。
-
CentOS 7のインストールとDockerの展開
-
c/c++][gcc] 'std::basic_string ...' への未定義の参照。
-
Werror=unused-but-set-variableエラーの解決法