- Systemモジュール: Systemモジュールは、システムレベルのタスクを実行するために使用されます。例えば、ファイルの作成や削除、パッケージのインストール、サービスの起動や停止などが含まれます。
コード例:
- name: ファイルの作成
file:
path: /path/to/file.txt
state: touch
- name: パッケージのインストール
package:
name: nginx
state: present
- name: サービスの起動
service:
name: nginx
state: started
- Commandsモジュール: Commandsモジュールは、コマンドラインコマンドを実行するために使用されます。任意のコマンドを実行し、その結果を取得することができます。
コード例:
- name: コマンドの実行
command: ls -l
register: result
- name: 結果の表示
debug:
var: result.stdout_lines
- Filesモジュール: Filesモジュールは、ファイルやディレクトリに関連するタスクを実行するために使用されます。ファイルのコピー、権限の設定、所有者の変更などが含まれます。
コード例:
- name: ファイルのコピー
copy:
src: /path/to/source/file.txt
dest: /path/to/destination/file.txt
- name: 権限の設定
file:
path: /path/to/file.txt
mode: 0644
- name: 所有者の変更
file:
path: /path/to/file.txt
owner: root
group: root
- Databaseモジュール: Databaseモジュールは、データベースに関連するタスクを実行するために使用されます。データベースの作成、テーブルの作成、クエリの実行などが含まれます。
コード例:
- name: データベースの作成
postgresql_db:
name: mydatabase
state: present
- name: テーブルの作成
postgresql_table:
db: mydatabase
name: mytable
state: present
columns:
- name: id
type: serial
primary_key: yes
- name: name
type: text
- name: クエリの実行
postgresql_query:
db: mydatabase
query: "SELECT * FROM mytable"
Ansibleにはさまざまなモジュールがありますが、上記のモジュールは一般的によく使用されるものです。これらのコード例を参考にしながら、Ansibleのモジュールを使用してインフラストラクチャの自動化を行ってみてください。