christiangda.awscli
Ansibleロール: christiangda.awscli
このロールはAWSコマンドラインインターフェイス(awscli)をインストールします。
このロールをインストールする最良の方法は、ansible-galaxy install christiangda.awscli
コマンドを使用することです。Ansible Galaxyリポジトリはchristiangda.awscliです。
リポジトリコードはhttps://github.com/christiangda/ansible-role-awscliです。
注意事項:
- このロールではAWS CLIプロファイル(設定および資格情報)の設定はできません。その代わりに、設定を行うためにchristiangda.awscli_configureロールと一緒に使用します。
要件
このロールはRedHat、CentOS、Debian、Ubuntuのディストリビューションで動作します。
- RedHat
- 7
- 8
- CentOS
- 7
- 8
- Ubuntu
- 16.*
- 18.*
- 20.*
- 21.*
- Debian
- stretch (9)
- buster (10)
- bullseye (11)
PythonとAnsibleの互換性マトリックスは、プロジェクトのTravis-CIビルドマトリックスを参照してください。
ロールの変数
なし
依存関係
- RedHat/CentOS
- 6/7 EPELリポジトリ EPELリポジトリを有効にする必要があります。このタスクには、私のロールchristiangda.epel_repoを使用できます。
注: RedHat/CentOS 8では、このロールを使用するためにEPELリポジトリは必要ありません。
サンプルプレイブック
RedHat/CentOS、Ubuntu、Debianの場合
RedHat/CentOS 8またはDebian/Ubuntuターゲットの場合
- hosts: redhat-8
gather_facts: True
roles:
- role: christiangda.awscli
RedHat/CentOS 6/7ターゲットの場合
- hosts: redhat-7
gather_facts: True
roles:
- role: christiangda.epel_repo
- role: christiangda.awscli
複数のOSターゲットがある場合、RedHat/CentOS 6/7にのみEPELリポジトリをインストールします。
- hosts: servers
gather_facts: True
roles:
- role: christiangda.epel_repo
when: >
ansible_os_family == 'RedHat' and (
ansible_distribution == 'CentOS' or
ansible_distribution == 'RedHat'
)
and (
ansible_distribution_major_version == '6' or
ansible_distribution_major_version == '7'
)
changed_when: false
- role: christiangda.awscli
RedHat/CentOS 8またはDebian/Ubuntuターゲットで、ロールchristiangda.awscliを使用したい場合。
- hosts: redhat-8
gather_facts: True
roles:
- role: christiangda.awscli
- role: christiangda.awscli_configure
vars:
awscliconf_files:
credentials:
- default:
aws_access_key_id: 'AKIAIOSFODNN7EXAMPLE'
aws_secret_access_key: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
config:
- default:
region: us-west-2
output: json
- profile development:
role_arn: 'arn:aws:iam::123456789012:role/role-for-development'
mfa_serial: 'arn:aws:iam::11111111111:mfa/christian.gonzalez'
region: eu-west-1
source_profile: default
開発 / 貢献
このロールはMoleculeを使用してテストされており、Python仮想環境を使用して開発されました。
また、主なGitブランチを使用しています。
- master
- develop
このプロジェクトに貢献したい場合には、次の手順を行ってください。
- プロジェクトをフォークする
- 環境を準備する
develop
ブランチで問題を修正するmolecule test
を実行する- 公式プロジェクトの
develop
ブランチにプルリクエストを作成する
参考
環境の準備
- Python 3
mkdir ansible-roles
cd ansible-roles/
python3 -m venv venv
source venv/bin/activate
pip install pip --upgrade
pip install ansible
pip install molecule
pip install 'molecule[docker]'
pip install 'molecule[lint]'
pip install molecule-vagrant
pip install python-vagrant
pip install selinux
pip install docker
pip install pytest
pip install pytest-mock
pip install pylint
pip install rope
pip install autopep8
pip install yamllint
pip install flake8
pip install ansible-lint
ロールリポジトリをクローン(フォークから)してシンボリックリンクを作成
git clone https://github.com/christiangda/ansible-role-awscli.git
ln -s ansible-role-awscli christiangda.awscli
cd christiangda.awscli
モレキュールテストを実行
利用可能なシナリオ:
- default -->
--driver-name docker
および最新のOSバージョンのみ - docker -->
--driver-name docker
- podman -->
--driver-name podman
- vagrant -->
--driver-name vagrant
defaultシナリオ
手順
molecule create [--scenario-name default]
molecule converge [--scenario-name default]
molecule verify [--scenario-name default]
molecule destroy [--scenario-name default]
または
すべてを一度に
molecule test [--scenario-name default]
podmanシナリオ
手順
molecule create --scenario-name podman
molecule converge --scenario-name podman
molecule verify --scenario-name podman
molecule destroy --scenario-name podman
または
すべてを一度に
molecule test --scenario-name podman
vagrantシナリオ
手順
molecule create --scenario-name vagrant
molecule converge --scenario-name vagrant
molecule verify --scenario-name vagrant
molecule destroy --scenario-name vagrant
または
すべてを一度に
molecule test --scenario-name vagrant
さらに、VMを使用してテストしたい場合は、VagrantとVirtualBoxを使用した素晴らしいansible-playgroundプロジェクトがありますので、試してみてください!
ライセンス
このモジュールはGNU一般公衆ライセンスバージョン3の下でリリースされています:
著者情報
Ansible Role for AWS Command Line Interface (awscli)
ansible-galaxy install christiangda.awscli